hikoutei 0.2.0

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 (535) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +135 -0
  3. package/README.ko.md +138 -0
  4. package/README.md +143 -0
  5. package/apps-script/gateway/Code.gs +412 -0
  6. package/dist/adapter/persistence/contracts/index.d.ts +3 -0
  7. package/dist/adapter/persistence/contracts/index.d.ts.map +1 -0
  8. package/dist/adapter/persistence/contracts/index.js +3 -0
  9. package/dist/adapter/persistence/contracts/index.js.map +1 -0
  10. package/dist/adapter/persistence/contracts/sql.d.ts +50 -0
  11. package/dist/adapter/persistence/contracts/sql.d.ts.map +1 -0
  12. package/dist/adapter/persistence/contracts/sql.js +9 -0
  13. package/dist/adapter/persistence/contracts/sql.js.map +1 -0
  14. package/dist/adapter/persistence/index.d.ts +2 -0
  15. package/dist/adapter/persistence/index.d.ts.map +1 -0
  16. package/dist/adapter/persistence/index.js +2 -0
  17. package/dist/adapter/persistence/index.js.map +1 -0
  18. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +53 -0
  19. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +1 -0
  20. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +105 -0
  21. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +1 -0
  22. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +39 -0
  23. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -0
  24. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +54 -0
  25. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +1 -0
  26. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts +38 -0
  27. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +1 -0
  28. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +55 -0
  29. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +1 -0
  30. package/dist/adapter/persistence/providers/mikro-orm/index.d.ts +16 -0
  31. package/dist/adapter/persistence/providers/mikro-orm/index.d.ts.map +1 -0
  32. package/dist/adapter/persistence/providers/mikro-orm/index.js +9 -0
  33. package/dist/adapter/persistence/providers/mikro-orm/index.js.map +1 -0
  34. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts +27 -0
  35. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -0
  36. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +67 -0
  37. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -0
  38. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts +19 -0
  39. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts.map +1 -0
  40. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js +67 -0
  41. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js.map +1 -0
  42. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +78 -0
  43. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -0
  44. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +121 -0
  45. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -0
  46. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.d.ts +20 -0
  47. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.d.ts.map +1 -0
  48. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.js +125 -0
  49. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.js.map +1 -0
  50. package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts +42 -0
  51. package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts.map +1 -0
  52. package/dist/adapter/sheets/providers/apps-script-gateway/errors.js +51 -0
  53. package/dist/adapter/sheets/providers/apps-script-gateway/errors.js.map +1 -0
  54. package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts +22 -0
  55. package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts.map +1 -0
  56. package/dist/adapter/sheets/providers/apps-script-gateway/index.js +12 -0
  57. package/dist/adapter/sheets/providers/apps-script-gateway/index.js.map +1 -0
  58. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts +42 -0
  59. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -0
  60. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +161 -0
  61. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -0
  62. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts +3 -0
  63. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -0
  64. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +692 -0
  65. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -0
  66. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +29 -0
  67. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +1 -0
  68. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +538 -0
  69. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -0
  70. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts +12 -0
  71. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +1 -0
  72. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +190 -0
  73. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +1 -0
  74. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +23 -0
  75. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -0
  76. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +166 -0
  77. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -0
  78. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +50 -0
  79. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +1 -0
  80. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js +60 -0
  81. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +1 -0
  82. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts +44 -0
  83. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts.map +1 -0
  84. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js +40 -0
  85. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js.map +1 -0
  86. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +7 -0
  87. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +1 -0
  88. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +47 -0
  89. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +1 -0
  90. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts +5 -0
  91. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts.map +1 -0
  92. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +54 -0
  93. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +1 -0
  94. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts +5 -0
  95. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts.map +1 -0
  96. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js +2 -0
  97. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js.map +1 -0
  98. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +10 -0
  99. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +1 -0
  100. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +35 -0
  101. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +1 -0
  102. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +67 -0
  103. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -0
  104. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +204 -0
  105. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -0
  106. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts +78 -0
  107. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -0
  108. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +343 -0
  109. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -0
  110. package/dist/application/index.d.ts +4 -0
  111. package/dist/application/index.d.ts.map +1 -0
  112. package/dist/application/index.js +4 -0
  113. package/dist/application/index.js.map +1 -0
  114. package/dist/application/orm/api/TypedSheetsOrm.d.ts +71 -0
  115. package/dist/application/orm/api/TypedSheetsOrm.d.ts.map +1 -0
  116. package/dist/application/orm/api/TypedSheetsOrm.js +116 -0
  117. package/dist/application/orm/api/TypedSheetsOrm.js.map +1 -0
  118. package/dist/application/orm/api/contracts.d.ts +118 -0
  119. package/dist/application/orm/api/contracts.d.ts.map +1 -0
  120. package/dist/application/orm/api/contracts.js +21 -0
  121. package/dist/application/orm/api/contracts.js.map +1 -0
  122. package/dist/application/orm/errors.d.ts +35 -0
  123. package/dist/application/orm/errors.d.ts.map +1 -0
  124. package/dist/application/orm/errors.js +35 -0
  125. package/dist/application/orm/errors.js.map +1 -0
  126. package/dist/application/orm/index.d.ts +13 -0
  127. package/dist/application/orm/index.d.ts.map +1 -0
  128. package/dist/application/orm/index.js +7 -0
  129. package/dist/application/orm/index.js.map +1 -0
  130. package/dist/application/orm/mapping/contracts.d.ts +113 -0
  131. package/dist/application/orm/mapping/contracts.d.ts.map +1 -0
  132. package/dist/application/orm/mapping/contracts.js +8 -0
  133. package/dist/application/orm/mapping/contracts.js.map +1 -0
  134. package/dist/application/orm/mapping/definition.d.ts +16 -0
  135. package/dist/application/orm/mapping/definition.d.ts.map +1 -0
  136. package/dist/application/orm/mapping/definition.js +145 -0
  137. package/dist/application/orm/mapping/definition.js.map +1 -0
  138. package/dist/application/orm/mapping/entityMapping.d.ts +13 -0
  139. package/dist/application/orm/mapping/entityMapping.d.ts.map +1 -0
  140. package/dist/application/orm/mapping/entityMapping.js +13 -0
  141. package/dist/application/orm/mapping/entityMapping.js.map +1 -0
  142. package/dist/application/orm/mapping/identity.d.ts +14 -0
  143. package/dist/application/orm/mapping/identity.d.ts.map +1 -0
  144. package/dist/application/orm/mapping/identity.js +37 -0
  145. package/dist/application/orm/mapping/identity.js.map +1 -0
  146. package/dist/application/orm/mapping/observationMapping.d.ts +42 -0
  147. package/dist/application/orm/mapping/observationMapping.d.ts.map +1 -0
  148. package/dist/application/orm/mapping/observationMapping.js +65 -0
  149. package/dist/application/orm/mapping/observationMapping.js.map +1 -0
  150. package/dist/application/orm/mapping/projection.d.ts +22 -0
  151. package/dist/application/orm/mapping/projection.d.ts.map +1 -0
  152. package/dist/application/orm/mapping/projection.js +74 -0
  153. package/dist/application/orm/mapping/projection.js.map +1 -0
  154. package/dist/application/orm/mapping/registry.d.ts +15 -0
  155. package/dist/application/orm/mapping/registry.d.ts.map +1 -0
  156. package/dist/application/orm/mapping/registry.js +38 -0
  157. package/dist/application/orm/mapping/registry.js.map +1 -0
  158. package/dist/application/orm/mapping/values.d.ts +17 -0
  159. package/dist/application/orm/mapping/values.d.ts.map +1 -0
  160. package/dist/application/orm/mapping/values.js +141 -0
  161. package/dist/application/orm/mapping/values.js.map +1 -0
  162. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +28 -0
  163. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -0
  164. package/dist/application/orm/persistence/flush/flushCoordinator.js +170 -0
  165. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -0
  166. package/dist/application/orm/persistence/flush/mappedFlushCoordinator.d.ts +9 -0
  167. package/dist/application/orm/persistence/flush/mappedFlushCoordinator.d.ts.map +1 -0
  168. package/dist/application/orm/persistence/flush/mappedFlushCoordinator.js +8 -0
  169. package/dist/application/orm/persistence/flush/mappedFlushCoordinator.js.map +1 -0
  170. package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts +12 -0
  171. package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts.map +1 -0
  172. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +134 -0
  173. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -0
  174. package/dist/application/orm/persistence/projection/projectionEffects.d.ts +21 -0
  175. package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -0
  176. package/dist/application/orm/persistence/projection/projectionEffects.js +203 -0
  177. package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -0
  178. package/dist/application/orm/persistence/support/businessKeys.d.ts +17 -0
  179. package/dist/application/orm/persistence/support/businessKeys.d.ts.map +1 -0
  180. package/dist/application/orm/persistence/support/businessKeys.js +72 -0
  181. package/dist/application/orm/persistence/support/businessKeys.js.map +1 -0
  182. package/dist/application/orm/persistence/support/canonicalState.d.ts +22 -0
  183. package/dist/application/orm/persistence/support/canonicalState.d.ts.map +1 -0
  184. package/dist/application/orm/persistence/support/canonicalState.js +88 -0
  185. package/dist/application/orm/persistence/support/canonicalState.js.map +1 -0
  186. package/dist/application/orm/persistence/support/contracts.d.ts +139 -0
  187. package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -0
  188. package/dist/application/orm/persistence/support/contracts.js +93 -0
  189. package/dist/application/orm/persistence/support/contracts.js.map +1 -0
  190. package/dist/application/orm/persistence/support/helpers.d.ts +32 -0
  191. package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -0
  192. package/dist/application/orm/persistence/support/helpers.js +66 -0
  193. package/dist/application/orm/persistence/support/helpers.js.map +1 -0
  194. package/dist/application/orm/persistence/support/timing.d.ts +20 -0
  195. package/dist/application/orm/persistence/support/timing.d.ts.map +1 -0
  196. package/dist/application/orm/persistence/support/timing.js +55 -0
  197. package/dist/application/orm/persistence/support/timing.js.map +1 -0
  198. package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts +46 -0
  199. package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts.map +1 -0
  200. package/dist/application/sync/gateway/SyncGatewayBootstrap.js +93 -0
  201. package/dist/application/sync/gateway/SyncGatewayBootstrap.js.map +1 -0
  202. package/dist/application/sync/gateway/constants.d.ts +65 -0
  203. package/dist/application/sync/gateway/constants.d.ts.map +1 -0
  204. package/dist/application/sync/gateway/constants.js +57 -0
  205. package/dist/application/sync/gateway/constants.js.map +1 -0
  206. package/dist/application/sync/gateway/errors.d.ts +15 -0
  207. package/dist/application/sync/gateway/errors.d.ts.map +1 -0
  208. package/dist/application/sync/gateway/errors.js +16 -0
  209. package/dist/application/sync/gateway/errors.js.map +1 -0
  210. package/dist/application/sync/gateway/syncGateway.d.ts +313 -0
  211. package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -0
  212. package/dist/application/sync/gateway/syncGateway.js +202 -0
  213. package/dist/application/sync/gateway/syncGateway.js.map +1 -0
  214. package/dist/application/sync/gateway/validation.d.ts +17 -0
  215. package/dist/application/sync/gateway/validation.d.ts.map +1 -0
  216. package/dist/application/sync/gateway/validation.js +60 -0
  217. package/dist/application/sync/gateway/validation.js.map +1 -0
  218. package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts +72 -0
  219. package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -0
  220. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +272 -0
  221. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -0
  222. package/dist/application/sync/index.d.ts +16 -0
  223. package/dist/application/sync/index.d.ts.map +1 -0
  224. package/dist/application/sync/index.js +9 -0
  225. package/dist/application/sync/index.js.map +1 -0
  226. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +106 -0
  227. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -0
  228. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +297 -0
  229. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -0
  230. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +100 -0
  231. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -0
  232. package/dist/application/sync/outbound/effects/SyncEffectWorker.js +345 -0
  233. package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -0
  234. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +46 -0
  235. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -0
  236. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +63 -0
  237. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -0
  238. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +20 -0
  239. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -0
  240. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +102 -0
  241. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -0
  242. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +19 -0
  243. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +1 -0
  244. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +32 -0
  245. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -0
  246. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +30 -0
  247. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -0
  248. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +202 -0
  249. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -0
  250. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts +17 -0
  251. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts.map +1 -0
  252. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js +80 -0
  253. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js.map +1 -0
  254. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +13 -0
  255. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -0
  256. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +205 -0
  257. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -0
  258. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts +81 -0
  259. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -0
  260. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +245 -0
  261. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -0
  262. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts +77 -0
  263. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -0
  264. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +518 -0
  265. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -0
  266. package/dist/application/sync/telemetry/syncTiming.d.ts +50 -0
  267. package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -0
  268. package/dist/application/sync/telemetry/syncTiming.js +22 -0
  269. package/dist/application/sync/telemetry/syncTiming.js.map +1 -0
  270. package/dist/domain/conflict/errors.d.ts +42 -0
  271. package/dist/domain/conflict/errors.d.ts.map +1 -0
  272. package/dist/domain/conflict/errors.js +36 -0
  273. package/dist/domain/conflict/errors.js.map +1 -0
  274. package/dist/domain/conflict/index.d.ts +5 -0
  275. package/dist/domain/conflict/index.d.ts.map +1 -0
  276. package/dist/domain/conflict/index.js +3 -0
  277. package/dist/domain/conflict/index.js.map +1 -0
  278. package/dist/domain/conflict/transitions.d.ts +52 -0
  279. package/dist/domain/conflict/transitions.d.ts.map +1 -0
  280. package/dist/domain/conflict/transitions.js +115 -0
  281. package/dist/domain/conflict/transitions.js.map +1 -0
  282. package/dist/domain/errors/evaluation.d.ts +13 -0
  283. package/dist/domain/errors/evaluation.d.ts.map +1 -0
  284. package/dist/domain/errors/evaluation.js +14 -0
  285. package/dist/domain/errors/evaluation.js.map +1 -0
  286. package/dist/domain/errors/identity.d.ts +12 -0
  287. package/dist/domain/errors/identity.d.ts.map +1 -0
  288. package/dist/domain/errors/identity.js +15 -0
  289. package/dist/domain/errors/identity.js.map +1 -0
  290. package/dist/domain/errors/index.d.ts +7 -0
  291. package/dist/domain/errors/index.d.ts.map +1 -0
  292. package/dist/domain/errors/index.js +5 -0
  293. package/dist/domain/errors/index.js.map +1 -0
  294. package/dist/domain/errors/stableEncoding.d.ts +7 -0
  295. package/dist/domain/errors/stableEncoding.d.ts.map +1 -0
  296. package/dist/domain/errors/stableEncoding.js +8 -0
  297. package/dist/domain/errors/stableEncoding.js.map +1 -0
  298. package/dist/domain/errors/types.d.ts +20 -0
  299. package/dist/domain/errors/types.d.ts.map +1 -0
  300. package/dist/domain/errors/types.js +18 -0
  301. package/dist/domain/errors/types.js.map +1 -0
  302. package/dist/domain/evaluate/constants.d.ts +55 -0
  303. package/dist/domain/evaluate/constants.d.ts.map +1 -0
  304. package/dist/domain/evaluate/constants.js +41 -0
  305. package/dist/domain/evaluate/constants.js.map +1 -0
  306. package/dist/domain/evaluate/contracts.d.ts +125 -0
  307. package/dist/domain/evaluate/contracts.d.ts.map +1 -0
  308. package/dist/domain/evaluate/contracts.js +8 -0
  309. package/dist/domain/evaluate/contracts.js.map +1 -0
  310. package/dist/domain/evaluate/evaluateBatch.d.ts +11 -0
  311. package/dist/domain/evaluate/evaluateBatch.d.ts.map +1 -0
  312. package/dist/domain/evaluate/evaluateBatch.js +91 -0
  313. package/dist/domain/evaluate/evaluateBatch.js.map +1 -0
  314. package/dist/domain/evaluate/fieldEvaluation.d.ts +14 -0
  315. package/dist/domain/evaluate/fieldEvaluation.d.ts.map +1 -0
  316. package/dist/domain/evaluate/fieldEvaluation.js +133 -0
  317. package/dist/domain/evaluate/fieldEvaluation.js.map +1 -0
  318. package/dist/domain/evaluate/identity.d.ts +21 -0
  319. package/dist/domain/evaluate/identity.d.ts.map +1 -0
  320. package/dist/domain/evaluate/identity.js +72 -0
  321. package/dist/domain/evaluate/identity.js.map +1 -0
  322. package/dist/domain/evaluate/index.d.ts +4 -0
  323. package/dist/domain/evaluate/index.d.ts.map +1 -0
  324. package/dist/domain/evaluate/index.js +3 -0
  325. package/dist/domain/evaluate/index.js.map +1 -0
  326. package/dist/domain/evaluate/preconditions.d.ts +30 -0
  327. package/dist/domain/evaluate/preconditions.d.ts.map +1 -0
  328. package/dist/domain/evaluate/preconditions.js +389 -0
  329. package/dist/domain/evaluate/preconditions.js.map +1 -0
  330. package/dist/domain/evaluate/quarantine.d.ts +15 -0
  331. package/dist/domain/evaluate/quarantine.d.ts.map +1 -0
  332. package/dist/domain/evaluate/quarantine.js +185 -0
  333. package/dist/domain/evaluate/quarantine.js.map +1 -0
  334. package/dist/domain/index.d.ts +7 -0
  335. package/dist/domain/index.d.ts.map +1 -0
  336. package/dist/domain/index.js +7 -0
  337. package/dist/domain/index.js.map +1 -0
  338. package/dist/domain/model/constants.d.ts +73 -0
  339. package/dist/domain/model/constants.d.ts.map +1 -0
  340. package/dist/domain/model/constants.js +59 -0
  341. package/dist/domain/model/constants.js.map +1 -0
  342. package/dist/domain/model/index.d.ts +3 -0
  343. package/dist/domain/model/index.d.ts.map +1 -0
  344. package/dist/domain/model/index.js +2 -0
  345. package/dist/domain/model/index.js.map +1 -0
  346. package/dist/domain/model/types.d.ts +330 -0
  347. package/dist/domain/model/types.d.ts.map +1 -0
  348. package/dist/domain/model/types.js +8 -0
  349. package/dist/domain/model/types.js.map +1 -0
  350. package/dist/index.d.ts +17 -0
  351. package/dist/index.d.ts.map +1 -0
  352. package/dist/index.js +11 -0
  353. package/dist/index.js.map +1 -0
  354. package/dist/infrastructure/index.d.ts +3 -0
  355. package/dist/infrastructure/index.d.ts.map +1 -0
  356. package/dist/infrastructure/index.js +3 -0
  357. package/dist/infrastructure/index.js.map +1 -0
  358. package/dist/infrastructure/storage/constants.d.ts +4 -0
  359. package/dist/infrastructure/storage/constants.d.ts.map +1 -0
  360. package/dist/infrastructure/storage/constants.js +4 -0
  361. package/dist/infrastructure/storage/constants.js.map +1 -0
  362. package/dist/infrastructure/storage/errors.d.ts +55 -0
  363. package/dist/infrastructure/storage/errors.d.ts.map +1 -0
  364. package/dist/infrastructure/storage/errors.js +58 -0
  365. package/dist/infrastructure/storage/errors.js.map +1 -0
  366. package/dist/infrastructure/storage/index.d.ts +23 -0
  367. package/dist/infrastructure/storage/index.d.ts.map +1 -0
  368. package/dist/infrastructure/storage/index.js +13 -0
  369. package/dist/infrastructure/storage/index.js.map +1 -0
  370. package/dist/infrastructure/storage/recovery/restoreRecovery.d.ts +64 -0
  371. package/dist/infrastructure/storage/recovery/restoreRecovery.d.ts.map +1 -0
  372. package/dist/infrastructure/storage/recovery/restoreRecovery.js +148 -0
  373. package/dist/infrastructure/storage/recovery/restoreRecovery.js.map +1 -0
  374. package/dist/infrastructure/storage/sqlite/schema.d.ts +49 -0
  375. package/dist/infrastructure/storage/sqlite/schema.d.ts.map +1 -0
  376. package/dist/infrastructure/storage/sqlite/schema.js +529 -0
  377. package/dist/infrastructure/storage/sqlite/schema.js.map +1 -0
  378. package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts +5 -0
  379. package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts.map +1 -0
  380. package/dist/infrastructure/storage/sqlite/schemaTypes.js +2 -0
  381. package/dist/infrastructure/storage/sqlite/schemaTypes.js.map +1 -0
  382. package/dist/infrastructure/storage/sqlite/sqlScript.d.ts +9 -0
  383. package/dist/infrastructure/storage/sqlite/sqlScript.d.ts.map +1 -0
  384. package/dist/infrastructure/storage/sqlite/sqlScript.js +122 -0
  385. package/dist/infrastructure/storage/sqlite/sqlScript.js.map +1 -0
  386. package/dist/infrastructure/storage/sqlite/sqlState.d.ts +6 -0
  387. package/dist/infrastructure/storage/sqlite/sqlState.d.ts.map +1 -0
  388. package/dist/infrastructure/storage/sqlite/sqlState.js +14 -0
  389. package/dist/infrastructure/storage/sqlite/sqlState.js.map +1 -0
  390. package/dist/infrastructure/storage/sqlite/sqlTransaction.d.ts +6 -0
  391. package/dist/infrastructure/storage/sqlite/sqlTransaction.d.ts.map +1 -0
  392. package/dist/infrastructure/storage/sqlite/sqlTransaction.js +24 -0
  393. package/dist/infrastructure/storage/sqlite/sqlTransaction.js.map +1 -0
  394. package/dist/infrastructure/storage/sqlite/sqliteBridge.d.ts +44 -0
  395. package/dist/infrastructure/storage/sqlite/sqliteBridge.d.ts.map +1 -0
  396. package/dist/infrastructure/storage/sqlite/sqliteBridge.js +66 -0
  397. package/dist/infrastructure/storage/sqlite/sqliteBridge.js.map +1 -0
  398. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +101 -0
  399. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -0
  400. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +417 -0
  401. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -0
  402. package/dist/infrastructure/storage/state/observation/observationAudit.d.ts +16 -0
  403. package/dist/infrastructure/storage/state/observation/observationAudit.d.ts.map +1 -0
  404. package/dist/infrastructure/storage/state/observation/observationAudit.js +85 -0
  405. package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -0
  406. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +31 -0
  407. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -0
  408. package/dist/infrastructure/storage/state/observation/observationCanonical.js +439 -0
  409. package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -0
  410. package/dist/infrastructure/storage/state/observation/observationConstants.d.ts +53 -0
  411. package/dist/infrastructure/storage/state/observation/observationConstants.d.ts.map +1 -0
  412. package/dist/infrastructure/storage/state/observation/observationConstants.js +41 -0
  413. package/dist/infrastructure/storage/state/observation/observationConstants.js.map +1 -0
  414. package/dist/infrastructure/storage/state/observation/observationLedger.d.ts +49 -0
  415. package/dist/infrastructure/storage/state/observation/observationLedger.d.ts.map +1 -0
  416. package/dist/infrastructure/storage/state/observation/observationLedger.js +537 -0
  417. package/dist/infrastructure/storage/state/observation/observationLedger.js.map +1 -0
  418. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +15 -0
  419. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -0
  420. package/dist/infrastructure/storage/state/observation/observationQuarantine.js +100 -0
  421. package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -0
  422. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +124 -0
  423. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -0
  424. package/dist/infrastructure/storage/state/observation/observationTypes.js +13 -0
  425. package/dist/infrastructure/storage/state/observation/observationTypes.js.map +1 -0
  426. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +28 -0
  427. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -0
  428. package/dist/infrastructure/storage/state/observation/observationValidation.js +223 -0
  429. package/dist/infrastructure/storage/state/observation/observationValidation.js.map +1 -0
  430. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +28 -0
  431. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -0
  432. package/dist/infrastructure/storage/state/observation/observationWriter.js +293 -0
  433. package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -0
  434. package/dist/infrastructure/storage/state/readonly/readOnlyObservation.d.ts +58 -0
  435. package/dist/infrastructure/storage/state/readonly/readOnlyObservation.d.ts.map +1 -0
  436. package/dist/infrastructure/storage/state/readonly/readOnlyObservation.js +195 -0
  437. package/dist/infrastructure/storage/state/readonly/readOnlyObservation.js.map +1 -0
  438. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts +31 -0
  439. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -0
  440. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +563 -0
  441. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -0
  442. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts +118 -0
  443. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts.map +1 -0
  444. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js +18 -0
  445. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js.map +1 -0
  446. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +23 -0
  447. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -0
  448. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +84 -0
  449. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -0
  450. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +16 -0
  451. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -0
  452. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +97 -0
  453. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -0
  454. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +137 -0
  455. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -0
  456. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +396 -0
  457. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -0
  458. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +101 -0
  459. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -0
  460. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +9 -0
  461. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -0
  462. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +21 -0
  463. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -0
  464. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +184 -0
  465. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -0
  466. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +25 -0
  467. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -0
  468. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +158 -0
  469. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -0
  470. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +69 -0
  471. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -0
  472. package/dist/infrastructure/storage/sync/shared/syncRegistry.js +272 -0
  473. package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -0
  474. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +90 -0
  475. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +1 -0
  476. package/dist/infrastructure/storage/sync/shared/writerLease.js +282 -0
  477. package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -0
  478. package/dist/shared/constants.d.ts +8 -0
  479. package/dist/shared/constants.d.ts.map +1 -0
  480. package/dist/shared/constants.js +8 -0
  481. package/dist/shared/constants.js.map +1 -0
  482. package/dist/shared/encoding/constants.d.ts +45 -0
  483. package/dist/shared/encoding/constants.d.ts.map +1 -0
  484. package/dist/shared/encoding/constants.js +37 -0
  485. package/dist/shared/encoding/constants.js.map +1 -0
  486. package/dist/shared/encoding/index.d.ts +6 -0
  487. package/dist/shared/encoding/index.d.ts.map +1 -0
  488. package/dist/shared/encoding/index.js +4 -0
  489. package/dist/shared/encoding/index.js.map +1 -0
  490. package/dist/shared/encoding/stableEncode.d.ts +34 -0
  491. package/dist/shared/encoding/stableEncode.d.ts.map +1 -0
  492. package/dist/shared/encoding/stableEncode.js +210 -0
  493. package/dist/shared/encoding/stableEncode.js.map +1 -0
  494. package/dist/shared/encoding/typeGuards.d.ts +15 -0
  495. package/dist/shared/encoding/typeGuards.d.ts.map +1 -0
  496. package/dist/shared/encoding/typeGuards.js +11 -0
  497. package/dist/shared/encoding/typeGuards.js.map +1 -0
  498. package/dist/shared/encoding/types.d.ts +52 -0
  499. package/dist/shared/encoding/types.d.ts.map +1 -0
  500. package/dist/shared/encoding/types.js +8 -0
  501. package/dist/shared/encoding/types.js.map +1 -0
  502. package/dist/shared/index.d.ts +6 -0
  503. package/dist/shared/index.d.ts.map +1 -0
  504. package/dist/shared/index.js +6 -0
  505. package/dist/shared/index.js.map +1 -0
  506. package/dist/shared/state/constants.d.ts +16 -0
  507. package/dist/shared/state/constants.d.ts.map +1 -0
  508. package/dist/shared/state/constants.js +16 -0
  509. package/dist/shared/state/constants.js.map +1 -0
  510. package/dist/shared/state/index.d.ts +3 -0
  511. package/dist/shared/state/index.d.ts.map +1 -0
  512. package/dist/shared/state/index.js +2 -0
  513. package/dist/shared/state/index.js.map +1 -0
  514. package/dist/shared/state/types.d.ts +23 -0
  515. package/dist/shared/state/types.d.ts.map +1 -0
  516. package/dist/shared/state/types.js +2 -0
  517. package/dist/shared/state/types.js.map +1 -0
  518. package/dist/shared/validation.d.ts +9 -0
  519. package/dist/shared/validation.d.ts.map +1 -0
  520. package/dist/shared/validation.js +25 -0
  521. package/dist/shared/validation.js.map +1 -0
  522. package/docs/architecture.md +72 -0
  523. package/docs/code-guidelines.md +256 -0
  524. package/docs/development.md +48 -0
  525. package/docs/git-workflow.md +224 -0
  526. package/docs/mikro-orm-adapter-spike.md +248 -0
  527. package/docs/quick-start.md +102 -0
  528. package/docs/sql-layer-plan.md +59 -0
  529. package/docs/sync-bulk-write-benchmark.md +1036 -0
  530. package/docs/sync-observability.md +71 -0
  531. package/docs/task-queue-write-model.md +640 -0
  532. package/docs/typed-sheets-mvp-scope-2026-06-29.md +490 -0
  533. package/docs/typed-sheets-plan.md +417 -0
  534. package/docs/write-and-synchronization-flow.md +71 -0
  535. package/package.json +68 -0
@@ -0,0 +1,78 @@
1
+ import type { AnyEntity, EntityClass, EntitySchema } from "@mikro-orm/core";
2
+ import { MikroORM, SqliteDriver } from "@mikro-orm/sql";
3
+ import type { Options, SqlEntityManager } from "@mikro-orm/sql";
4
+ import type { SqlExecutor, SqlStorageAdapter, SqlStorageContext } from "../../../contracts/sql.js";
5
+ /** MikroORM entity-manager type used by the Node SQLite dialect. */
6
+ export type MikroOrmSqliteEntityManager = SqlEntityManager<SqliteDriver>;
7
+ /** MikroORM root instance configured with the generic Node SQLite driver. */
8
+ export type MikroOrmSqlite = MikroORM<SqliteDriver, MikroOrmSqliteEntityManager>;
9
+ /** Entity metadata accepted by the SQLite-backed MikroORM integration. */
10
+ export type MikroOrmSqliteEntity = string | EntityClass<AnyEntity> | EntitySchema;
11
+ /** Optional MikroORM settings owned by the host application. */
12
+ export type MikroOrmSqliteConfiguration = Omit<Partial<Options<SqliteDriver>>, "dbName" | "driver" | "driverOptions" | "entities">;
13
+ /** Inputs for creating the SQLite ORM instance that typed-sheets will use. */
14
+ export interface InitializeMikroOrmSqliteAdapterOptions {
15
+ /** SQLite database path, URI, or `:memory:` database name. */
16
+ readonly dbName: string;
17
+ /** Application entities managed by the dedicated Sheets-side MikroORM instance. */
18
+ readonly entities: readonly MikroOrmSqliteEntity[];
19
+ /** Optional MikroORM settings that do not select a different database or driver. */
20
+ readonly configuration?: MikroOrmSqliteConfiguration;
21
+ }
22
+ /**
23
+ * Adapter-specific transaction context for code that intentionally needs
24
+ * MikroORM entity lifecycle operations alongside typed-sheets storage SQL.
25
+ *
26
+ * Core storage must use `sql`; `entityManager` is an explicit escape hatch for
27
+ * integration code and never appears in the adapter-neutral contract.
28
+ */
29
+ export interface MikroOrmSqliteTransaction extends SqlStorageContext {
30
+ readonly entityManager: MikroOrmSqliteEntityManager;
31
+ }
32
+ /**
33
+ * Connects typed-sheets storage SQL to one MikroORM-managed SQLite database.
34
+ *
35
+ * The adapter never opens a second `node:sqlite` connection. Raw storage SQL
36
+ * and MikroORM entity changes therefore share the same transaction context.
37
+ */
38
+ export declare class MikroOrmSqliteAdapter implements SqlStorageAdapter {
39
+ private readonly orm;
40
+ constructor(orm: MikroOrmSqlite);
41
+ /** Creates an isolated MikroORM manager for one typed-sheets EntityManager facade. */
42
+ forkEntityManager(): MikroOrmSqliteEntityManager;
43
+ /**
44
+ * Creates a SQL executor bound to the supplied manager's current transaction.
45
+ *
46
+ * This is adapter-specific plumbing for the typed-sheets ORM facade; callers
47
+ * should use the facade rather than mixing raw entity and sync writes.
48
+ */
49
+ createSqlExecutor(entityManager: MikroOrmSqliteEntityManager): SqlExecutor;
50
+ /** Runs a read through a fresh EntityManager to avoid stale identity-map state. */
51
+ read<T>(operation: (context: SqlStorageContext) => Promise<T>): Promise<T>;
52
+ /** Runs adapter-neutral storage work in one MikroORM transaction. */
53
+ transaction<T>(operation: (context: SqlStorageContext) => Promise<T>): Promise<T>;
54
+ /**
55
+ * Runs integration work that needs both the active MikroORM EntityManager and
56
+ * the transaction-bound storage SQL executor.
57
+ */
58
+ transactional<T>(operation: (context: MikroOrmSqliteTransaction) => Promise<T>): Promise<T>;
59
+ /** Closes the SQLite connection owned by this adapter. */
60
+ close(force?: boolean): Promise<void>;
61
+ /**
62
+ * Creates missing entity tables and applies only non-destructive entity-schema updates.
63
+ *
64
+ * This is intentionally explicit instead of running during adapter creation:
65
+ * a production process must opt into changing its SQLite schema at startup.
66
+ */
67
+ migrateEntitySchema(): Promise<void>;
68
+ }
69
+ /** Creates a typed-sheets storage adapter around an application-owned MikroORM instance. */
70
+ export declare function createMikroOrmSqliteAdapter(orm: MikroOrmSqlite): MikroOrmSqliteAdapter;
71
+ /**
72
+ * Opens the dedicated SQLite MikroORM instance used for Sheets-backed entities.
73
+ *
74
+ * This intentionally creates a separate ORM from any application-owned MySQL
75
+ * instance, so Sheet entities cannot accidentally write to the primary database.
76
+ */
77
+ export declare function initializeMikroOrmSqliteAdapter(options: InitializeMikroOrmSqliteAdapterOptions): Promise<MikroOrmSqliteAdapter>;
78
+ //# sourceMappingURL=MikroOrmSqliteAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MikroOrmSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,YAAY,EAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EAER,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,KAAK,EACV,WAAW,EAIX,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,oEAAoE;AACpE,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;AAEzE,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;AAEjF,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;AAElF,gEAAgE;AAChE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAC9B,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,UAAU,CACnD,CAAC;AAEF,8EAA8E;AAC9E,MAAM,WAAW,sCAAsC;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,oFAAoF;IACpF,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CACtD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;CACrD;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,cAAc;IAEhD,sFAAsF;IACtF,iBAAiB,IAAI,2BAA2B;IAIhD;;;;;OAKG;IACH,iBAAiB,CAAC,aAAa,EAAE,2BAA2B,GAAG,WAAW;IAI1E,mFAAmF;IAC7E,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhF,qEAAqE;IAC/D,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvF;;;OAGG;IACG,aAAa,CAAC,CAAC,EACnB,SAAS,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5D,OAAO,CAAC,CAAC,CAAC;IAMb,0DAA0D;IACpD,KAAK,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAM3C;AAED,4FAA4F;AAC5F,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,cAAc,GAAG,qBAAqB,CAEtF;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,qBAAqB,CAAC,CAShC"}
@@ -0,0 +1,121 @@
1
+ import { MikroORM, NodeSqliteDialect, SqliteDriver, } from "@mikro-orm/sql";
2
+ /**
3
+ * Connects typed-sheets storage SQL to one MikroORM-managed SQLite database.
4
+ *
5
+ * The adapter never opens a second `node:sqlite` connection. Raw storage SQL
6
+ * and MikroORM entity changes therefore share the same transaction context.
7
+ */
8
+ export class MikroOrmSqliteAdapter {
9
+ orm;
10
+ constructor(orm) {
11
+ this.orm = orm;
12
+ }
13
+ /** Creates an isolated MikroORM manager for one typed-sheets EntityManager facade. */
14
+ forkEntityManager() {
15
+ return this.orm.em.fork();
16
+ }
17
+ /**
18
+ * Creates a SQL executor bound to the supplied manager's current transaction.
19
+ *
20
+ * This is adapter-specific plumbing for the typed-sheets ORM facade; callers
21
+ * should use the facade rather than mixing raw entity and sync writes.
22
+ */
23
+ createSqlExecutor(entityManager) {
24
+ return new MikroOrmSqlExecutor(entityManager);
25
+ }
26
+ /** Runs a read through a fresh EntityManager to avoid stale identity-map state. */
27
+ async read(operation) {
28
+ const entityManager = this.forkEntityManager();
29
+ return operation(createStorageContext(entityManager));
30
+ }
31
+ /** Runs adapter-neutral storage work in one MikroORM transaction. */
32
+ async transaction(operation) {
33
+ return this.transactional(async (context) => operation(context));
34
+ }
35
+ /**
36
+ * Runs integration work that needs both the active MikroORM EntityManager and
37
+ * the transaction-bound storage SQL executor.
38
+ */
39
+ async transactional(operation) {
40
+ return this.orm.em.transactional(async (entityManager) => {
41
+ return operation(createMikroOrmTransaction(entityManager));
42
+ });
43
+ }
44
+ /** Closes the SQLite connection owned by this adapter. */
45
+ async close(force = false) {
46
+ await this.orm.close(force);
47
+ }
48
+ /**
49
+ * Creates missing entity tables and applies only non-destructive entity-schema updates.
50
+ *
51
+ * This is intentionally explicit instead of running during adapter creation:
52
+ * a production process must opt into changing its SQLite schema at startup.
53
+ */
54
+ async migrateEntitySchema() {
55
+ await this.orm.schema.update({
56
+ safe: true,
57
+ dropTables: false,
58
+ });
59
+ }
60
+ }
61
+ /** Creates a typed-sheets storage adapter around an application-owned MikroORM instance. */
62
+ export function createMikroOrmSqliteAdapter(orm) {
63
+ return new MikroOrmSqliteAdapter(orm);
64
+ }
65
+ /**
66
+ * Opens the dedicated SQLite MikroORM instance used for Sheets-backed entities.
67
+ *
68
+ * This intentionally creates a separate ORM from any application-owned MySQL
69
+ * instance, so Sheet entities cannot accidentally write to the primary database.
70
+ */
71
+ export async function initializeMikroOrmSqliteAdapter(options) {
72
+ const orm = await MikroORM.init({
73
+ ...options.configuration,
74
+ driver: SqliteDriver,
75
+ dbName: options.dbName,
76
+ driverOptions: new NodeSqliteDialect(options.dbName),
77
+ entities: [...options.entities],
78
+ });
79
+ return new MikroOrmSqliteAdapter(orm);
80
+ }
81
+ function createStorageContext(entityManager) {
82
+ return { sql: new MikroOrmSqlExecutor(entityManager) };
83
+ }
84
+ function createMikroOrmTransaction(entityManager) {
85
+ return {
86
+ entityManager,
87
+ sql: new MikroOrmSqlExecutor(entityManager),
88
+ };
89
+ }
90
+ /** Maps the transaction-aware MikroORM raw-query API to the neutral SQL contract. */
91
+ class MikroOrmSqlExecutor {
92
+ entityManager;
93
+ constructor(entityManager) {
94
+ this.entityManager = entityManager;
95
+ }
96
+ async all(sql, parameters = []) {
97
+ const rows = await this.entityManager.execute(sql, [...parameters], "all");
98
+ return rows;
99
+ }
100
+ async get(sql, parameters = []) {
101
+ const row = await this.entityManager.execute(sql, [...parameters], "get");
102
+ return row;
103
+ }
104
+ async run(sql, parameters = []) {
105
+ const result = await this.entityManager.execute(sql, [...parameters], "run");
106
+ return toSqlMutationResult(result);
107
+ }
108
+ }
109
+ function toSqlMutationResult(result) {
110
+ if (isSqlGeneratedId(result.insertId)) {
111
+ return {
112
+ changes: result.affectedRows,
113
+ lastInsertId: result.insertId,
114
+ };
115
+ }
116
+ return { changes: result.affectedRows };
117
+ }
118
+ function isSqlGeneratedId(value) {
119
+ return typeof value === "string" || typeof value === "number" || typeof value === "bigint";
120
+ }
121
+ //# sourceMappingURL=MikroOrmSqliteAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MikroOrmSqliteAdapter.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { SqlStorageAdapter } from "../../../contracts/sql.js";
2
+ import type { MikroOrmSqliteAdapter } from "./MikroOrmSqliteAdapter.js";
3
+ import { type SchemaMigrationResult } from "../../../../../infrastructure/storage/sqlite/schema.js";
4
+ /**
5
+ * Migrates typed-sheets sync tables through the application-owned MikroORM
6
+ * SQLite connection.
7
+ *
8
+ * This preserves the existing `PRAGMA user_version` migration contract while
9
+ * ensuring DDL and later entity/outbox writes use one ORM-owned connection.
10
+ */
11
+ export declare function migrateMikroOrmSqliteSchema(storage: SqlStorageAdapter): Promise<SchemaMigrationResult>;
12
+ /**
13
+ * Applies the dedicated MikroORM entity schema and typed-sheets sync schema.
14
+ *
15
+ * Entity changes use MikroORM's non-destructive schema update; sync tables
16
+ * retain the explicit `PRAGMA user_version` migration sequence. The two schema
17
+ * systems are intentionally run in this order and are independently idempotent.
18
+ */
19
+ export declare function migrateMikroOrmSqliteStorageSchema(storage: MikroOrmSqliteAdapter): Promise<SchemaMigrationResult>;
20
+ //# sourceMappingURL=MikroOrmSqliteSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MikroOrmSqliteSchema.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EAOL,KAAK,qBAAqB,EAC3B,MAAM,wDAAwD,CAAC;AAOhE;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAwDhC;AAED;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAGhC"}
@@ -0,0 +1,125 @@
1
+ import { STORAGE_ERROR_CODES, StorageError } from "../../../../../infrastructure/storage/errors.js";
2
+ import { CURRENT_SCHEMA_VERSION, REQUIRED_V2_COLUMNS, REQUIRED_V3_COLUMNS, SQLITE_CONNECTION_PRAGMAS, syncSchemaIndexesDdl, syncSchemaTablesDdl, } from "../../../../../infrastructure/storage/sqlite/schema.js";
3
+ import { executeSqlScript } from "../../../../../infrastructure/storage/sqlite/sqlScript.js";
4
+ /**
5
+ * Migrates typed-sheets sync tables through the application-owned MikroORM
6
+ * SQLite connection.
7
+ *
8
+ * This preserves the existing `PRAGMA user_version` migration contract while
9
+ * ensuring DDL and later entity/outbox writes use one ORM-owned connection.
10
+ */
11
+ export async function migrateMikroOrmSqliteSchema(storage) {
12
+ // `journal_mode` must be configured before the write transaction begins.
13
+ await storage.read(async ({ sql }) => executeSqlScript(sql, SQLITE_CONNECTION_PRAGMAS));
14
+ return storage.transaction(async ({ sql }) => {
15
+ const fromVersion = await readSchemaVersion(sql);
16
+ if (fromVersion > CURRENT_SCHEMA_VERSION) {
17
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_VERSION_TOO_NEW, `SQLite schema version ${fromVersion} is newer than supported version ${CURRENT_SCHEMA_VERSION}.`);
18
+ }
19
+ const hasSchema = await tableExists(sql, "sheet_registry");
20
+ if (fromVersion === 0 && !hasSchema) {
21
+ await executeSqlScript(sql, syncSchemaTablesDdl());
22
+ await verifyRequiredColumns(sql);
23
+ await executeSqlScript(sql, syncSchemaIndexesDdl());
24
+ await writeSchemaVersion(sql, CURRENT_SCHEMA_VERSION);
25
+ await verifyCurrentSchema(sql);
26
+ return {
27
+ fromVersion,
28
+ toVersion: CURRENT_SCHEMA_VERSION,
29
+ appliedVersions: [CURRENT_SCHEMA_VERSION],
30
+ };
31
+ }
32
+ if (!hasSchema) {
33
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_TABLE_MISSING, "SQLite schema is missing sheet_registry and cannot be migrated safely.");
34
+ }
35
+ await executeSqlScript(sql, syncSchemaTablesDdl());
36
+ const appliedVersions = [];
37
+ if (fromVersion < 2) {
38
+ await applyVersion2CandidateEpochMigration(sql);
39
+ await writeSchemaVersion(sql, 2);
40
+ appliedVersions.push(2);
41
+ }
42
+ if (fromVersion < 3) {
43
+ await applyVersion3EffectTimestampMigration(sql);
44
+ await writeSchemaVersion(sql, 3);
45
+ appliedVersions.push(3);
46
+ }
47
+ await verifyRequiredColumns(sql);
48
+ await executeSqlScript(sql, syncSchemaIndexesDdl());
49
+ await verifyCurrentSchema(sql);
50
+ return {
51
+ fromVersion,
52
+ toVersion: CURRENT_SCHEMA_VERSION,
53
+ appliedVersions,
54
+ };
55
+ });
56
+ }
57
+ /**
58
+ * Applies the dedicated MikroORM entity schema and typed-sheets sync schema.
59
+ *
60
+ * Entity changes use MikroORM's non-destructive schema update; sync tables
61
+ * retain the explicit `PRAGMA user_version` migration sequence. The two schema
62
+ * systems are intentionally run in this order and are independently idempotent.
63
+ */
64
+ export async function migrateMikroOrmSqliteStorageSchema(storage) {
65
+ await storage.migrateEntitySchema();
66
+ return migrateMikroOrmSqliteSchema(storage);
67
+ }
68
+ async function applyVersion2CandidateEpochMigration(sql) {
69
+ await addColumnIfMissing(sql, "sync_conflict", "candidate_epoch", "INTEGER NOT NULL DEFAULT 0");
70
+ await addColumnIfMissing(sql, "resolution_command", "expected_candidate_epoch", "INTEGER NOT NULL DEFAULT 0");
71
+ }
72
+ async function applyVersion3EffectTimestampMigration(sql) {
73
+ await addColumnIfMissing(sql, "sheet_effect_outbox", "created_at", "INTEGER NOT NULL DEFAULT 0");
74
+ }
75
+ async function verifyCurrentSchema(sql) {
76
+ await verifyRequiredColumns(sql);
77
+ if (!(await indexExists(sql, "sync_conflict_candidate_attempt_uq"))) {
78
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_INDEX_MISSING, "SQLite schema is missing sync_conflict_candidate_attempt_uq.");
79
+ }
80
+ }
81
+ async function verifyRequiredColumns(sql) {
82
+ for (const [tableName, requiredColumns] of Object.entries(REQUIRED_V2_COLUMNS)) {
83
+ await verifyTableColumns(sql, tableName, requiredColumns);
84
+ }
85
+ for (const [tableName, requiredColumns] of Object.entries(REQUIRED_V3_COLUMNS)) {
86
+ await verifyTableColumns(sql, tableName, requiredColumns);
87
+ }
88
+ }
89
+ async function verifyTableColumns(sql, tableName, requiredColumns) {
90
+ if (!(await tableExists(sql, tableName))) {
91
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_TABLE_MISSING, `SQLite schema is missing ${tableName}; refusing an unsafe migration marker.`);
92
+ }
93
+ for (const columnName of requiredColumns) {
94
+ if (!(await columnExists(sql, tableName, columnName))) {
95
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_COLUMN_MISSING, `SQLite schema is missing ${tableName}.${columnName}; refusing an unsafe migration marker.`);
96
+ }
97
+ }
98
+ }
99
+ async function addColumnIfMissing(sql, tableName, columnName, definition) {
100
+ if (await columnExists(sql, tableName, columnName))
101
+ return;
102
+ await sql.run(`ALTER TABLE ${tableName} ADD COLUMN ${columnName} ${definition}`);
103
+ }
104
+ async function readSchemaVersion(sql) {
105
+ const row = await sql.get("PRAGMA user_version");
106
+ const version = row?.user_version;
107
+ if (typeof version !== "number" || !Number.isSafeInteger(version) || version < 0) {
108
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_VERSION_INVALID, "SQLite user_version must be a non-negative safe integer.");
109
+ }
110
+ return version;
111
+ }
112
+ async function writeSchemaVersion(sql, version) {
113
+ await sql.run(`PRAGMA user_version = ${version}`);
114
+ }
115
+ async function tableExists(sql, tableName) {
116
+ return (await sql.get("SELECT 1 AS present FROM sqlite_master WHERE type = 'table' AND name = ?", [tableName])) !== undefined;
117
+ }
118
+ async function columnExists(sql, tableName, columnName) {
119
+ const rows = await sql.all(`PRAGMA table_info(${tableName})`);
120
+ return rows.some((row) => row.name === columnName);
121
+ }
122
+ async function indexExists(sql, indexName) {
123
+ return (await sql.get("SELECT 1 AS present FROM sqlite_master WHERE type = 'index' AND name = ?", [indexName])) !== undefined;
124
+ }
125
+ //# sourceMappingURL=MikroOrmSqliteSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MikroOrmSqliteSchema.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { CoreErrorException } from "../../../../domain/errors/index.js";
2
+ import type { Presence } from "../../../../shared/state/index.js";
3
+ /** Stable error categories emitted by the signed gateway protocol. */
4
+ export declare const SYNC_GATEWAY_PROTOCOL_ERROR_CODES: {
5
+ readonly INVALID_OPERATION: "invalid_sync_gateway_operation";
6
+ readonly INVALID_SECRET: "invalid_sync_gateway_secret";
7
+ readonly INVALID_ISSUED_AT: "invalid_sync_gateway_issued_at";
8
+ readonly INVALID_EXPIRY: "invalid_sync_gateway_expiry";
9
+ readonly INVALID_SHEET_ID: "invalid_sync_gateway_sheet_id";
10
+ readonly INVALID_ACTOR_ID: "invalid_sync_gateway_actor_id";
11
+ readonly INVALID_KEY_ID: "invalid_sync_gateway_key_id";
12
+ readonly INVALID_REQUEST_ID: "invalid_sync_gateway_request_id";
13
+ readonly INVALID_CLIENT_OPTIONS: "invalid_sync_gateway_client_options";
14
+ readonly INVALID_OPERATION_SOURCE: "invalid_sync_gateway_operation_source";
15
+ readonly INVALID_JSON_VALUE: "invalid_sync_gateway_json_value";
16
+ readonly NON_FINITE_NUMBER: "non_finite_sync_gateway_number";
17
+ };
18
+ export type SyncGatewayProtocolErrorCode = (typeof SYNC_GATEWAY_PROTOCOL_ERROR_CODES)[keyof typeof SYNC_GATEWAY_PROTOCOL_ERROR_CODES];
19
+ /** Structured error for invalid protocol inputs and payload values. */
20
+ export declare class SyncGatewayProtocolError extends CoreErrorException<"adapter.sync_gateway", SyncGatewayProtocolErrorCode> {
21
+ constructor(code: SyncGatewayProtocolErrorCode, message: string);
22
+ }
23
+ /** Stable errors emitted by the Node-side Apps Script transport client. */
24
+ export declare const SYNC_GATEWAY_CLIENT_ERROR_CODES: {
25
+ readonly HTTP_ERROR: "sync_gateway_http_error";
26
+ readonly INVALID_RESPONSE: "invalid_sync_gateway_response";
27
+ readonly NETWORK_ERROR: "sync_gateway_network_error";
28
+ readonly REMOTE_ERROR: "sync_gateway_remote_error";
29
+ readonly TIMEOUT: "sync_gateway_timeout";
30
+ };
31
+ export type SyncGatewayClientErrorCode = (typeof SYNC_GATEWAY_CLIENT_ERROR_CODES)[keyof typeof SYNC_GATEWAY_CLIENT_ERROR_CODES];
32
+ /** Structured transport error with explicit HTTP-status and remote-code presence. */
33
+ export declare class AppsScriptSyncGatewayError extends CoreErrorException<"adapter.sync_gateway", SyncGatewayClientErrorCode> {
34
+ readonly status: Presence<number>;
35
+ readonly remoteCode: Presence<string>;
36
+ constructor(code: SyncGatewayClientErrorCode, message: string, status: Presence<number>, remoteCode?: Presence<string>);
37
+ }
38
+ /** Throws the shared contract error used when an operation request is invalid. */
39
+ export declare function invalidOperationRequest(operationLabel: string, message: string): never;
40
+ /** Throws the shared contract error used when an operation response is invalid. */
41
+ export declare function invalidOperationResponse(operationLabel: string, message: string): never;
42
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/apps-script-gateway/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAMlE,sEAAsE;AACtE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;CAapC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACtC,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,OAAO,iCAAiC,CAAC,CAAC;AAE7F,uEAAuE;AACvE,qBAAa,wBAAyB,SAAQ,kBAAkB,CAC9D,sBAAsB,EACtB,4BAA4B,CAC7B;gBACa,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM;CAGhE;AAED,2EAA2E;AAC3E,eAAO,MAAM,+BAA+B;;;;;;CAMlC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,OAAO,+BAA+B,CAAC,CAAC;AAEzF,qFAAqF;AACrF,qBAAa,0BAA2B,SAAQ,kBAAkB,CAChE,sBAAsB,EACtB,0BAA0B,CAC3B;IACC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAGpC,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,UAAU,GAAE,QAAQ,CAAC,MAAM,CAAmC;CAMjE;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,KAAK,CAKP;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,KAAK,CAKP"}
@@ -0,0 +1,51 @@
1
+ import { CoreErrorException } from "../../../../domain/errors/index.js";
2
+ import { PRESENCE_KINDS } from "../../../../shared/state/index.js";
3
+ import { SYNC_GATEWAY_ERROR_CODES, SyncGatewayContractError, } from "../../../../application/sync/gateway/errors.js";
4
+ /** Stable error categories emitted by the signed gateway protocol. */
5
+ export const SYNC_GATEWAY_PROTOCOL_ERROR_CODES = {
6
+ INVALID_OPERATION: "invalid_sync_gateway_operation",
7
+ INVALID_SECRET: "invalid_sync_gateway_secret",
8
+ INVALID_ISSUED_AT: "invalid_sync_gateway_issued_at",
9
+ INVALID_EXPIRY: "invalid_sync_gateway_expiry",
10
+ INVALID_SHEET_ID: "invalid_sync_gateway_sheet_id",
11
+ INVALID_ACTOR_ID: "invalid_sync_gateway_actor_id",
12
+ INVALID_KEY_ID: "invalid_sync_gateway_key_id",
13
+ INVALID_REQUEST_ID: "invalid_sync_gateway_request_id",
14
+ INVALID_CLIENT_OPTIONS: "invalid_sync_gateway_client_options",
15
+ INVALID_OPERATION_SOURCE: "invalid_sync_gateway_operation_source",
16
+ INVALID_JSON_VALUE: "invalid_sync_gateway_json_value",
17
+ NON_FINITE_NUMBER: "non_finite_sync_gateway_number",
18
+ };
19
+ /** Structured error for invalid protocol inputs and payload values. */
20
+ export class SyncGatewayProtocolError extends CoreErrorException {
21
+ constructor(code, message) {
22
+ super("adapter.sync_gateway", code, message);
23
+ }
24
+ }
25
+ /** Stable errors emitted by the Node-side Apps Script transport client. */
26
+ export const SYNC_GATEWAY_CLIENT_ERROR_CODES = {
27
+ HTTP_ERROR: "sync_gateway_http_error",
28
+ INVALID_RESPONSE: "invalid_sync_gateway_response",
29
+ NETWORK_ERROR: "sync_gateway_network_error",
30
+ REMOTE_ERROR: "sync_gateway_remote_error",
31
+ TIMEOUT: "sync_gateway_timeout",
32
+ };
33
+ /** Structured transport error with explicit HTTP-status and remote-code presence. */
34
+ export class AppsScriptSyncGatewayError extends CoreErrorException {
35
+ status;
36
+ remoteCode;
37
+ constructor(code, message, status, remoteCode = { kind: PRESENCE_KINDS.ABSENT }) {
38
+ super("adapter.sync_gateway", code, message);
39
+ this.status = status;
40
+ this.remoteCode = remoteCode;
41
+ }
42
+ }
43
+ /** Throws the shared contract error used when an operation request is invalid. */
44
+ export function invalidOperationRequest(operationLabel, message) {
45
+ throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_EFFECT_PAYLOAD, `${operationLabel} request is invalid: ${message}`);
46
+ }
47
+ /** Throws the shared contract error used when an operation response is invalid. */
48
+ export function invalidOperationResponse(operationLabel, message) {
49
+ throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE, `${operationLabel} response is invalid: ${message}`);
50
+ }
51
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/apps-script-gateway/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,gDAAgD,CAAC;AAExD,sEAAsE;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,iBAAiB,EAAE,gCAAgC;IACnD,cAAc,EAAE,6BAA6B;IAC7C,iBAAiB,EAAE,gCAAgC;IACnD,cAAc,EAAE,6BAA6B;IAC7C,gBAAgB,EAAE,+BAA+B;IACjD,gBAAgB,EAAE,+BAA+B;IACjD,cAAc,EAAE,6BAA6B;IAC7C,kBAAkB,EAAE,iCAAiC;IACrD,sBAAsB,EAAE,qCAAqC;IAC7D,wBAAwB,EAAE,uCAAuC;IACjE,kBAAkB,EAAE,iCAAiC;IACrD,iBAAiB,EAAE,gCAAgC;CAC3C,CAAC;AAKX,uEAAuE;AACvE,MAAM,OAAO,wBAAyB,SAAQ,kBAG7C;IACC,YAAY,IAAkC,EAAE,OAAe;QAC7D,KAAK,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,UAAU,EAAE,yBAAyB;IACrC,gBAAgB,EAAE,+BAA+B;IACjD,aAAa,EAAE,4BAA4B;IAC3C,YAAY,EAAE,2BAA2B;IACzC,OAAO,EAAE,sBAAsB;CACvB,CAAC;AAKX,qFAAqF;AACrF,MAAM,OAAO,0BAA2B,SAAQ,kBAG/C;IACU,MAAM,CAAmB;IACzB,UAAU,CAAmB;IAEtC,YACE,IAAgC,EAChC,OAAe,EACf,MAAwB,EACxB,aAA+B,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE;QAE9D,KAAK,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,kFAAkF;AAClF,MAAM,UAAU,uBAAuB,CACrC,cAAsB,EACtB,OAAe;IAEf,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,sBAAsB,EAC/C,GAAG,cAAc,wBAAwB,OAAO,EAAE,CACnD,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,wBAAwB,CACtC,cAAsB,EACtB,OAAe;IAEf,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,wBAAwB,EACjD,GAAG,cAAc,yBAAyB,OAAO,EAAE,CACpD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** Signed adapter tools for the registry-bound Apps Script sync gateway. */
2
+ export { APPS_SCRIPT_OPERATION_NAMES, } from "./protocol/constants.js";
3
+ export type { AppsScriptOperationName } from "./protocol/constants.js";
4
+ export { canonicalSyncJson, syncSha256Hex, } from "./protocol/syncProtocol.js";
5
+ export type { SyncJsonValue, } from "./protocol/syncProtocol.js";
6
+ export { AppsScriptSyncGatewayError, SYNC_GATEWAY_CLIENT_ERROR_CODES, } from "./errors.js";
7
+ export type { SyncGatewayClientErrorCode } from "./errors.js";
8
+ export { APPS_SCRIPT_OPERATION_PROTOCOL_VERSION, appsScriptOperationSigningInput, signAppsScriptOperationEnvelope, createAppsScriptOperationEnvelope, } from "./protocol/codeGsProtocol.js";
9
+ export type { AppsScriptOperationWire, AppsScriptOperationPayload, AppsScriptOperationSigningFields, AppsScriptOperationEnvelope, CreateAppsScriptOperationEnvelopeOptions, } from "./protocol/codeGsProtocol.js";
10
+ export { AppsScriptOperationClient } from "./transport/operationClient.js";
11
+ export { createFastAppendRowsOperation } from "./operations/write/fastAppendOperation.js";
12
+ export { createReadTableRowsOperation } from "./operations/read/tableReadOperation.js";
13
+ export { createApplyEffectsOperation, createReadEffectPostconditionOperation, createReadEffectPostconditionsOperation, } from "./operations/effect/effectOperation.js";
14
+ export { createEnsureRowAnchorsOperation, createObserveSnapshotOperation, createReadSnapshotOperation, } from "./operations/observation/observationOperation.js";
15
+ export { AppsScriptOperationSyncGateway } from "./transport/operationSyncGateway.js";
16
+ export type { AppsScriptOperationDefinition, AnyAppsScriptOperationDefinition, AppsScriptOperationGateway, AppsScriptOperationResult, AppsScriptOperationResults, AppsScriptOperationClientOptions, AppsScriptOperationRequestEvent, } from "./transport/operationClient.js";
17
+ export type { AppsScriptFastAppendOperationArgs, AppsScriptFastAppendOperationRequest, AppsScriptFastAppendOperation, } from "./operations/write/fastAppendOperation.js";
18
+ export type { AppsScriptApplyEffectsOperationArgs, AppsScriptApplyEffectsOperationRequest, AppsScriptReadEffectPostconditionOperationArgs, AppsScriptReadEffectPostconditionsOperationArgs, } from "./operations/effect/effectOperation.js";
19
+ export type { AppsScriptEnsureRowAnchorsOperationArgs, AppsScriptObserveSnapshotOperationArgs, AppsScriptReadSnapshotOperationArgs, } from "./operations/observation/observationOperation.js";
20
+ export type { AppsScriptReadTableRowsRequest, } from "./operations/read/tableReadOperation.js";
21
+ export type { AppsScriptOperationProjectionStatus, AppsScriptOperationSyncGatewayOptions, } from "./transport/operationSyncGateway.js";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/apps-script-gateway/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EACL,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,sCAAsC,EACtC,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,2BAA2B,EAC3B,wCAAwC,GACzC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,EACtC,uCAAuC,GACxC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,iCAAiC,EACjC,oCAAoC,EACpC,6BAA6B,GAC9B,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,mCAAmC,EACnC,sCAAsC,EACtC,8CAA8C,EAC9C,+CAA+C,GAChD,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,uCAAuC,EACvC,sCAAsC,EACtC,mCAAmC,GACpC,MAAM,kDAAkD,CAAC;AAC1D,YAAY,EACV,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,YAAY,EACV,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** Signed adapter tools for the registry-bound Apps Script sync gateway. */
2
+ export { APPS_SCRIPT_OPERATION_NAMES, } from "./protocol/constants.js";
3
+ export { canonicalSyncJson, syncSha256Hex, } from "./protocol/syncProtocol.js";
4
+ export { AppsScriptSyncGatewayError, SYNC_GATEWAY_CLIENT_ERROR_CODES, } from "./errors.js";
5
+ export { APPS_SCRIPT_OPERATION_PROTOCOL_VERSION, appsScriptOperationSigningInput, signAppsScriptOperationEnvelope, createAppsScriptOperationEnvelope, } from "./protocol/codeGsProtocol.js";
6
+ export { AppsScriptOperationClient } from "./transport/operationClient.js";
7
+ export { createFastAppendRowsOperation } from "./operations/write/fastAppendOperation.js";
8
+ export { createReadTableRowsOperation } from "./operations/read/tableReadOperation.js";
9
+ export { createApplyEffectsOperation, createReadEffectPostconditionOperation, createReadEffectPostconditionsOperation, } from "./operations/effect/effectOperation.js";
10
+ export { createEnsureRowAnchorsOperation, createObserveSnapshotOperation, createReadSnapshotOperation, } from "./operations/observation/observationOperation.js";
11
+ export { AppsScriptOperationSyncGateway } from "./transport/operationSyncGateway.js";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/apps-script-gateway/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EACL,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sCAAsC,EACtC,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AAQtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,EACtC,uCAAuC,GACxC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,42 @@
1
+ /** Thin-Gateway operations for regular projection effects and recovery reads. */
2
+ import type { ApplySyncEffectsRequest, ApplySyncEffectsResult, SyncEffectPostcondition, SyncGatewayEffect, SyncGatewayEffectPostconditionResult } from "../../../../../../application/sync/gateway/syncGateway.js";
3
+ import type { AppsScriptOperationDefinition } from "../../transport/operationClient.js";
4
+ declare const EFFECT_OPERATION_MODES: {
5
+ readonly APPLY: "applyEffects";
6
+ readonly READ_ONE: "readEffectPostcondition";
7
+ readonly READ_BATCH: "readEffectPostconditions";
8
+ };
9
+ interface EffectOperationRouteOptions {
10
+ readonly identityField?: string;
11
+ readonly checkboxHeaders?: readonly string[];
12
+ }
13
+ export type AppsScriptApplyEffectsOperationRequest = ApplySyncEffectsRequest & EffectOperationRouteOptions;
14
+ export type AppsScriptApplyEffectsOperationArgs = {
15
+ readonly mode: typeof EFFECT_OPERATION_MODES.APPLY;
16
+ } & AppsScriptApplyEffectsOperationRequest;
17
+ export type AppsScriptReadEffectPostconditionOperationArgs = {
18
+ readonly mode: typeof EFFECT_OPERATION_MODES.READ_ONE;
19
+ readonly physicalSheetId: string;
20
+ readonly sheetName: string;
21
+ readonly registeredRange: string;
22
+ readonly projection: ApplySyncEffectsRequest["projection"];
23
+ readonly schemaVersion: number;
24
+ readonly effect: SyncGatewayEffect;
25
+ } & EffectOperationRouteOptions;
26
+ export type AppsScriptReadEffectPostconditionsOperationArgs = {
27
+ readonly mode: typeof EFFECT_OPERATION_MODES.READ_BATCH;
28
+ readonly physicalSheetId: string;
29
+ readonly sheetName: string;
30
+ readonly registeredRange: string;
31
+ readonly projection: ApplySyncEffectsRequest["projection"];
32
+ readonly schemaVersion: number;
33
+ readonly effects: readonly SyncGatewayEffect[];
34
+ } & EffectOperationRouteOptions;
35
+ /** Builds the regular update/delete operation executed by the thin Gateway. */
36
+ export declare function createApplyEffectsOperation(request: AppsScriptApplyEffectsOperationRequest): AppsScriptOperationDefinition<AppsScriptApplyEffectsOperationArgs, ApplySyncEffectsResult>;
37
+ /** Builds the single-effect response-loss probe. */
38
+ export declare function createReadEffectPostconditionOperation(request: Omit<AppsScriptReadEffectPostconditionOperationArgs, "mode">): AppsScriptOperationDefinition<AppsScriptReadEffectPostconditionOperationArgs, SyncEffectPostcondition>;
39
+ /** Builds the batched response-loss probe used by the worker. */
40
+ export declare function createReadEffectPostconditionsOperation(request: Omit<AppsScriptReadEffectPostconditionsOperationArgs, "mode">): AppsScriptOperationDefinition<AppsScriptReadEffectPostconditionsOperationArgs, readonly SyncGatewayEffectPostconditionResult[]>;
41
+ export {};
42
+ //# sourceMappingURL=effectOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectOperation.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,oCAAoC,EAErC,MAAM,2DAA2D,CAAC;AAiBnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAQxF,QAAA,MAAM,sBAAsB;;;;CAIlB,CAAC;AAEX,UAAU,2BAA2B;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,MAAM,MAAM,sCAAsC,GAAG,uBAAuB,GAC1E,2BAA2B,CAAC;AAE9B,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,sBAAsB,CAAC,KAAK,CAAC;CACpD,GAAG,sCAAsC,CAAC;AAE3C,MAAM,MAAM,8CAA8C,GAAG;IAC3D,QAAQ,CAAC,IAAI,EAAE,OAAO,sBAAsB,CAAC,QAAQ,CAAC;IACtD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC3D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC,GAAG,2BAA2B,CAAC;AAEhC,MAAM,MAAM,+CAA+C,GAAG;IAC5D,QAAQ,CAAC,IAAI,EAAE,OAAO,sBAAsB,CAAC,UAAU,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC3D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD,GAAG,2BAA2B,CAAC;AAEhC,+EAA+E;AAC/E,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sCAAsC,GAC9C,6BAA6B,CAAC,mCAAmC,EAAE,sBAAsB,CAAC,CAO5F;AAED,oDAAoD;AACpD,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,IAAI,CAAC,8CAA8C,EAAE,MAAM,CAAC,GACpE,6BAA6B,CAC9B,8CAA8C,EAC9C,uBAAuB,CACxB,CAOA;AAED,iEAAiE;AACjE,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,IAAI,CAAC,+CAA+C,EAAE,MAAM,CAAC,GACrE,6BAA6B,CAC9B,+CAA+C,EAC/C,SAAS,oCAAoC,EAAE,CAChD,CAOA"}