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
@@ -1,9 +1,9 @@
1
1
  /**
2
- * SQLite registry/allowlist operations for the sync gateway.
2
+ * SQLite registry/allowlist operations for the sync provider.
3
3
  *
4
- * The local registry is the source of truth used to choose a gateway range.
4
+ * The local registry is the source of truth used to choose a provider range.
5
5
  * A caller cannot turn an arbitrary tab name into a sync target by merely
6
- * passing it to the gateway client.
6
+ * passing it to the provider client.
7
7
  */
8
8
  import { type RegisteredProjectionKind } from "../../../../domain/model/constants.js";
9
9
  import type { SqlExecutor, SqlStorageAdapter } from "../../../../adapter/persistence/contracts/sql.js";
@@ -25,7 +25,7 @@ export interface RegisterSyncSheetInput {
25
25
  /** Compatibility with the pre-foundation developer-metadata fixture path. */
26
26
  readonly anchorMode?: "business_key" | "developer_metadata";
27
27
  }
28
- /** Registry row used for all gateway requests. */
28
+ /** Registry row used for all provider requests. */
29
29
  export interface RegisteredSyncSheet {
30
30
  readonly logicalSheetId: string;
31
31
  readonly physicalSheetId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"syncRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/sync/shared/syncRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAsC1B,sEAAsE;AACtE,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE5D,4EAA4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,4FAA4F;IAC5F,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC;CAC7D;AAED,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,oBAAoB,CAAC;CAC5D;AAED,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAEpC;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CA+DlC;AAED,yEAAyE;AACzE,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,qFAAqF;AACrF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAS9B;AAED,sFAAsF;AACtF,wBAAsB,qCAAqC,CACzD,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
1
+ {"version":3,"file":"syncRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/sync/shared/syncRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAsC1B,sEAAsE;AACtE,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE5D,4EAA4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,4FAA4F;IAC5F,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC;CAC7D;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,oBAAoB,CAAC;CAC5D;AAED,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAEpC;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CA+DlC;AAED,yEAAyE;AACzE,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,qFAAqF;AACrF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAS9B;AAED,sFAAsF;AACtF,wBAAsB,qCAAqC,CACzD,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * SQLite registry/allowlist operations for the sync gateway.
2
+ * SQLite registry/allowlist operations for the sync provider.
3
3
  *
4
- * The local registry is the source of truth used to choose a gateway range.
4
+ * The local registry is the source of truth used to choose a provider range.
5
5
  * A caller cannot turn an arbitrary tab name into a sync target by merely
6
- * passing it to the gateway client.
6
+ * passing it to the provider client.
7
7
  */
8
8
  import { STORAGE_ERROR_CODES, StorageError } from "../../errors.js";
9
9
  import { REGISTERED_PROJECTION_KINDS, } from "../../../../domain/model/constants.js";
@@ -197,7 +197,7 @@ function isRegisteredProjection(value) {
197
197
  value === REGISTERED_PROJECTION_KINDS.SYSTEM_STATE ||
198
198
  value === REGISTERED_PROJECTION_KINDS.SYNC_CONFLICTS;
199
199
  }
200
- /** Normalizes the v1 whole-column gateway boundary to the form accepted by Apps Script. */
200
+ /** Normalizes the v1 whole-column provider boundary to the form accepted by the Sheets provider. */
201
201
  function normalizeRegisteredRange(value, errorCode) {
202
202
  const normalized = value.trim().toUpperCase();
203
203
  const match = /^([A-Z]+):([A-Z]+)$/.exec(normalized);
@@ -1 +1 @@
1
- {"version":3,"file":"syncRegistry.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/sync/shared/syncRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncRegistry.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/sync/shared/syncRegistry.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export type NormalizedCell = null | {
27
27
  readonly value: boolean;
28
28
  } | DateValue;
29
29
  /**
30
- * Physical Sheet metadata retained by the internal observation/gateway path.
30
+ * Physical Sheet metadata retained by the internal observation/provider path.
31
31
  * This compatibility type is intentionally not part of the public root API.
32
32
  */
33
33
  export interface CellObservation {
@@ -5,7 +5,7 @@ asynchronous human-facing projection. SQLite is the authority; Sheets is an
5
5
  internal service-side projection and human input surface.
6
6
 
7
7
  > The root package API is ORM-only. Sheet synchronization is implemented inside
8
- > `src`, but its bootstrap, gateway, worker, and storage contracts are not root
8
+ > `src`, but its bootstrap, worker, and storage contracts are not root
9
9
  > exports.
10
10
 
11
11
  ## System shape
@@ -20,7 +20,7 @@ Application code
20
20
  ├─ durable Sheet effect outbox
21
21
  ├─ outbound effect worker
22
22
  ├─ User_Input polling
23
- └─ Apps Script gateway
23
+ └─ sync provider (googleSheetsApi)
24
24
  └─ Google Sheets projections
25
25
  ```
26
26
 
@@ -35,15 +35,14 @@ src/domain/ pure normalization/evaluation/conflict rules
35
35
  src/application/orm/ public ORM facade and mapped flush planning
36
36
  src/application/sync/ internal sync engine and service bootstrap
37
37
  src/adapter/persistence/ SQLite/MikroORM implementation
38
- src/adapter/sheets/ Apps Script transport and operation adapter
38
+ src/adapter/sheets/ Google Sheets API provider (sync provider contracts + implementation)
39
39
  src/infrastructure/storage/ canonical, observation, resolution, outbox state
40
40
  src/api/ root-facing entity and EntityManager facade
41
41
  src/index.ts root public barrel only
42
- apps-script/gateway/ deployable Apps Script code
43
42
  ```
44
43
 
45
44
  `src` does not mean public. The only application-facing package entrypoint is
46
- `src/index.ts`; package subpaths for providers, gateway operations, polling,
45
+ `src/index.ts`; package subpaths for providers, sync operations, polling,
47
46
  and sync state are not part of the contract.
48
47
 
49
48
  ## Root public API
@@ -76,7 +75,7 @@ await em.flush();
76
75
  The public surface contains entity definition, runtime creation, and the
77
76
  request-local `EntityManager` lifecycle: `fork()`, `create()`, `find()`,
78
77
  `findOne()`, `persist()`, `remove()`, `flush()`, and `transactional()`.
79
- MikroORM, raw SQL, gateway clients, Sheet routes, provisioning, polling, and
78
+ MikroORM, raw SQL, provider clients, Sheet routes, provisioning, polling, and
80
79
  outbox controls are internal.
81
80
 
82
81
  ## SQLite authority
@@ -104,23 +103,53 @@ fixed headers are missing or drifted.
104
103
  ## Google Sheets projection
105
104
 
106
105
  The internal service provisions and validates registered projection tabs before
107
- starting delivery. It owns the signed Apps Script client, effect worker,
108
- response-loss recovery, reconciliation, and User_Input polling.
106
+ starting delivery. It owns the sync provider (service-account Google Sheets API
107
+ by default), effect worker, response-loss recovery, reconciliation, and
108
+ User_Input polling.
109
109
 
110
110
  The application does not call Sheet operations. A successful public `flush()`
111
111
  means that the local SQLite transaction committed. It does not mean that a
112
112
  remote Sheet write has completed.
113
113
 
114
- The MVP gateway is a single file, `apps-script/gateway/Code.gs`, copied into a
115
- spreadsheet-bound Apps Script project and deployed as a Web App. The deployer
116
- pastes the `/exec` URL into `TYPED_SHEETS_GATEWAY_URL` and runs
117
- `setupSyncGateway()` from the editor, which stores the bound spreadsheet ID and
118
- a generated shared secret in Script Properties. This default path requires no
119
- `appsscript.json` manifest, no Apps Script Advanced Sheets Service, no Google
120
- Cloud Sheets API activation, and no service account. Sheet consistency does
121
- not rely on cross-request Sheet transactions; it comes from the Apps Script
122
- script lock, the hidden effect-receipt tab, effect-id/payload-hash dedupe, the
123
- SQLite durable outbox, fencing, and postcondition recovery.
114
+ ### Full direct provider (service account, preferred)
115
+
116
+ The preferred production path uses the internal `googleSheetsApi` service
117
+ option: ONE Google Sheets API provider under
118
+ `src/adapter/sheets/providers/google-sheets-api/` implements every provider
119
+ capability the runtime needs — provisioning, outbound effects (fast append,
120
+ guarded update/delete, receipts, response-loss recovery), values-only table
121
+ reads, row-anchor assignment, and full metadata snapshots. It authenticates
122
+ with Application Default Credentials (`GOOGLE_APPLICATION_CREDENTIALS` service
123
+ account shared on the spreadsheet), disables SDK auto-retry (retries are the
124
+ durable worker's job), enforces request-start intervals of 1,100 ms per
125
+ request class (reads and writes separately), and batches every applicable
126
+ target mutation plus its receipt writes into one atomic
127
+ `spreadsheets.batchUpdate`. The provider paces and reports every transport
128
+ call individually; a serialized batch over ~2 MB is trimmed to an
129
+ order-preserving prefix with `hasMore`. Transport failures are classified by
130
+ the shared `classifyTransportOutcome` boundary: proven pre-mutation 4xx
131
+ rejections are explicit remote failures, while timeouts, network errors,
132
+ 408/429/5xx, and malformed 2xx replies stay delivery-uncertain and are
133
+ recovered through the shared postcondition probe path. Telemetry carries only
134
+ operation names, counts, durations, and stable codes — never credentials,
135
+ spreadsheet IDs, URLs, or payloads.
136
+
137
+ Provisioning creates missing tabs and initializes header rows in one atomic
138
+ batch and fails closed on any header drift; snapshot wire shapes (merged,
139
+ error, formula, literal/blank cells plus stableHash evidence) are stable
140
+ across providers, so reconciliation evidence is provider-independent. No Apps
141
+ Script deployment is required.
142
+
143
+ ### Removed: Apps Script gateway
144
+
145
+ The signed Apps Script gateway and the `appsScript`/`googleApiWorker` options
146
+ were removed in this cleanup. The service-account `googleSheetsApi` provider
147
+ above is the only sync path; existing deployments should switch to it. The
148
+ provider reads and writes the same tabs, receipt sheet, and anchor metadata,
149
+ so existing spreadsheets keep working without re-provisioning. Sheet
150
+ consistency does not rely on cross-request Sheet transactions; it comes from
151
+ the hidden effect-receipt tab, effect-id/payload-hash dedupe, the SQLite
152
+ durable outbox, fencing, and postcondition recovery.
124
153
 
125
154
  `System_State` is materialized from canonical SQLite state. `User_Input` is
126
155
  observed by the internal polling loop, evaluated with ownership and field-level
@@ -153,7 +182,7 @@ internal outbound effect supervisor
153
182
  └─ reconcile remote drift
154
183
  │
155
184
  ▼
156
- Apps Script gateway ──▶ Google Sheets
185
+ sync provider (googleSheetsApi) ──▶ Google Sheets
157
186
 
158
187
  internal User_Input polling
159
188
  ├─ adaptive values-only preflight over registered projections
@@ -171,15 +200,15 @@ a missing expected entity, or a type-invalid cell), or when the periodic safety
171
200
  full scan falls due. The safety scan (default one minute, configurable) keeps
172
201
  formula, merged, and error cell fidelity because the values-only read drops that
173
202
  metadata; the scan's overdue lag is recorded for diagnostics. Outbound effects
174
- are split into bounded sub-batches per physical route so one gateway call returns
203
+ are split into bounded sub-batches per physical route so one provider call returns
175
204
  a complete result set, and a pass that only requeued uncertain work backs off with
176
205
  a bounded delay instead of retrying a struggling remote in a tight loop.
177
206
 
178
207
  The service bootstrap starts provisioning, outbound delivery, and inbound polling
179
208
  as one internal runtime. Outbound dispatch keeps the SQLite outbox as its only
180
209
  durable buffer, coalesces only a short in-process burst, and adapts each route's
181
- Gateway batch between five and twenty effects from latency and response-loss
182
- signals. The effect lease is longer than the configured Gateway timeout so a
210
+ provider batch between five and twenty effects from latency and response-loss
211
+ signals. The effect lease is longer than the configured provider timeout so a
183
212
  slow but valid request is recovered only after its remote result is checked.
184
213
  Ambiguous delivery is stored as `delivery_uncertain` with `uncertain_since`,
185
214
  `next_probe_at`, and `dispatch_id`; only a due probe may return it to processing.
@@ -192,4 +221,4 @@ supervisor, and only then closes SQLite.
192
221
  Hikoutei targets one local SQLite writer process and low-traffic MVP or internal
193
222
  workflows. It is not a distributed transaction coordinator, a general-purpose
194
223
  database, or a Google Sheets API replacement. Live Google integration remains
195
- opt-in; normal tests use fake gateways and SQLite fixtures.
224
+ opt-in; normal tests use fake providers and SQLite fixtures.
package/docs/ci.md CHANGED
@@ -5,8 +5,8 @@ package. Each is built as an installed consumer: after `npm pack` it imports
5
5
  from the packed tarball rather than from `src/**` or the source-only test
6
6
  fake, and neither is allowed to import those.
7
7
 
8
- 1. **Internal sync/gateway E2E** (`scripts/ci/run-api-scenario.mjs`) drives the
9
- internal typed-sheets sync pipeline — projection registration, gateway
8
+ 1. **Internal sync E2E** (`scripts/ci/run-api-scenario.mjs`) drives the
9
+ internal typed-sheets sync pipeline — projection registration, sheet
10
10
  provisioning, the bounded effect worker, polling, and the MikroORM-backed
11
11
  storage/CAS/hash machinery — and loads implementation modules directly from
12
12
  the packed `dist/` tree.
@@ -25,7 +25,7 @@ while the lifecycle itself imports only the root `hikoutei` entrypoint. This
25
25
  guards the boundary directly in an installed consumer in addition to the
26
26
  source-level tests.
27
27
 
28
- ## Internal sync/gateway E2E
28
+ ## Internal sync E2E
29
29
 
30
30
  The scenario is built as an installed consumer: after `npm pack` it imports the
31
31
  package entrypoints from the packed tarball rather than from `src/**` or the
@@ -60,7 +60,7 @@ contacts Google Sheets, never needs credentials, and never provisions remote
60
60
  tabs, so it runs as a packed consumer only in the normal CI, develop, and stable
61
61
  verify jobs and has no live counterpart. It is local-only — an in-memory SQLite
62
62
  authority with no backend concept — not a fake-backend scenario like the
63
- internal sync/gateway E2E. Its entity lifecycle imports only the
63
+ internal sync E2E. Its entity lifecycle imports only the
64
64
  root `hikoutei` package; the `hikoutei/orm` and `hikoutei/mikro-orm` dynamic
65
65
  imports it performs are negative boundary assertions that must be rejected,
66
66
  not part of the lifecycle.
@@ -68,7 +68,7 @@ not part of the lifecycle.
68
68
  ## Backends and triggers
69
69
 
70
70
  The normal CI, develop, and stable verification jobs run **both** installed-consumer
71
- scenarios — the internal sync/gateway E2E and the installed root API smoke. The
71
+ scenarios — the internal sync E2E and the installed root API smoke. The
72
72
  internal E2E uses the **fake** backend (no Google Sheets contact, no
73
73
  credentials); the root API smoke is local-only, an in-memory SQLite authority
74
74
  (`:memory:`) with no backend concept. The workflows are:
@@ -84,32 +84,39 @@ credentials); the root API smoke is local-only, an in-memory SQLite authority
84
84
  - `.github/workflows/stable-publish.yml` verifies and publishes that tag with
85
85
  the `latest` dist-tag too.
86
86
 
87
- Only the internal sync/gateway E2E has a live variant, in the separate
87
+ Only the internal sync E2E has a live variant, in the separate
88
88
  `.github/workflows/live-integration.yml` workflow. It is opt-in via
89
89
  `workflow_dispatch` — a maintainer with write access dispatches it explicitly;
90
90
  it never runs automatically on pull requests or pushes — and exercises
91
- that single scenario against real Google Sheets with `--backend=live`. The installed root API smoke has no live
91
+ that single scenario against real Google Sheets with `--backend=live
92
+ --outbound=direct`. The installed root API smoke has no live
92
93
  counterpart: it is a local-only lifecycle smoke against an in-memory SQLite
93
94
  authority, so it never runs there.
94
95
 
95
96
  Because live is opt-in via `workflow_dispatch`, it is triggered manually by a
96
97
  maintainer with write access rather than automatically on pull requests, so
97
- there is no forked-PR secret-exposure path. The three gateway secrets are
98
- scoped to the live execution and cleanup steps only, not the whole job, so
98
+ there is no forked-PR secret-exposure path. The live path is
99
+ service-account-only: the workflow materializes the service-account key in
100
+ `$RUNNER_TEMP` and scopes the credential/spreadsheet environment to the live
101
+ execution and cleanup steps only, not the whole job, so
99
102
  checkout/setup/install/build never see them. The live run uses a dedicated test
100
- spreadsheet and the following GitHub Actions secrets:
103
+ spreadsheet shared with the service account and the following GitHub Actions
104
+ secrets:
101
105
 
102
- - `TYPED_SHEETS_GATEWAY_URL`
103
- - `TYPED_SHEETS_GATEWAY_SHARED_SECRET`
104
- - `TYPED_SHEETS_GATEWAY_SHEET_ID`
106
+ - `GOOGLE_SERVICE_ACCOUNT_CREDENTIALS_JSON` (the service-account key JSON)
107
+ - `GOOGLE_SHEETS_TEST_SPREADSHEET_ID`
108
+
109
+ No gateway is deployed or invoked — the live path is service-account-only, so
110
+ the workflow needs only those two secrets.
105
111
 
106
112
  ## Cleanup
107
113
 
108
114
  Each live run generates unique tab names from the workflow run ID. The runner
109
115
  writes a manifest before provisioning, cleans those tabs in a `finally` path,
110
116
  and the workflow repeats cleanup with `if: always()` so a failed assertion does
111
- not leave the fixture behind. The Apps Script receipt tab is also removed by
112
- the cleanup operation. Do not point the live secrets at a production
117
+ not leave the fixture behind. Cleanup uses the same service account
118
+ (`deleteSheet` requests through the direct provider's transport) and removes
119
+ the shared receipt tab too. Do not point the live secrets at a production
113
120
  spreadsheet; cleanup is intentionally scoped to the dedicated CI spreadsheet.
114
121
 
115
122
  ## Kohkai dependency
@@ -134,10 +141,11 @@ publishing Hikoutei. The first integration release therefore requires:
134
141
  2. merge the Hikoutei dependency integration;
135
142
  3. let the next develop release produce `0.3.2` from the current `0.3.1` baseline.
136
143
 
137
- Existing Hikoutei releases remain unchanged. Apps Script cannot import npm
138
- packages, so `apps-script/gateway/Code.gs` keeps the Hikoutei-specific gateway
139
- and its self-contained codec mirror; the root tests compare it with the pinned
140
- Kohkai compatibility vectors.
144
+ Existing Hikoutei releases remain unchanged. The root
145
+ `test/kohkai-compatibility.test.ts` pins the Hikoutei shared stable encoding to
146
+ the Kohkai compatibility vectors and proves the local codec is byte-compatible
147
+ with the generic `@hikoutei/kohkai` codec; the Apps Script codec mirror was
148
+ removed with the gateway.
141
149
 
142
150
  ## Develop publication
143
151
 
@@ -148,7 +156,7 @@ an annotated tag such as `develop-v0.3.1`. The generated commit is guarded from
148
156
  being processed as another release.
149
157
 
150
158
  The tag triggers `.github/workflows/develop-publish.yml`. It repeats the
151
- unit/type/build/package checks, the installed-package internal sync/gateway
159
+ unit/type/build/package checks, the installed-package internal sync
152
160
  E2E, and the installed root API smoke before publishing the numeric package
153
161
  version with the npm `latest` dist-tag. The version has no `-beta` suffix, and
154
162
  a plain `npm install hikoutei` resolves this channel:
@@ -226,8 +234,8 @@ npm install hikoutei
226
234
  ## Artifacts
227
235
 
228
236
  The CI, develop, and stable jobs each emit a JSON report for **both**
229
- scenarios (internal sync/gateway E2E and installed root API smoke). The live
230
- job emits a JSON report only for the internal sync/gateway E2E, the single
237
+ scenarios (internal sync E2E and installed root API smoke). The live
238
+ job emits a JSON report only for the internal sync E2E, the single
231
239
  scenario it runs. Both runner scripts (`run-api-scenario.mjs` and
232
240
  `run-root-api-scenario.mjs`) default their `--summary` option to
233
241
  `GITHUB_STEP_SUMMARY`, so in GitHub Actions every CI/develop/stable invocation
@@ -239,7 +247,7 @@ installed-consumer scenario reports as a dedicated reports artifact
239
247
  (`if: always()`), separate from the package artifact (`if: success()`) that the
240
248
  publish job consumes. Setup time and steady-state time are reported separately
241
249
  for the internal E2E so spreadsheet creation and header provisioning do not
242
- distort the internal sync/gateway measurements.
250
+ distort the internal sync measurements.
243
251
 
244
252
  The develop and stable package artifacts are each a single directory that
245
253
  holds the npm tarball and its `sha256` checksum together under
@@ -13,7 +13,7 @@ The core value is safety around common Google Sheets-as-data-store failure modes
13
13
  - invalid row parsing
14
14
  - duplicate or missing key columns
15
15
  - API quota pressure
16
- - future write serialization through Apps Script
16
+ - paced write serialization through the direct provider
17
17
 
18
18
  ## Positioning
19
19
 
@@ -60,8 +60,6 @@ MVP exclusions:
60
60
  - migration engine
61
61
  - lazy loading
62
62
  - multi-row atomic transactions
63
- - Apps Script automatic installation
64
- - Apps Script Web App gateway
65
63
  - caching
66
64
  - request collapse
67
65
  - retry/backoff
@@ -81,20 +79,15 @@ src/
81
79
  shared/ # 도메인 간 공유 상수·인코딩·상태 계약
82
80
  application/
83
81
  orm/ # 공개 ORM facade, mapping, flush 계획
84
- sync/ # worker, reconciliation, gateway orchestration
82
+ sync/ # worker, reconciliation, Sheets 조정, telemetry
85
83
  adapter/
86
84
  persistence/
87
85
  contracts/ # 저장소 공통 계약
88
86
  providers/mikro-orm/ # 현재 MikroORM + SQLite 구현
89
87
  sheets/
90
- providers/apps-script-gateway/
91
- protocol/ # 서명·직렬화·응답 검증
92
- transport/ # HTTP operation client
93
- operations/
94
- read/ # 테이블 읽기
95
- write/ # fast append
96
- observation/ # snapshot·anchor 관측
97
- effect/ # update/delete effect
88
+ providers/google-sheets-api/
89
+ transport/ # paced REST transport client
90
+ model/ # preflight·planner·observation·batch 모델
98
91
  infrastructure/
99
92
  storage/ # SQLite canonical state와 outbox
100
93
  index.ts
@@ -135,15 +128,16 @@ If a production source issue blocks the requested work, describe the blocker and
135
128
  ## Adapter Boundary
136
129
 
137
130
  Adapters are split by capability and provider. A provider is a concrete
138
- implementation such as MikroORM or Apps Script; a contract is the stable
139
- boundary that core, ORM, storage, or runtime code consumes.
131
+ implementation such as MikroORM or the Google Sheets REST provider; a contract
132
+ is the stable boundary that core, ORM, storage, or runtime code consumes.
140
133
 
141
134
  - `adapter/persistence/contracts/`: SQL and persistence contracts independent of
142
135
  MikroORM, Prisma, or another future implementation
143
136
  - `adapter/persistence/providers/mikro-orm/`: the current MikroORM-backed
144
137
  entity engine and SQLite storage bridge
145
- - `adapter/sheets/providers/apps-script-gateway/`: the current signed Apps Script
146
- provider, separated into protocol, transport, and operation capabilities
138
+ - `adapter/sheets/providers/google-sheets-api/`: the current direct Google
139
+ Sheets REST provider, separated into transport and model; the single sync
140
+ provider
147
141
 
148
142
  The adapter should expose sheet-level operations in terms the core needs, not Google-specific concepts.
149
143
 
@@ -210,8 +204,6 @@ After the MVP is stable, possible extensions are:
210
204
  - retry/backoff for 429 and transient 5xx
211
205
  - Google Sheet template generator
212
206
  - schema drift report
213
- - Apps Script installer CLI
214
- - Apps Script `LockService` write gateway
215
207
  - audit log sheet
216
208
  - `_createdAt` and `_updatedAt` system columns
217
209
  - GitHub Action for schema verification
@@ -13,14 +13,33 @@ npm run build
13
13
  npm pack --dry-run
14
14
  ```
15
15
 
16
- The default test suite uses fake gateways and SQLite/MikroORM fixtures. It does
17
- not require live Google credentials.
16
+ The default test suite uses a fake Sheets provider and SQLite/MikroORM fixtures.
17
+ It does not require live Google credentials.
18
18
 
19
19
  ## Google integration tests
20
20
 
21
- Live Google Sheets tests are opt-in. They require a deployed Apps Script
22
- gateway, credentials, a spreadsheet, and consume external quota. Keep secrets
23
- in an untracked environment file and never commit them.
21
+ Live Google Sheets tests are opt-in. The tracked live path is
22
+ service-account-only: it requires a service-account key, a shared
23
+ spreadsheet, and consumes external quota. Keep secrets in an untracked
24
+ environment file and never commit them.
25
+
26
+ The internal end-to-end scenario runs against the fake backend by default
27
+ and against the live backend in full-direct mode:
28
+
29
+ ```sh
30
+ node scripts/ci/run-api-scenario.mjs --backend fake
31
+ node scripts/ci/run-api-scenario.mjs --backend live --outbound direct
32
+ ```
33
+
34
+ The live backend is the service-account-only direct provider, used for
35
+ provisioning, outbound effects, observation, `mutateRow`, and cleanup. It
36
+ requires `GOOGLE_APPLICATION_CREDENTIALS` and
37
+ `GOOGLE_SHEETS_TEST_SPREADSHEET_ID` — and nothing else. The report
38
+ records only `sheetMatched: true` for the direct mode and never prints
39
+ spreadsheet IDs.
40
+
41
+ `--backend live` always runs the direct provider; the removed gateway mode no
42
+ longer exists, so any `--outbound` value other than `direct` is rejected.
24
43
 
25
44
  ## Benchmarks
26
45
 
@@ -28,13 +47,17 @@ Performance measurements should be recorded in
28
47
  [`sync-bulk-write-benchmark.md`](sync-bulk-write-benchmark.md). Separate:
29
48
 
30
49
  - one-time setup from steady-state work
31
- - raw Gateway writes from full worker drain
50
+ - raw transport writes from full worker drain
32
51
  - reconciliation from the normal append path
33
- - local SQLite/ORM time from HTTP and Apps Script time
52
+ - local SQLite/ORM time from HTTP and provider time
34
53
 
35
54
  The benchmark history is not a universal Sheets performance guarantee. Network
36
- latency, Apps Script execution behavior, quotas, and spreadsheet state can
37
- change the result.
55
+ latency, Sheets API behavior, quotas, and spreadsheet state can
56
+ change the result. The full direct provider (`googleSheetsApi`) is not a
57
+ performance claim either: the raw-transport benchmarks under `scripts/bench/`
58
+ measure the unguarded API path (no receipts, no compare-and-set), while the
59
+ provider adds fail-closed guarantees (receipts and compare-and-set), so its
60
+ throughput is unverified until measured through the full worker.
38
61
 
39
62
  ## Package preview
40
63
 
@@ -44,5 +67,8 @@ Before publishing, inspect the tarball contents:
44
67
  npm pack --dry-run
45
68
  ```
46
69
 
47
- The package should include the built `dist/` output, public documentation, and
48
- the deployable [`apps-script/gateway/Code.gs`](../apps-script/gateway/Code.gs).
70
+ The package should include the built `dist/` output and the public
71
+ documentation only — no Apps Script deployment. The sync provider calls the
72
+ Google Sheets REST API (`spreadsheets.get` / `spreadsheets.batchUpdate`)
73
+ through a service account, so the tarball contains no gateway sources or
74
+ manifest; the service account needs only the Spreadsheets scope.