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 +0,0 @@
1
- {"version":3,"file":"effectOperationScript.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,yFAAyF;AACzF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqyB/C,+BAA+B;EAC/B,CAAC"}
@@ -1,31 +0,0 @@
1
- /** Thin-Gateway operations for anchors and normalized Sheet snapshots. */
2
- import type { EnsureSyncRowAnchorsRequest, EnsureSyncRowAnchorsResult, ReadSyncSnapshotRequest, SyncObservedSnapshot, SyncGatewaySnapshot } from "../../../../../../application/sync/gateway/syncGateway.js";
3
- import type { AppsScriptOperationDefinition } from "../../transport/operationClient.js";
4
- declare const OBSERVATION_OPERATION_MODES: {
5
- readonly ENSURE_ANCHORS: "ensureRowAnchors";
6
- readonly READ_SNAPSHOT: "readSnapshot";
7
- readonly OBSERVE_SNAPSHOT: "observeSnapshot";
8
- };
9
- interface ObservationOperationRouteOptions {
10
- readonly checkboxHeaders?: readonly string[];
11
- /** Local-only schema evidence used to validate decoded snapshot headers. */
12
- readonly expectedHeaders?: readonly string[];
13
- }
14
- type ObservationOperationRequest = (EnsureSyncRowAnchorsRequest | ReadSyncSnapshotRequest) & ObservationOperationRouteOptions;
15
- export type AppsScriptEnsureRowAnchorsOperationArgs = {
16
- readonly mode: typeof OBSERVATION_OPERATION_MODES.ENSURE_ANCHORS;
17
- } & ObservationOperationRequest;
18
- export type AppsScriptReadSnapshotOperationArgs = {
19
- readonly mode: typeof OBSERVATION_OPERATION_MODES.READ_SNAPSHOT;
20
- } & ObservationOperationRequest;
21
- export type AppsScriptObserveSnapshotOperationArgs = {
22
- readonly mode: typeof OBSERVATION_OPERATION_MODES.OBSERVE_SNAPSHOT;
23
- } & ObservationOperationRequest;
24
- /** Builds the metadata-anchor assignment operation used before observation. */
25
- export declare function createEnsureRowAnchorsOperation(request: EnsureSyncRowAnchorsRequest & ObservationOperationRouteOptions): AppsScriptOperationDefinition<AppsScriptEnsureRowAnchorsOperationArgs, EnsureSyncRowAnchorsResult>;
26
- /** Builds the normalized, read-only Sheet snapshot operation. */
27
- export declare function createReadSnapshotOperation(request: ReadSyncSnapshotRequest & ObservationOperationRouteOptions): AppsScriptOperationDefinition<AppsScriptReadSnapshotOperationArgs, SyncGatewaySnapshot>;
28
- /** Builds one operation that assigns anchors and reads the snapshot under one lock. */
29
- export declare function createObserveSnapshotOperation(request: ReadSyncSnapshotRequest & ObservationOperationRouteOptions): AppsScriptOperationDefinition<AppsScriptObserveSnapshotOperationArgs, SyncObservedSnapshot>;
30
- export {};
31
- //# sourceMappingURL=observationOperation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"observationOperation.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAG1E,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,2DAA2D,CAAC;AAwBnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAQxF,QAAA,MAAM,2BAA2B;;;;CAIvB,CAAC;AAEX,UAAU,gCAAgC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,KAAK,2BAA2B,GAC9B,CAAC,2BAA2B,GAAG,uBAAuB,CAAC,GAAG,gCAAgC,CAAC;AAE7F,MAAM,MAAM,uCAAuC,GAAG;IACpD,QAAQ,CAAC,IAAI,EAAE,OAAO,2BAA2B,CAAC,cAAc,CAAC;CAClE,GAAG,2BAA2B,CAAC;AAEhC,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,2BAA2B,CAAC,aAAa,CAAC;CACjE,GAAG,2BAA2B,CAAC;AAEhC,MAAM,MAAM,sCAAsC,GAAG;IACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,2BAA2B,CAAC,gBAAgB,CAAC;CACpE,GAAG,2BAA2B,CAAC;AAEhC,+EAA+E;AAC/E,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,2BAA2B,GAAG,gCAAgC,GACtE,6BAA6B,CAC9B,uCAAuC,EACvC,0BAA0B,CAC3B,CAQA;AAED,iEAAiE;AACjE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,uBAAuB,GAAG,gCAAgC,GAClE,6BAA6B,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,CAQzF;AAED,uFAAuF;AACvF,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,uBAAuB,GAAG,gCAAgC,GAClE,6BAA6B,CAC9B,sCAAsC,EACtC,oBAAoB,CACrB,CAQA"}
@@ -1,560 +0,0 @@
1
- /** Thin-Gateway operations for anchors and normalized Sheet snapshots. */
2
- import { APPS_SCRIPT_STABLE_CODEC_SOURCE } from "../shared/appsScriptStableCodecSource.js";
3
- import { CELL_OBSERVATION_KINDS, } from "../../../../../../shared/encoding/constants.js";
4
- import { isNormalizedCell } from "../../../../../../shared/encoding/normalizedCell.js";
5
- import { SYNC_GATEWAY_ERROR_CODES, } from "../../../../../../application/sync/gateway/errors.js";
6
- import { SYNC_GATEWAY_PROJECTIONS, SYNC_GATEWAY_PROTOCOL_VERSIONS, SYNC_GATEWAY_SNAPSHOT_READ_MODES, } from "../../../../../../application/sync/gateway/constants.js";
7
- import { decodeSyncGatewayPresenceNonNegativeSafeInteger as decodePresenceNonNegativeInteger, decodeSyncGatewayPresenceString as decodePresenceString, requireSyncGatewayNonNegativeSafeInteger, requireSyncGatewayPositiveSafeInteger, requireSyncGatewayProjection, requireSyncGatewaySnapshotReadMode, requireSyncGatewayText, } from "../../../../../../application/sync/gateway/validation.js";
8
- import { decodeOptionalSyncGatewayTiming } from "../../protocol/timing.js";
9
- import { invalidOperationRequest, invalidOperationResponse, } from "../../errors.js";
10
- import { requireOperationRecord } from "../../validation.js";
11
- const OBSERVATION_OPERATION_MODES = {
12
- ENSURE_ANCHORS: "ensureRowAnchors",
13
- READ_SNAPSHOT: "readSnapshot",
14
- OBSERVE_SNAPSHOT: "observeSnapshot",
15
- };
16
- /** Builds the metadata-anchor assignment operation used before observation. */
17
- export function createEnsureRowAnchorsOperation(request) {
18
- validateObservationRequest(request);
19
- const { expectedHeaders: _expectedHeaders, ...wireRequest } = request;
20
- return {
21
- fn: OBSERVATION_OPERATION_SOURCE,
22
- args: { mode: OBSERVATION_OPERATION_MODES.ENSURE_ANCHORS, ...wireRequest },
23
- decode: decodeEnsureRowAnchorsResult,
24
- };
25
- }
26
- /** Builds the normalized, read-only Sheet snapshot operation. */
27
- export function createReadSnapshotOperation(request) {
28
- validateObservationRequest(request);
29
- const { expectedHeaders, ...wireRequest } = request;
30
- return {
31
- fn: READ_SNAPSHOT_OPERATION_SOURCE,
32
- args: { mode: OBSERVATION_OPERATION_MODES.READ_SNAPSHOT, ...wireRequest },
33
- decode: (value) => decodeSnapshot(value, request, expectedHeaders),
34
- };
35
- }
36
- /** Builds one operation that assigns anchors and reads the snapshot under one lock. */
37
- export function createObserveSnapshotOperation(request) {
38
- validateObservationRequest(request);
39
- const { expectedHeaders, ...wireRequest } = request;
40
- return {
41
- fn: OBSERVATION_OPERATION_SOURCE,
42
- args: { mode: OBSERVATION_OPERATION_MODES.OBSERVE_SNAPSHOT, ...wireRequest },
43
- decode: (value) => decodeObservedSnapshot(value, request, expectedHeaders),
44
- };
45
- }
46
- function validateObservationRequest(request) {
47
- if (request.authority !== undefined &&
48
- (!Number.isSafeInteger(request.authority.epoch) || request.authority.epoch < 1 ||
49
- request.authority.token.trim().length === 0)) {
50
- invalidOperationRequest("Apps Script observation operation", "authority is invalid");
51
- }
52
- requireSyncGatewayText(request.physicalSheetId, "Apps Script observation physicalSheetId", SYNC_GATEWAY_ERROR_CODES.INVALID_EFFECT_PAYLOAD);
53
- requireSyncGatewayText(request.sheetName, "Apps Script observation sheetName", SYNC_GATEWAY_ERROR_CODES.INVALID_EFFECT_PAYLOAD);
54
- requireSyncGatewayText(request.registeredRange, "Apps Script observation registeredRange", SYNC_GATEWAY_ERROR_CODES.INVALID_EFFECT_PAYLOAD);
55
- requireSyncGatewayProjection(request.projection, "Apps Script observation projection", SYNC_GATEWAY_ERROR_CODES.INVALID_EFFECT_PAYLOAD);
56
- requireSyncGatewayPositiveSafeInteger(request.schemaVersion, "Apps Script observation schemaVersion", SYNC_GATEWAY_ERROR_CODES.INVALID_EFFECT_PAYLOAD);
57
- if (request.checkboxHeaders !== undefined && !Array.isArray(request.checkboxHeaders)) {
58
- invalidOperationRequest("Apps Script observation operation", "checkboxHeaders must be an array");
59
- }
60
- if ("readMode" in request && request.readMode !== undefined) {
61
- const readMode = requireSyncGatewaySnapshotReadMode(request.readMode, "Apps Script observation readMode", SYNC_GATEWAY_ERROR_CODES.INVALID_EFFECT_PAYLOAD);
62
- if (readMode === SYNC_GATEWAY_SNAPSHOT_READ_MODES.USER_INPUT &&
63
- request.projection !== SYNC_GATEWAY_PROJECTIONS.USER_INPUT) {
64
- invalidOperationRequest("Apps Script observation operation", "user_input readMode requires the user_input projection");
65
- }
66
- }
67
- }
68
- function decodeEnsureRowAnchorsResult(value) {
69
- const record = requireRecord(value, "anchor result");
70
- return {
71
- assigned: requireSyncGatewayNonNegativeSafeInteger(record.assigned, "anchor result assigned", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
72
- existing: requireSyncGatewayNonNegativeSafeInteger(record.existing, "anchor result existing", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
73
- duplicateAnchors: decodeDuplicateAnchors(record.duplicateAnchors),
74
- };
75
- }
76
- function decodeObservedSnapshot(value, expectedRoute, expectedHeaders) {
77
- const record = requireRecord(value, "combined observation result");
78
- const timing = decodeOptionalSyncGatewayTiming(record.timing, "observation timing");
79
- const result = {
80
- anchors: decodeEnsureRowAnchorsResult(record.anchors),
81
- snapshot: decodeSnapshot(record.snapshot, expectedRoute, expectedHeaders),
82
- };
83
- return timing === undefined ? result : { ...result, timing };
84
- }
85
- function decodeSnapshot(value, expectedRoute, expectedHeaders) {
86
- const record = requireRecord(value, "snapshot result");
87
- const protocolVersion = requireSyncGatewayText(record.protocolVersion, "snapshot protocolVersion", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
88
- if (protocolVersion !== SYNC_GATEWAY_PROTOCOL_VERSIONS.V1) {
89
- return invalidOperationResponse("Apps Script observation operation", "snapshot protocolVersion is unsupported");
90
- }
91
- const projection = requireSyncGatewayProjection(record.projection, "snapshot projection", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
92
- if (expectedRoute !== undefined &&
93
- (record.sheetName !== expectedRoute.sheetName ||
94
- record.registeredRange !== expectedRoute.registeredRange ||
95
- record.projection !== expectedRoute.projection ||
96
- record.schemaVersion !== expectedRoute.schemaVersion)) {
97
- return invalidOperationResponse("Apps Script observation operation", "snapshot route does not match the requested registered projection");
98
- }
99
- const headers = decodeStringArray(record.headers, "snapshot headers");
100
- if (expectedHeaders !== undefined &&
101
- (headers.length !== expectedHeaders.length || headers.some((header, index) => header !== expectedHeaders[index]))) {
102
- return invalidOperationResponse("Apps Script observation operation", "snapshot headers do not match the registered schema");
103
- }
104
- const rows = decodeSnapshotRows(record.rows, expectedHeaders);
105
- return {
106
- protocolVersion,
107
- sheetName: requireSyncGatewayText(record.sheetName, "snapshot sheetName", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
108
- registeredRange: requireSyncGatewayText(record.registeredRange, "snapshot registeredRange", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
109
- projection,
110
- schemaVersion: requireSyncGatewayPositiveSafeInteger(record.schemaVersion, "snapshot schemaVersion", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
111
- headers,
112
- rows,
113
- snapshotHash: requireSyncGatewayText(record.snapshotHash, "snapshot snapshotHash", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
114
- unanchoredRows: decodePositiveIntegerArray(record.unanchoredRows, "snapshot unanchoredRows"),
115
- duplicateAnchors: decodeDuplicateAnchors(record.duplicateAnchors),
116
- };
117
- }
118
- function decodeSnapshotRows(value, expectedHeaders) {
119
- if (!Array.isArray(value)) {
120
- return invalidOperationResponse("Apps Script observation operation", "snapshot rows must be an array");
121
- }
122
- return value.map((entry, index) => {
123
- const record = requireRecord(entry, "snapshot row[" + index + "]");
124
- return {
125
- rowNumber: requireSyncGatewayPositiveSafeInteger(record.rowNumber, "snapshot row[" + index + "].rowNumber", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
126
- physicalAnchor: decodePresenceString(record.physicalAnchor, "snapshot row[" + index + "].physicalAnchor"),
127
- visibleRevision: decodePresenceNonNegativeInteger(record.visibleRevision, "snapshot row[" + index + "].visibleRevision"),
128
- visibleHash: decodePresenceString(record.visibleHash, "snapshot row[" + index + "].visibleHash"),
129
- cells: decodeSnapshotCells(record.cells, index, expectedHeaders),
130
- };
131
- });
132
- }
133
- function decodeSnapshotCells(value, rowIndex, expectedHeaders) {
134
- const record = requireRecord(value, "snapshot row[" + rowIndex + "].cells");
135
- if (expectedHeaders !== undefined) {
136
- const expected = new Set(expectedHeaders);
137
- const actual = Object.keys(record);
138
- if (actual.length !== expected.size || actual.some((fieldName) => !expected.has(fieldName))) {
139
- return invalidOperationResponse("Apps Script observation operation", "snapshot row[" + rowIndex + "].cells do not match the registered schema");
140
- }
141
- }
142
- const cells = {};
143
- for (const [fieldName, rawCell] of Object.entries(record)) {
144
- const cell = requireRecord(rawCell, "snapshot cell " + fieldName);
145
- const cellKind = requireSyncGatewayText(cell.cellKind, "snapshot cell " + fieldName + " cellKind", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
146
- if (!isCellObservationKind(cellKind)) {
147
- return invalidOperationResponse("Apps Script observation operation", "snapshot cell " + fieldName + " kind is unsupported");
148
- }
149
- cells[fieldName] = {
150
- cellKind,
151
- normalizedCell: decodeNormalizedCell(cell.normalizedCell, fieldName),
152
- formulaHash: decodePresenceString(cell.formulaHash, fieldName + ".formulaHash"),
153
- mergeRange: decodePresenceString(cell.mergeRange, fieldName + ".mergeRange"),
154
- errorCode: decodePresenceString(cell.errorCode, fieldName + ".errorCode"),
155
- stableHash: decodePresenceString(cell.stableHash, fieldName + ".stableHash"),
156
- };
157
- }
158
- return cells;
159
- }
160
- function decodeNormalizedCell(value, label) {
161
- if (isNormalizedCell(value))
162
- return value;
163
- return invalidOperationResponse("Apps Script observation operation", label + " normalizedCell is invalid");
164
- }
165
- function decodeDuplicateAnchors(value) {
166
- if (!Array.isArray(value)) {
167
- return invalidOperationResponse("Apps Script observation operation", "duplicateAnchors must be an array");
168
- }
169
- return value.map((entry, index) => {
170
- const record = requireRecord(entry, "duplicateAnchors[" + index + "]");
171
- return {
172
- anchor: requireSyncGatewayText(record.anchor, "duplicateAnchors[" + index + "].anchor", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
173
- rowNumbers: decodePositiveIntegerArray(record.rowNumbers, "duplicateAnchors[" + index + "].rowNumbers"),
174
- };
175
- });
176
- }
177
- function decodePositiveIntegerArray(value, label) {
178
- if (!Array.isArray(value)) {
179
- return invalidOperationResponse("Apps Script observation operation", label + " must be an array");
180
- }
181
- return value.map((entry, index) => requireSyncGatewayPositiveSafeInteger(entry, label + "[" + index + "]", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE));
182
- }
183
- function decodeStringArray(value, label) {
184
- if (!Array.isArray(value)) {
185
- return invalidOperationResponse("Apps Script observation operation", label + " must be an array");
186
- }
187
- const values = value.map((entry, index) => requireSyncGatewayText(entry, label + "[" + index + "]", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE));
188
- if (new Set(values).size !== values.length) {
189
- return invalidOperationResponse("Apps Script observation operation", label + " contains a duplicate");
190
- }
191
- return values;
192
- }
193
- function isCellObservationKind(value) {
194
- return value === CELL_OBSERVATION_KINDS.BLANK ||
195
- value === CELL_OBSERVATION_KINDS.LITERAL ||
196
- value === CELL_OBSERVATION_KINDS.FORMULA ||
197
- value === CELL_OBSERVATION_KINDS.MERGED ||
198
- value === CELL_OBSERVATION_KINDS.ERROR;
199
- }
200
- function requireRecord(value, label) {
201
- return requireOperationRecord(value, label, "Apps Script observation operation");
202
- }
203
- /**
204
- * Self-contained V8 operation source. Observation only reads the registered
205
- * range, while anchor assignment is the sole metadata mutation in this path.
206
- */
207
- const OBSERVATION_OPERATION_SOURCE = String.raw `function (spreadsheet, args) {
208
- var ANCHOR_KEY = "typed_sheets_sync_anchor";
209
- var MODES = { ENSURE: "ensureRowAnchors", SNAPSHOT: "readSnapshot", OBSERVE: "observeSnapshot" };
210
- var phases = [];
211
- var operationStartedAt = Date.now();
212
- var lock = null;
213
- if (args && args.mode === MODES.ENSURE) {
214
- var lockStartedAt = Date.now();
215
- lock = LockService.getScriptLock();
216
- if (!lock.tryLock(20000)) throw new Error("Could not acquire the sync observation gateway lock");
217
- phase_("lock_acquire", lockStartedAt);
218
- }
219
- try {
220
- var validationStartedAt = Date.now();
221
- requireObject_(args, "observation operation args");
222
- if (args.mode !== MODES.OBSERVE) {
223
- assertAuthority_(spreadsheet, args.mode !== MODES.SNAPSHOT);
224
- }
225
- phase_("validate_input", validationStartedAt);
226
- var sheetLookupStartedAt = Date.now();
227
- var sheet = spreadsheet.getSheetByName(args.sheetName);
228
- if (sheet === null) throw new Error("Registered sync sheet does not exist: " + args.sheetName);
229
- phase_("sheet_lookup", sheetLookupStartedAt);
230
- var layoutStartedAt = Date.now();
231
- var layout = readLayout_(sheet, args.registeredRange);
232
- phase_("layout_read", layoutStartedAt);
233
- if (args.mode === MODES.ENSURE) return ensureAnchors_(sheet, layout, args.checkboxHeaders);
234
- if (args.mode === MODES.SNAPSHOT) return readSnapshot_(sheet, layout, args.checkboxHeaders, args);
235
- if (args.mode === MODES.OBSERVE) {
236
- var observed = observeSnapshot_(spreadsheet, sheet, layout, args.checkboxHeaders, args);
237
- observed.timing = {
238
- operationKinds: [],
239
- operationCounts: { append: 0, update: 0, delete: 0 },
240
- durationMs: Date.now() - operationStartedAt,
241
- phases: phases,
242
- };
243
- return observed;
244
- }
245
- throw new Error("unsupported observation operation mode");
246
- } finally {
247
- if (lock !== null) lock.releaseLock();
248
- }
249
-
250
- function assertAuthority_(targetSpreadsheet, allowAdvance) {
251
- if (args.authority === undefined) return;
252
- if (!args.authority || typeof args.authority.epoch !== "number" ||
253
- Math.floor(args.authority.epoch) !== args.authority.epoch || args.authority.epoch < 1 ||
254
- typeof args.authority.token !== "string" || args.authority.token.length === 0) {
255
- throw new Error("observation authority is invalid");
256
- }
257
- var key = "typed_sheets_authority:" + targetSpreadsheet.getId();
258
- var properties = PropertiesService.getScriptProperties();
259
- var raw = properties.getProperty(key);
260
- var current = raw === null ? null : JSON.parse(raw);
261
- if (current !== null && (current.epoch > args.authority.epoch ||
262
- current.epoch === args.authority.epoch && current.token !== args.authority.token)) {
263
- throw new Error("observation authority fence is stale");
264
- }
265
- if (allowAdvance && (current === null || args.authority.epoch > current.epoch)) {
266
- properties.setProperty(key, JSON.stringify({ epoch: args.authority.epoch, token: args.authority.token }));
267
- }
268
- }
269
-
270
- function readLayout_(targetSheet, registeredRange) {
271
- var parsed = parseRange_(registeredRange);
272
- var headerValues = targetSheet.getRange(1, parsed.startColumn, 1, parsed.columnCount).getValues()[0];
273
- var headers = [];
274
- var positions = Object.create(null);
275
- headerValues.forEach(function (header, index) {
276
- if (typeof header !== "string" || header.trim() === "") throw new Error("registered header is invalid");
277
- if (positions[header] !== undefined) throw new Error("registered headers contain a duplicate");
278
- headers.push(header);
279
- positions[header] = index;
280
- });
281
- var checkboxIndexes = Object.create(null);
282
- (args.checkboxHeaders || []).forEach(function (header) {
283
- var index = headers.indexOf(header);
284
- if (index < 0) throw new Error("checkbox header is not registered: " + header);
285
- checkboxIndexes[index] = true;
286
- });
287
- return { startColumn: parsed.startColumn, columnCount: parsed.columnCount, headers: headers, positions: positions, checkboxIndexes: checkboxIndexes };
288
- }
289
-
290
- function ensureAnchors_(targetSheet, targetLayout) {
291
- var lastRow = targetSheet.getLastRow();
292
- var anchorsByRow = readAnchorIndex_(targetSheet);
293
- var values = lastRow > 1
294
- ? targetSheet.getRange(2, targetLayout.startColumn, lastRow - 1, targetLayout.columnCount).getValues()
295
- : [];
296
- return ensureAnchorsFromValues_(targetSheet, targetLayout, values, anchorsByRow);
297
- }
298
-
299
- function ensureAnchorsFromValues_(targetSheet, targetLayout, values, anchorsByRow) {
300
- var assigned = 0;
301
- var existing = 0;
302
- values.forEach(function (row, offset) {
303
- if (isBlankRow_(row, targetLayout.checkboxIndexes)) return;
304
- var rowNumber = offset + 2;
305
- var anchors = anchorsByRow[rowNumber] || [];
306
- if (anchors.length > 1) throw new Error("row has multiple sync anchors: " + rowNumber);
307
- if (anchors.length === 0) {
308
- var anchor = "sync-anchor:" + Utilities.getUuid();
309
- targetSheet.getRange(rowNumber + ":" + rowNumber).addDeveloperMetadata(
310
- ANCHOR_KEY, anchor, SpreadsheetApp.DeveloperMetadataVisibility.PROJECT,
311
- );
312
- anchorsByRow[rowNumber] = [anchor];
313
- assigned += 1;
314
- } else {
315
- existing += 1;
316
- }
317
- });
318
- // Developer Metadata writes are buffered like sheet value writes. Both
319
- // callers hold the observation script lock while assigning anchors, so
320
- // flush here while the lock is still held: a later observation that
321
- // acquires the lock must see the committed anchors, otherwise it would
322
- // read stale metadata and assign a second anchor to the same row.
323
- if (assigned > 0) SpreadsheetApp.flush();
324
- return {
325
- assigned: assigned,
326
- existing: existing,
327
- duplicateAnchors: duplicateAnchorsForRows_(values, targetLayout.checkboxIndexes, anchorsByRow),
328
- };
329
- }
330
-
331
- function observeSnapshot_(targetSpreadsheet, targetSheet, targetLayout, unusedCheckboxHeaders, request) {
332
- var anchorLockStartedAt = Date.now();
333
- var anchorLock = LockService.getScriptLock();
334
- if (!anchorLock.tryLock(20000)) throw new Error("Could not acquire the sync observation gateway lock");
335
- var anchorResult;
336
- var snapshot;
337
- try {
338
- assertAuthority_(targetSpreadsheet, true);
339
- anchorResult = ensureAnchors_(targetSheet, targetLayout);
340
- // phase_ expects a start timestamp; passing the lock acquisition time
341
- // records the anchor mutation barrier as its elapsed duration.
342
- phase_("anchor_mutation_barrier", anchorLockStartedAt);
343
- var snapshotStartedAt = Date.now();
344
- // The script lock stays held through the snapshot read: releasing it
345
- // after anchor assignment would let a concurrent effect mutate the
346
- // sheet between the two phases and produce a mixed snapshot.
347
- snapshot = readSnapshot_(targetSheet, targetLayout, unusedCheckboxHeaders, request);
348
- phase_("snapshot_build", snapshotStartedAt);
349
- } finally {
350
- anchorLock.releaseLock();
351
- }
352
- return {
353
- anchors: anchorResult,
354
- snapshot: snapshot,
355
- };
356
- }
357
-
358
- function readSnapshot_(targetSheet, targetLayout, unusedCheckboxHeaders, request, prepared) {
359
- var lastRow = prepared ? prepared.lastRow : Math.max(targetSheet.getLastRow(), 1);
360
- var range = prepared && prepared.range
361
- ? prepared.range
362
- : targetSheet.getRange(1, targetLayout.startColumn, lastRow, targetLayout.columnCount);
363
- var values = prepared && prepared.values ? prepared.values : range.getValues();
364
- var lightweight = request.readMode === "user_input";
365
- var formulasStartedAt = Date.now();
366
- var formulas = lightweight ? null : range.getFormulas();
367
- phase_("formulas_read", formulasStartedAt);
368
- var displayValuesStartedAt = Date.now();
369
- var displayValues = lightweight ? null : range.getDisplayValues();
370
- phase_("display_values_read", displayValuesStartedAt);
371
- var mergedRangesStartedAt = Date.now();
372
- var merged = lightweight ? null : mergedCellMap_(range);
373
- phase_("merged_ranges_read", mergedRangesStartedAt);
374
- var anchorsByRow = prepared && prepared.anchorsByRow
375
- ? prepared.anchorsByRow
376
- : readAnchorIndex_(targetSheet);
377
- var rows = [];
378
- var unanchoredRows = [];
379
- var anchorRows = Object.create(null);
380
- var rowNormalizationStartedAt = Date.now();
381
- for (var rowIndex = 1; rowIndex < values.length; rowIndex += 1) {
382
- if (isBlankRow_(values[rowIndex], targetLayout.checkboxIndexes)) continue;
383
- var rowNumber = rowIndex + 1;
384
- var anchors = anchorsByRow[rowNumber] || [];
385
- var anchor = anchors.length === 1 ? anchors[0] : null;
386
- if (anchors.length > 1) throw new Error("row has multiple sync anchors: " + rowNumber);
387
- if (anchor === null) unanchoredRows.push(rowNumber);
388
- else {
389
- if (!anchorRows[anchor]) anchorRows[anchor] = [];
390
- anchorRows[anchor].push(rowNumber);
391
- }
392
- var cells = Object.create(null);
393
- targetLayout.headers.forEach(function (header, columnIndex) {
394
- var coordinate = rowNumber + ":" + (targetLayout.startColumn + columnIndex);
395
- cells[header] = normalizeCellObservation_(
396
- values[rowIndex][columnIndex],
397
- lightweight ? "" : formulas[rowIndex][columnIndex],
398
- lightweight ? String(values[rowIndex][columnIndex]) : displayValues[rowIndex][columnIndex],
399
- lightweight ? null : merged[coordinate] || null,
400
- lightweight,
401
- );
402
- });
403
- rows.push({
404
- rowNumber: rowNumber,
405
- physicalAnchor: anchor,
406
- visibleRevision: null,
407
- visibleHash: null,
408
- cells: cells,
409
- });
410
- }
411
- phase_("row_normalization", rowNormalizationStartedAt);
412
- var duplicateAnchorStartedAt = Date.now();
413
- var duplicateAnchors = [];
414
- Object.keys(anchorRows).sort().forEach(function (anchor) {
415
- if (anchorRows[anchor].length > 1) duplicateAnchors.push({ anchor: anchor, rowNumbers: anchorRows[anchor] });
416
- });
417
- phase_("duplicate_anchor_scan", duplicateAnchorStartedAt);
418
- var snapshot = {
419
- protocolVersion: "typed-sheets-sync-v1",
420
- sheetName: request.sheetName,
421
- registeredRange: request.registeredRange,
422
- projection: request.projection,
423
- schemaVersion: request.schemaVersion,
424
- headers: targetLayout.headers,
425
- rows: rows,
426
- };
427
- var snapshotHashStartedAt = Date.now();
428
- var snapshotHash = codecStableHash_(snapshot);
429
- phase_("snapshot_hash", snapshotHashStartedAt);
430
- return {
431
- protocolVersion: snapshot.protocolVersion,
432
- sheetName: snapshot.sheetName,
433
- registeredRange: snapshot.registeredRange,
434
- projection: snapshot.projection,
435
- schemaVersion: snapshot.schemaVersion,
436
- headers: snapshot.headers,
437
- rows: snapshot.rows,
438
- snapshotHash: snapshotHash,
439
- unanchoredRows: unanchoredRows,
440
- duplicateAnchors: duplicateAnchors,
441
- };
442
- }
443
-
444
- function duplicateAnchorsForRows_(values, checkboxIndexes, anchorsByRow) {
445
- var grouped = Object.create(null);
446
- values.forEach(function (row, offset) {
447
- if (isBlankRow_(row, checkboxIndexes)) return;
448
- var anchors = anchorsByRow[offset + 2] || [];
449
- anchors.forEach(function (anchor) {
450
- if (!grouped[anchor]) grouped[anchor] = [];
451
- grouped[anchor].push(offset + 2);
452
- });
453
- });
454
- return Object.keys(grouped).sort().filter(function (anchor) { return grouped[anchor].length > 1; }).map(function (anchor) {
455
- return { anchor: anchor, rowNumbers: grouped[anchor] };
456
- });
457
- }
458
-
459
- function readAnchorIndex_(targetSheet) {
460
- var anchorsByRow = Object.create(null);
461
- targetSheet.createDeveloperMetadataFinder()
462
- .withKey(ANCHOR_KEY)
463
- .withLocationType(SpreadsheetApp.DeveloperMetadataLocationType.ROW)
464
- .find()
465
- .forEach(function (metadata) {
466
- var row = metadata.getLocation().getRow();
467
- if (row === null) return;
468
- var rowNumber = row.getRow();
469
- if (!anchorsByRow[rowNumber]) anchorsByRow[rowNumber] = [];
470
- anchorsByRow[rowNumber].push(String(metadata.getValue()));
471
- });
472
- Object.keys(anchorsByRow).forEach(function (rowNumber) {
473
- anchorsByRow[rowNumber].sort();
474
- });
475
- return anchorsByRow;
476
- }
477
-
478
- function phase_(name, phaseStartedAt) {
479
- phases.push({ phase: name, durationMs: Date.now() - phaseStartedAt });
480
- }
481
-
482
- function parseRange_(value) {
483
- if (typeof value !== "string" || !/^[A-Z]+:[A-Z]+$/.test(value)) throw new Error("registeredRange must be an uppercase whole-column range");
484
- var parts = value.split(":");
485
- var startColumn = columnNumber_(parts[0]);
486
- var endColumn = columnNumber_(parts[1]);
487
- if (endColumn < startColumn) throw new Error("registeredRange end precedes start");
488
- return { startColumn: startColumn, columnCount: endColumn - startColumn + 1 };
489
- }
490
-
491
- function columnNumber_(letters) {
492
- var value = 0;
493
- for (var index = 0; index < letters.length; index += 1) value = value * 26 + letters.charCodeAt(index) - 64;
494
- return value;
495
- }
496
-
497
- function isBlankRow_(row, checkboxIndexes) {
498
- return row.every(function (cell, index) {
499
- if (checkboxIndexes[index]) return cell === "" || cell === null || cell === false;
500
- return cell === "" || cell === null;
501
- });
502
- }
503
-
504
- function normalizeCellObservation_(rawValue, formula, displayValue, mergeRange, lightweight) {
505
- var formulaHash = formula ? sha256Hex_(formula) : null;
506
- if (mergeRange !== null) return { cellKind: "merged", normalizedCell: null, formulaHash: formulaHash, mergeRange: mergeRange, errorCode: null, stableHash: null };
507
- if (isDisplayedSheetError_(displayValue)) return { cellKind: "error", normalizedCell: null, formulaHash: formulaHash, mergeRange: null, errorCode: String(displayValue), stableHash: null };
508
- if (formula) return { cellKind: "formula", normalizedCell: null, formulaHash: formulaHash, mergeRange: null, errorCode: null, stableHash: null };
509
- var normalized;
510
- if (rawValue === "" || rawValue === null) normalized = null;
511
- else if (isDate_(rawValue)) normalized = { kind: "date", value: rawValue.toISOString() };
512
- else if (typeof rawValue === "string") normalized = { kind: "string", value: normalizeScalarString_(rawValue) };
513
- else if (typeof rawValue === "number" && isFinite(rawValue)) normalized = { kind: "number", value: rawValue };
514
- else if (typeof rawValue === "boolean") normalized = { kind: "boolean", value: rawValue };
515
- else return { cellKind: "error", normalizedCell: null, formulaHash: null, mergeRange: null, errorCode: "unsupported_cell_value", stableHash: null };
516
- return { cellKind: normalized === null ? "blank" : "literal", normalizedCell: normalized, formulaHash: null, mergeRange: null, errorCode: null, stableHash: lightweight ? null : codecStableHash_(normalized) };
517
- }
518
-
519
- function mergedCellMap_(targetRange) {
520
- var result = Object.create(null);
521
- targetRange.getMergedRanges().forEach(function (mergedRange) {
522
- var a1 = mergedRange.getA1Notation();
523
- var startRow = mergedRange.getRow();
524
- var startColumn = mergedRange.getColumn();
525
- for (var rowOffset = 0; rowOffset < mergedRange.getNumRows(); rowOffset += 1) {
526
- for (var columnOffset = 0; columnOffset < mergedRange.getNumColumns(); columnOffset += 1) {
527
- result[(startRow + rowOffset) + ":" + (startColumn + columnOffset)] = a1;
528
- }
529
- }
530
- });
531
- return result;
532
- }
533
-
534
- function isDisplayedSheetError_(value) { return typeof value === "string" && /^#(REF!|DIV\/0!|N\/A|VALUE!|NAME\?|NUM!|ERROR!|NULL!)$/.test(value); }
535
- function isDate_(value) { return Object.prototype.toString.call(value) === "[object Date]" && !isNaN(value.getTime()); }
536
- function isCanonicalDate_(value) { if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(value)) return false; var parsed = new Date(value); return !isNaN(parsed.getTime()) && parsed.toISOString() === value; }
537
- function isObject_(value) { return value !== null && typeof value === "object" && !Array.isArray(value); }
538
- function requireObject_(value, label) { if (!isObject_(value)) throw new Error(label + " must be an object"); return value; }
539
- function normalizeScalarString_(value) { return value.normalize("NFC"); }
540
- function sha256Hex_(value) { return Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, value, Utilities.Charset.UTF_8).map(function (byte) { var unsigned = byte < 0 ? byte + 256 : byte; return ("0" + unsigned.toString(16)).slice(-2); }).join(""); }
541
- ${APPS_SCRIPT_STABLE_CODEC_SOURCE}
542
- }`;
543
- /** Builds the read-only snapshot source without the mutation coordination lock. */
544
- const READ_SNAPSHOT_OPERATION_SOURCE = withoutObservationLock(OBSERVATION_OPERATION_SOURCE);
545
- function withoutObservationLock(source) {
546
- // The read-only operation shares helper functions with the combined
547
- // observation source, but its mode never enters the anchor mutation path.
548
- // Remove the platform lock and mutation-barrier symbols from the generated
549
- // read source so the lock-free contract remains explicit and testable.
550
- const withoutLockService = source.replaceAll("LockService", "RemoteMutationBarrier");
551
- const withoutRelease = withoutLockService.replaceAll("lock.releaseLock", "mutationLockRelease");
552
- const withoutFlush = withoutRelease.replaceAll("SpreadsheetApp.flush()", "remoteVisibilityBarrier()");
553
- if (withoutFlush.includes("LockService") ||
554
- withoutFlush.includes("lock.releaseLock") ||
555
- withoutFlush.includes("SpreadsheetApp.flush")) {
556
- throw new Error("could not build the lock-free observation source");
557
- }
558
- return withoutFlush;
559
- }
560
- //# sourceMappingURL=observationOperation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"observationOperation.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /** Lightweight table reads for polling user-visible Sheet values. */
2
- import type { SyncTableRowsResult } from "../../../../../../application/sync/gateway/syncGateway.js";
3
- import type { AppsScriptOperationDefinition } from "../../transport/operationClient.js";
4
- /** Request for one registered table's raw values. */
5
- export interface AppsScriptReadTableRowsRequest {
6
- readonly sheetName: string;
7
- readonly registeredRange: string;
8
- readonly headers: readonly string[];
9
- }
10
- /** Builds a read-only operation that performs one range `getValues()` call. */
11
- export declare function createReadTableRowsOperation(request: AppsScriptReadTableRowsRequest): AppsScriptOperationDefinition<AppsScriptReadTableRowsRequest, SyncTableRowsResult>;
12
- //# sourceMappingURL=tableReadOperation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tableReadOperation.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAWrE,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,2DAA2D,CAAC;AACnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAKxF,qDAAqD;AACrD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,8BAA8B,GACtC,6BAA6B,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,CAOpF"}