hikoutei 0.3.0 → 0.3.1

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 (368) hide show
  1. package/README.ja.md +13 -21
  2. package/README.ko.md +14 -22
  3. package/README.md +25 -29
  4. package/dist/adapter/persistence/contracts/sql.d.ts +16 -2
  5. package/dist/adapter/persistence/contracts/sql.d.ts.map +1 -1
  6. package/dist/adapter/persistence/contracts/sql.js +11 -1
  7. package/dist/adapter/persistence/contracts/sql.js.map +1 -1
  8. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts +1 -1
  9. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts.map +1 -1
  10. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js +40 -14
  11. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map +1 -1
  12. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +2 -0
  13. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +1 -1
  14. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +23 -8
  15. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +1 -1
  16. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +13 -4
  17. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -1
  18. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +12 -2
  19. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +1 -1
  20. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts +21 -0
  21. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts.map +1 -0
  22. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js +59 -0
  23. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map +1 -0
  24. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts +14 -13
  25. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts.map +1 -1
  26. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js +43 -64
  27. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
  28. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +1 -1
  29. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +4 -2
  30. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +1 -1
  31. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -1
  32. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +1 -2
  33. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -1
  34. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +61 -0
  35. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -0
  36. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +186 -0
  37. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -0
  38. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +56 -0
  39. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -0
  40. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +275 -0
  41. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -0
  42. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +11 -0
  43. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts.map +1 -0
  44. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +345 -0
  45. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -0
  46. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts +65 -0
  47. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts.map +1 -0
  48. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js +51 -0
  49. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js.map +1 -0
  50. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts +36 -0
  51. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts.map +1 -0
  52. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js +126 -0
  53. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js.map +1 -0
  54. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +11 -2
  55. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -1
  56. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +39 -0
  57. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -1
  58. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -1
  59. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +46 -35
  60. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -1
  61. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -1
  62. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +22 -4
  63. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -1
  64. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +2 -0
  65. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +1 -1
  66. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +47 -54
  67. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -1
  68. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +1 -1
  69. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +6 -30
  70. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +1 -1
  71. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +1 -0
  72. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -1
  73. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +79 -22
  74. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -1
  75. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +2 -1
  76. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +1 -1
  77. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +1 -1
  78. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +5 -0
  79. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +1 -1
  80. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +19 -4
  81. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +1 -1
  82. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +5 -6
  83. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +1 -1
  84. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +2 -1
  85. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +1 -1
  86. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +2 -1
  87. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +1 -1
  88. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +2 -1
  89. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -1
  90. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +15 -19
  91. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -1
  92. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -1
  93. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +44 -30
  94. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -1
  95. package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts +3 -0
  96. package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts.map +1 -0
  97. package/dist/adapter/sheets/providers/apps-script-gateway/validation.js +10 -0
  98. package/dist/adapter/sheets/providers/apps-script-gateway/validation.js.map +1 -0
  99. package/dist/api/Hikoutei.d.ts +17 -50
  100. package/dist/api/Hikoutei.d.ts.map +1 -1
  101. package/dist/api/Hikoutei.js +46 -105
  102. package/dist/api/Hikoutei.js.map +1 -1
  103. package/dist/api/entity.d.ts +9 -10
  104. package/dist/api/entity.d.ts.map +1 -1
  105. package/dist/api/entity.js +20 -26
  106. package/dist/api/entity.js.map +1 -1
  107. package/dist/api/errors.d.ts +0 -6
  108. package/dist/api/errors.d.ts.map +1 -1
  109. package/dist/api/errors.js +0 -6
  110. package/dist/api/errors.js.map +1 -1
  111. package/dist/api/index.d.ts +4 -4
  112. package/dist/api/index.d.ts.map +1 -1
  113. package/dist/api/index.js +2 -2
  114. package/dist/api/index.js.map +1 -1
  115. package/dist/api/internalEntityManager.d.ts.map +1 -1
  116. package/dist/api/internalEntityManager.js +33 -19
  117. package/dist/api/internalEntityManager.js.map +1 -1
  118. package/dist/application/orm/mapping/contracts.d.ts +16 -6
  119. package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
  120. package/dist/application/orm/mapping/definition.d.ts.map +1 -1
  121. package/dist/application/orm/mapping/definition.js +47 -8
  122. package/dist/application/orm/mapping/definition.js.map +1 -1
  123. package/dist/application/orm/mapping/identity.js +1 -1
  124. package/dist/application/orm/mapping/identity.js.map +1 -1
  125. package/dist/application/orm/mapping/projection.d.ts.map +1 -1
  126. package/dist/application/orm/mapping/projection.js +10 -2
  127. package/dist/application/orm/mapping/projection.js.map +1 -1
  128. package/dist/application/orm/mapping/values.d.ts.map +1 -1
  129. package/dist/application/orm/mapping/values.js +5 -35
  130. package/dist/application/orm/mapping/values.js.map +1 -1
  131. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +3 -1
  132. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
  133. package/dist/application/orm/persistence/flush/flushCoordinator.js +4 -3
  134. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
  135. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +2 -1
  136. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
  137. package/dist/application/orm/persistence/projection/projectionEffects.d.ts +3 -1
  138. package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -1
  139. package/dist/application/orm/persistence/projection/projectionEffects.js +14 -16
  140. package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
  141. package/dist/application/orm/persistence/scalar/unitOfWork.d.ts +6 -6
  142. package/dist/application/orm/persistence/scalar/unitOfWork.d.ts.map +1 -1
  143. package/dist/application/orm/persistence/scalar/unitOfWork.js +28 -28
  144. package/dist/application/orm/persistence/scalar/unitOfWork.js.map +1 -1
  145. package/dist/application/orm/persistence/support/businessKeys.d.ts.map +1 -1
  146. package/dist/application/orm/persistence/support/businessKeys.js +6 -24
  147. package/dist/application/orm/persistence/support/businessKeys.js.map +1 -1
  148. package/dist/application/orm/persistence/support/canonicalState.d.ts.map +1 -1
  149. package/dist/application/orm/persistence/support/canonicalState.js +9 -25
  150. package/dist/application/orm/persistence/support/canonicalState.js.map +1 -1
  151. package/dist/application/orm/persistence/support/contracts.d.ts +0 -57
  152. package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
  153. package/dist/application/orm/persistence/support/contracts.js +0 -68
  154. package/dist/application/orm/persistence/support/contracts.js.map +1 -1
  155. package/dist/application/orm/persistence/support/helpers.d.ts +1 -11
  156. package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -1
  157. package/dist/application/orm/persistence/support/helpers.js +1 -21
  158. package/dist/application/orm/persistence/support/helpers.js.map +1 -1
  159. package/dist/application/sync/gateway/constants.d.ts +2 -1
  160. package/dist/application/sync/gateway/constants.d.ts.map +1 -1
  161. package/dist/application/sync/gateway/constants.js +4 -3
  162. package/dist/application/sync/gateway/constants.js.map +1 -1
  163. package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -1
  164. package/dist/application/sync/gateway/syncGateway.js +9 -28
  165. package/dist/application/sync/gateway/syncGateway.js.map +1 -1
  166. package/dist/application/sync/gateway/validation.d.ts +5 -0
  167. package/dist/application/sync/gateway/validation.d.ts.map +1 -1
  168. package/dist/application/sync/gateway/validation.js +22 -3
  169. package/dist/application/sync/gateway/validation.js.map +1 -1
  170. package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -1
  171. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +3 -23
  172. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -1
  173. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +2 -0
  174. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
  175. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +24 -6
  176. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
  177. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
  178. package/dist/application/sync/outbound/effects/SyncEffectWorker.js +35 -34
  179. package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
  180. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +0 -1
  181. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
  182. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +8 -37
  183. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
  184. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
  185. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +2 -2
  186. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
  187. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +0 -5
  188. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +1 -1
  189. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +3 -10
  190. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -1
  191. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
  192. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +13 -21
  193. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
  194. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +1 -1
  195. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
  196. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +15 -3
  197. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
  198. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
  199. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +1 -10
  200. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
  201. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
  202. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +5 -9
  203. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
  204. package/dist/application/sync/service/SyncPollingSupervisor.d.ts +45 -0
  205. package/dist/application/sync/service/SyncPollingSupervisor.d.ts.map +1 -0
  206. package/dist/application/sync/service/SyncPollingSupervisor.js +142 -0
  207. package/dist/application/sync/service/SyncPollingSupervisor.js.map +1 -0
  208. package/dist/application/sync/service/SyncServiceBootstrap.d.ts +63 -0
  209. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -0
  210. package/dist/application/sync/service/SyncServiceBootstrap.js +223 -0
  211. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -0
  212. package/dist/application/sync/service/contracts.d.ts +25 -0
  213. package/dist/application/sync/service/contracts.d.ts.map +1 -0
  214. package/dist/application/sync/service/contracts.js +3 -0
  215. package/dist/application/sync/service/contracts.js.map +1 -0
  216. package/dist/application/sync/service/errors.d.ts +15 -0
  217. package/dist/application/sync/service/errors.d.ts.map +1 -0
  218. package/dist/application/sync/service/errors.js +16 -0
  219. package/dist/application/sync/service/errors.js.map +1 -0
  220. package/dist/domain/errors/types.d.ts +1 -1
  221. package/dist/domain/errors/types.d.ts.map +1 -1
  222. package/dist/domain/errors/types.js +2 -2
  223. package/dist/domain/errors/types.js.map +1 -1
  224. package/dist/domain/evaluate/constants.d.ts +1 -1
  225. package/dist/domain/evaluate/constants.d.ts.map +1 -1
  226. package/dist/domain/evaluate/constants.js.map +1 -1
  227. package/dist/domain/evaluate/preconditions.d.ts.map +1 -1
  228. package/dist/domain/evaluate/preconditions.js +25 -32
  229. package/dist/domain/evaluate/preconditions.js.map +1 -1
  230. package/dist/domain/evaluate/quarantine.js +4 -1
  231. package/dist/domain/evaluate/quarantine.js.map +1 -1
  232. package/dist/domain/model/constants.d.ts +48 -0
  233. package/dist/domain/model/constants.d.ts.map +1 -1
  234. package/dist/domain/model/constants.js +38 -0
  235. package/dist/domain/model/constants.js.map +1 -1
  236. package/dist/domain/model/index.d.ts +2 -2
  237. package/dist/domain/model/index.d.ts.map +1 -1
  238. package/dist/domain/model/index.js +1 -1
  239. package/dist/domain/model/index.js.map +1 -1
  240. package/dist/domain/model/types.d.ts +13 -10
  241. package/dist/domain/model/types.d.ts.map +1 -1
  242. package/dist/infrastructure/storage/constants.d.ts +1 -1
  243. package/dist/infrastructure/storage/constants.d.ts.map +1 -1
  244. package/dist/infrastructure/storage/constants.js.map +1 -1
  245. package/dist/infrastructure/storage/errors.d.ts +2 -2
  246. package/dist/infrastructure/storage/errors.d.ts.map +1 -1
  247. package/dist/infrastructure/storage/errors.js +3 -5
  248. package/dist/infrastructure/storage/errors.js.map +1 -1
  249. package/dist/infrastructure/storage/index.d.ts +9 -5
  250. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  251. package/dist/infrastructure/storage/index.js +3 -1
  252. package/dist/infrastructure/storage/index.js.map +1 -1
  253. package/dist/infrastructure/storage/sqlite/migrateSchema.js +9 -4
  254. package/dist/infrastructure/storage/sqlite/migrateSchema.js.map +1 -1
  255. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +9 -0
  256. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -1
  257. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +35 -36
  258. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -1
  259. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts +8 -1
  260. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts.map +1 -1
  261. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js +14 -0
  262. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js.map +1 -1
  263. package/dist/infrastructure/storage/state/observation/observationAudit.d.ts.map +1 -1
  264. package/dist/infrastructure/storage/state/observation/observationAudit.js +4 -1
  265. package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -1
  266. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +11 -1
  267. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -1
  268. package/dist/infrastructure/storage/state/observation/observationCanonical.js +108 -0
  269. package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -1
  270. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +36 -1
  271. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -1
  272. package/dist/infrastructure/storage/state/observation/observationQuarantine.js +55 -0
  273. package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -1
  274. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +22 -0
  275. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -1
  276. package/dist/infrastructure/storage/state/observation/observationTypes.js +5 -0
  277. package/dist/infrastructure/storage/state/observation/observationTypes.js.map +1 -1
  278. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +1 -1
  279. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -1
  280. package/dist/infrastructure/storage/state/observation/observationValidation.js +26 -0
  281. package/dist/infrastructure/storage/state/observation/observationValidation.js.map +1 -1
  282. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +1 -1
  283. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -1
  284. package/dist/infrastructure/storage/state/observation/observationWriter.js +5 -1
  285. package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -1
  286. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -1
  287. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +3 -2
  288. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -1
  289. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +1 -5
  290. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -1
  291. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +3 -43
  292. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -1
  293. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +1 -1
  294. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -1
  295. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +2 -4
  296. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -1
  297. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +2 -2
  298. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
  299. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +20 -10
  300. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
  301. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +33 -18
  302. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
  303. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
  304. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +1 -1
  305. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
  306. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +2 -4
  307. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
  308. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +6 -2
  309. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -1
  310. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +157 -14
  311. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -1
  312. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts +1 -1
  313. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts.map +1 -1
  314. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js +14 -1
  315. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js.map +1 -1
  316. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +2 -1
  317. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -1
  318. package/dist/infrastructure/storage/sync/shared/syncRegistry.js +4 -1
  319. package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -1
  320. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +4 -0
  321. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +1 -1
  322. package/dist/infrastructure/storage/sync/shared/writerLease.js +9 -0
  323. package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -1
  324. package/dist/shared/constants.d.ts +4 -4
  325. package/dist/shared/constants.d.ts.map +1 -1
  326. package/dist/shared/constants.js.map +1 -1
  327. package/dist/shared/encoding/index.d.ts +1 -0
  328. package/dist/shared/encoding/index.d.ts.map +1 -1
  329. package/dist/shared/encoding/index.js +1 -0
  330. package/dist/shared/encoding/index.js.map +1 -1
  331. package/dist/shared/encoding/normalizedCell.d.ts +4 -0
  332. package/dist/shared/encoding/normalizedCell.d.ts.map +1 -0
  333. package/dist/shared/encoding/normalizedCell.js +29 -0
  334. package/dist/shared/encoding/normalizedCell.js.map +1 -0
  335. package/dist/shared/encoding/stableEncode.d.ts +2 -1
  336. package/dist/shared/encoding/stableEncode.d.ts.map +1 -1
  337. package/dist/shared/encoding/stableEncode.js +6 -12
  338. package/dist/shared/encoding/stableEncode.js.map +1 -1
  339. package/dist/shared/identity/index.d.ts +3 -0
  340. package/dist/shared/identity/index.d.ts.map +1 -0
  341. package/dist/shared/identity/index.js +2 -0
  342. package/dist/shared/identity/index.js.map +1 -0
  343. package/dist/shared/identity/types.d.ts +41 -0
  344. package/dist/shared/identity/types.d.ts.map +1 -0
  345. package/dist/shared/identity/types.js +34 -0
  346. package/dist/shared/identity/types.js.map +1 -0
  347. package/dist/shared/index.d.ts +1 -0
  348. package/dist/shared/index.d.ts.map +1 -1
  349. package/dist/shared/index.js +1 -0
  350. package/dist/shared/index.js.map +1 -1
  351. package/dist/shared/state/constructors.d.ts +10 -0
  352. package/dist/shared/state/constructors.d.ts.map +1 -0
  353. package/dist/shared/state/constructors.js +18 -0
  354. package/dist/shared/state/constructors.js.map +1 -0
  355. package/dist/shared/state/index.d.ts +1 -0
  356. package/dist/shared/state/index.d.ts.map +1 -1
  357. package/dist/shared/state/index.js +1 -0
  358. package/dist/shared/state/index.js.map +1 -1
  359. package/dist/shared/validation.d.ts +2 -0
  360. package/dist/shared/validation.d.ts.map +1 -1
  361. package/dist/shared/validation.js +9 -0
  362. package/dist/shared/validation.js.map +1 -1
  363. package/docs/architecture.md +108 -103
  364. package/docs/ci.md +184 -61
  365. package/docs/mikro-orm-adapter-spike.md +55 -214
  366. package/docs/quick-start.md +58 -96
  367. package/docs/write-and-synchronization-flow.md +70 -39
  368. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ import { isRecord } from "../../../../shared/encoding/typeGuards.js";
2
+ import { invalidOperationResponse } from "./errors.js";
3
+ /** Promotes an operation payload object while retaining the operation error context. */
4
+ export function requireOperationRecord(value, label, operationLabel) {
5
+ if (!isRecord(value)) {
6
+ return invalidOperationResponse(operationLabel, label + " must be an object");
7
+ }
8
+ return value;
9
+ }
10
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/adapter/sheets/providers/apps-script-gateway/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,wFAAwF;AACxF,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,KAAa,EACb,cAAsB;IAEtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,wBAAwB,CAC7B,cAAc,EACd,KAAK,GAAG,oBAAoB,CAC7B,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,75 +1,42 @@
1
1
  /**
2
- * Public Hikoutei runtime and the `createTypedSheets()` factory.
2
+ * Public SQLite-authoritative Hikoutei runtime and the `createTypedSheets()` factory.
3
3
  *
4
- * Runtime creation opens and registers the local SQLite authority only. Remote
5
- * Sheet provisioning is an explicit `setupSheets()` call, so process startup
6
- * never mutates a spreadsheet or depends on network availability.
4
+ * This module intentionally knows nothing about Sheet routes or gateway
5
+ * provisioning. The internal sync service builds a mapped runtime separately
6
+ * and can reuse the internal construction hook below without expanding the
7
+ * application-facing contract.
7
8
  */
9
+ import type { ScalarEntityPersistenceProvider } from "../adapter/persistence/contracts/scalar.js";
8
10
  import type { EntityManager } from "./EntityManager.js";
9
- import { HikouteiEntity } from "./entity.js";
10
- /** One physical tab/range used by a scalar entity projection. */
11
- export interface HikouteiSheetRoute {
12
- readonly tabName: string;
13
- readonly registeredRange: string;
14
- }
15
- /** System projection and optional human-editable projection routes for one entity. */
16
- export interface HikouteiEntityRoutes {
17
- readonly systemState: HikouteiSheetRoute;
18
- readonly userInput?: HikouteiSheetRoute;
19
- }
20
- /** Environment-specific spreadsheet routes kept separate from entity metadata. */
21
- export interface HikouteiSheetsOptions {
22
- readonly spreadsheetId: string;
23
- readonly routes: Readonly<Record<string, HikouteiEntityRoutes>>;
24
- }
25
- /** Route accepted by a provider-neutral Sheet provisioning client. */
26
- export interface HikouteiProvisionRoute {
27
- readonly sheetName: string;
28
- readonly registeredRange: string;
29
- readonly projection: "user_input" | "system_state";
30
- readonly schemaVersion: number;
31
- readonly headers: readonly string[];
32
- readonly identityField?: string;
33
- }
34
- /** Result returned by one explicit Sheet setup call. */
35
- export interface HikouteiSetupResult {
36
- readonly registrations: readonly Omit<HikouteiProvisionRoute, "headers">[];
37
- readonly createdSheets: readonly string[];
38
- readonly initializedHeaders: readonly string[];
39
- }
40
- /** Provider-neutral boundary used by `setupSheets()`; Apps Script stays behind it. */
41
- export interface HikouteiSheetProvisioner {
42
- provisionRegistry(registrations: readonly HikouteiProvisionRoute[]): Promise<HikouteiSetupResult>;
43
- }
11
+ import { HikouteiEntity, type ResolvedHikouteiEntityDescriptor } from "./entity.js";
44
12
  /** Options for opening the local Hikoutei runtime. */
45
13
  export interface CreateTypedSheetsOptions {
46
14
  /** SQLite database path, URI, or `:memory:`. */
47
15
  readonly dbName: string;
48
16
  /** Entity tokens produced by `defineTypedSheetsEntity()`. */
49
17
  readonly entities: readonly HikouteiEntity[];
50
- /** Environment-specific Sheet routes; route setup remains explicit. */
51
- readonly sheets: HikouteiSheetsOptions;
52
- /** Optional provider-neutral provisioner retained for an explicit setup call. */
53
- readonly provisioner?: HikouteiSheetProvisioner;
54
18
  }
55
19
  /**
56
20
  * Root object for the local entity runtime.
57
21
  *
58
- * Use `hikoutei.em.fork()` to obtain a request-local manager. `setupSheets()`
59
- * is deliberately separate because it performs an external, idempotent Sheet
60
- * provisioning side effect.
22
+ * Use `hikoutei.em.fork()` to obtain a request-local manager. Sheet delivery
23
+ * and User_Input polling belong to the internal sync service, not this object.
61
24
  */
62
25
  export interface Hikoutei {
63
26
  /** Root entity manager; call `fork()` before request or job-local work. */
64
27
  readonly em: EntityManager;
65
28
  close(): Promise<void>;
66
- setupSheets(provisioner?: HikouteiSheetProvisioner): Promise<HikouteiSetupResult>;
67
29
  }
68
30
  /**
69
- * Opens the local Hikoutei runtime for the declared scalar entities.
31
+ * Internal construction hook used by the sync service to attach shutdown work
32
+ * without adding worker methods to the public `Hikoutei` contract.
33
+ */
34
+ export declare function createInternalHikoutei(provider: ScalarEntityPersistenceProvider, descriptors: ReadonlyMap<string, ResolvedHikouteiEntityDescriptor>, beforeClose?: () => Promise<void>): Hikoutei;
35
+ /**
36
+ * Opens the local SQLite runtime for the declared scalar entities.
70
37
  *
71
- * This call validates routes, initializes MikroORM's current provider and the
72
- * local canonical/outbox registry, but never contacts a remote gateway.
38
+ * This call validates entity descriptors and initializes the local provider. It
39
+ * never contacts Google Sheets, creates projection tables, or starts a worker.
73
40
  */
74
41
  export declare function createTypedSheets(options: CreateTypedSheetsOptions): Promise<Hikoutei>;
75
42
  //# sourceMappingURL=Hikoutei.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hikoutei.d.ts","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAEL,cAAc,EAEf,MAAM,aAAa,CAAC;AAErB,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;CACjE;AAED,sEAAsE;AACtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,cAAc,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,EAAE,CAAC;IAC3E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD;AAED,sFAAsF;AACtF,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,CAAC,aAAa,EAAE,SAAS,sBAAsB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnG;AAED,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAkBD;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,WAAW,CAAC,WAAW,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnF;AA4DD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,QAAQ,CAAC,CAkDnB"}
1
+ {"version":3,"file":"Hikoutei.d.ts","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAEL,cAAc,EACd,KAAK,gCAAgC,EACtC,MAAM,aAAa,CAAC;AAErB,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA2CD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,+BAA+B,EACzC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,gCAAgC,CAAC,EAClE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAChC,QAAQ,CAEV;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,QAAQ,CAAC,CAoCnB"}
@@ -1,59 +1,62 @@
1
1
  /**
2
- * Public Hikoutei runtime and the `createTypedSheets()` factory.
2
+ * Public SQLite-authoritative Hikoutei runtime and the `createTypedSheets()` factory.
3
3
  *
4
- * Runtime creation opens and registers the local SQLite authority only. Remote
5
- * Sheet provisioning is an explicit `setupSheets()` call, so process startup
6
- * never mutates a spreadsheet or depends on network availability.
4
+ * This module intentionally knows nothing about Sheet routes or gateway
5
+ * provisioning. The internal sync service builds a mapped runtime separately
6
+ * and can reuse the internal construction hook below without expanding the
7
+ * application-facing contract.
7
8
  */
8
- import { provisionRegisteredSyncSheets } from "../application/sync/gateway/SyncGatewayBootstrap.js";
9
9
  import { createEntityManager } from "./internalEntityManager.js";
10
10
  import { HIKOUTEI_ERROR_CODES, HikouteiError } from "./errors.js";
11
11
  import { getEntityDescriptor, HikouteiEntity, } from "./entity.js";
12
12
  class HikouteiImpl {
13
13
  provider;
14
- projectionDefinitions;
15
- configuredProvisioner;
14
+ beforeClose;
16
15
  /** Root entity manager; call `fork()` before request or job-local work. */
17
16
  em;
18
- constructor(provider, descriptors, projectionDefinitions, configuredProvisioner) {
17
+ closed = false;
18
+ constructor(provider, descriptors, beforeClose) {
19
19
  this.provider = provider;
20
- this.projectionDefinitions = projectionDefinitions;
21
- this.configuredProvisioner = configuredProvisioner;
20
+ this.beforeClose = beforeClose;
22
21
  this.em = createEntityManager(provider, descriptors);
23
22
  }
24
- /** Releases the local SQLite connection. */
23
+ /** Stops internal service work, then releases the local SQLite connection. */
25
24
  async close() {
26
- await this.provider.close();
27
- }
28
- /**
29
- * Provisions and validates the locally registered Sheet routes remotely.
30
- *
31
- * The operation is explicit and idempotent; a missing or mismatched header
32
- * is rejected by the provisioner instead of being silently overwritten.
33
- */
34
- async setupSheets(provisioner) {
35
- const selectedProvisioner = provisioner ?? this.configuredProvisioner;
36
- if (selectedProvisioner === null
37
- || typeof selectedProvisioner !== "object"
38
- || typeof selectedProvisioner.provisionRegistry !== "function") {
39
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.SHEET_SETUP_UNAVAILABLE, "setupSheets() requires a provider-neutral Sheet provisioner.");
25
+ if (this.closed)
26
+ return;
27
+ this.closed = true;
28
+ let beforeCloseError;
29
+ try {
30
+ await this.beforeClose?.();
31
+ }
32
+ catch (error) {
33
+ beforeCloseError = error;
34
+ }
35
+ try {
36
+ await this.provider.close();
40
37
  }
41
- const definitions = this.projectionDefinitions.map((definition) => ({
42
- sheet: definition.sheet,
43
- headers: definition.headers,
44
- }));
45
- return provisionRegisteredSyncSheets(selectedProvisioner, definitions);
38
+ catch (providerError) {
39
+ if (beforeCloseError !== undefined) {
40
+ throw new AggregateError([beforeCloseError, providerError], "Hikoutei failed to stop internal work and close SQLite.");
41
+ }
42
+ throw providerError;
43
+ }
44
+ if (beforeCloseError !== undefined)
45
+ throw beforeCloseError;
46
46
  }
47
47
  }
48
- /** Internal construction hook; kept out of the root public barrel. */
49
- function createHikoutei(provider, descriptors, projectionDefinitions, provisioner) {
50
- return new HikouteiImpl(provider, descriptors, projectionDefinitions, provisioner);
48
+ /**
49
+ * Internal construction hook used by the sync service to attach shutdown work
50
+ * without adding worker methods to the public `Hikoutei` contract.
51
+ */
52
+ export function createInternalHikoutei(provider, descriptors, beforeClose) {
53
+ return new HikouteiImpl(provider, descriptors, beforeClose);
51
54
  }
52
55
  /**
53
- * Opens the local Hikoutei runtime for the declared scalar entities.
56
+ * Opens the local SQLite runtime for the declared scalar entities.
54
57
  *
55
- * This call validates routes, initializes MikroORM's current provider and the
56
- * local canonical/outbox registry, but never contacts a remote gateway.
58
+ * This call validates entity descriptors and initializes the local provider. It
59
+ * never contacts Google Sheets, creates projection tables, or starts a worker.
57
60
  */
58
61
  export async function createTypedSheets(options) {
59
62
  if (options === null || typeof options !== "object") {
@@ -66,32 +69,21 @@ export async function createTypedSheets(options) {
66
69
  throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_ENTITY_DESCRIPTOR, "createTypedSheets() entities must be an array.");
67
70
  }
68
71
  const descriptors = resolveRuntimeDescriptors(options.entities);
69
- const sheets = validateSheetsOptions(options.sheets, descriptors);
70
- const routes = new Map(Object.entries(sheets.routes));
71
72
  // Load the current provider only when a runtime is opened. Importing the
72
73
  // root package alone must not require MikroORM or expose its module graph.
73
- const [mappedRuntime, providerModule, runtimeModule] = await Promise.all([
74
- import("../adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js"),
74
+ const [engineModule, providerModule, runtimeModule] = await Promise.all([
75
+ import("../adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js"),
75
76
  import("../adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js"),
76
- import("../adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js"),
77
+ import("../adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js"),
77
78
  ]);
78
- const generated = runtimeModule.createMikroOrmScalarRuntime(options.entities, routes, sheets.spreadsheetId);
79
- let projectionDefinitions = [];
80
- const writerId = `hikoutei:${process.pid}`;
81
- const orm = await mappedRuntime.initializeMappedTypedSheetsOrm({
79
+ const generated = runtimeModule.createMikroOrmScalarEntityRuntime(options.entities);
80
+ const orm = await engineModule.initializeTypedSheetsOrm({
82
81
  dbName: options.dbName,
83
82
  entities: generated.entities,
84
- mappings: generated.mappings,
85
- writer: { writerId },
86
- onRegisteredProjections: async (definitions) => {
87
- projectionDefinitions = definitions.map((definition) => ({
88
- sheet: definition.sheet,
89
- headers: definition.headers,
90
- }));
91
- },
83
+ flushCoordinator: { onFlush: async () => undefined },
92
84
  });
93
85
  const provider = new providerModule.MikroOrmScalarPersistenceProvider(orm, generated.bindings);
94
- return createHikoutei(provider, descriptors, projectionDefinitions, options.provisioner);
86
+ return createInternalHikoutei(provider, descriptors);
95
87
  }
96
88
  /** Validates name/table uniqueness and indexes descriptors by entity name. */
97
89
  function resolveRuntimeDescriptors(entities) {
@@ -114,55 +106,4 @@ function resolveRuntimeDescriptors(entities) {
114
106
  }
115
107
  return descriptors;
116
108
  }
117
- function validateSheetsOptions(options, descriptors) {
118
- if (options === null || typeof options !== "object") {
119
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SHEET_ROUTE, "sheets must be an object.");
120
- }
121
- if (typeof options.spreadsheetId !== "string" || options.spreadsheetId.trim() === "") {
122
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SHEET_ROUTE, "sheets.spreadsheetId must be a non-empty string.");
123
- }
124
- if (options.routes === null
125
- || typeof options.routes !== "object"
126
- || Array.isArray(options.routes)) {
127
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SHEET_ROUTE, "sheets.routes must be an object keyed by entity name.");
128
- }
129
- const routeNames = Object.keys(options.routes);
130
- const physicalTabs = new Set();
131
- for (const entityName of descriptors.keys()) {
132
- if (options.routes[entityName] === undefined) {
133
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SHEET_ROUTE, `sheets.routes is missing an entry for entity "${entityName}".`);
134
- }
135
- }
136
- for (const routeName of routeNames) {
137
- if (!descriptors.has(routeName)) {
138
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SHEET_ROUTE, `sheets.routes contains an unknown entity "${routeName}".`);
139
- }
140
- const route = options.routes[routeName];
141
- if (route === undefined)
142
- continue;
143
- registerPhysicalTab(routeName, "systemState", route.systemState, physicalTabs, options.spreadsheetId);
144
- if (route.userInput !== undefined) {
145
- registerPhysicalTab(routeName, "userInput", route.userInput, physicalTabs, options.spreadsheetId);
146
- }
147
- }
148
- return options;
149
- }
150
- function registerPhysicalTab(entityName, projection, route, physicalTabs, spreadsheetId) {
151
- validateRoute(entityName, projection, route);
152
- const key = JSON.stringify([spreadsheetId, route.tabName.trim()]);
153
- if (physicalTabs.has(key)) {
154
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SHEET_ROUTE, `sheets.routes.${entityName}.${projection} reuses the Sheet tab "${route.tabName}".`);
155
- }
156
- physicalTabs.add(key);
157
- }
158
- function validateRoute(entityName, projection, route) {
159
- if (route === null
160
- || typeof route !== "object"
161
- || typeof route.tabName !== "string"
162
- || route.tabName.trim() === ""
163
- || typeof route.registeredRange !== "string"
164
- || route.registeredRange.trim() === "") {
165
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SHEET_ROUTE, `sheets.routes.${entityName}.${projection} requires tabName and registeredRange.`);
166
- }
167
- }
168
109
  //# sourceMappingURL=Hikoutei.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hikoutei.js","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hikoutei.js","sourceRoot":"","sources":["../../src/api/Hikoutei.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  * Public scalar entity descriptor and the `defineTypedSheetsEntity()` builder.
3
3
  *
4
4
  * The descriptor is intentionally scalar-only and provider-neutral: it describes
5
- * a local SQLite-backed entity table without referencing any ORM, Sheets route,
6
- * or storage-execution type. Sheet route configuration is a separate concern
7
- * (see `setupSheets`), so descriptor validation never depends on it.
5
+ * a local entity table without referencing any ORM, Sheet route, or storage-
6
+ * execution type. Remote projection configuration is an internal service concern,
7
+ * so descriptor validation never depends on it.
8
8
  *
9
9
  * The returned `HikouteiEntity` token carries the runtime descriptor and a
10
10
  * phantom entity type so `em.create(User, { ... })` infers the entity shape.
@@ -30,8 +30,6 @@ export interface HikouteiPropertyOptions {
30
30
  readonly nullable?: boolean;
31
31
  /** Equivalent positive spelling for callers that prefer required fields. */
32
32
  readonly required?: boolean;
33
- /** Marks this field as the human-editable part of a User_Input projection. */
34
- readonly editable?: boolean;
35
33
  /** v1 permits uniqueness only on the primary/business key. */
36
34
  readonly unique?: boolean;
37
35
  }
@@ -39,7 +37,7 @@ export interface HikouteiPropertyOptions {
39
37
  export type HikouteiPropertyDescriptorMap = Readonly<Record<string, HikouteiPropertyOptions>>;
40
38
  /** User-facing entity descriptor accepted by `defineTypedSheetsEntity`. */
41
39
  export interface HikouteiEntityDescriptorInput<Name extends string = string, Properties extends HikouteiPropertyDescriptorMap = HikouteiPropertyDescriptorMap> {
42
- /** Stable entity name used by the manager and by future Sheet routes. */
40
+ /** Stable entity name used by the manager and internal service mappings. */
43
41
  readonly name: Name;
44
42
  /** SQLite table name that stores this entity's rows. */
45
43
  readonly tableName: string;
@@ -53,7 +51,6 @@ export interface ResolvedHikouteiProperty {
53
51
  readonly storageType: HikouteiScalarStorageType;
54
52
  readonly primary: boolean;
55
53
  readonly nullable: boolean;
56
- readonly editable: boolean;
57
54
  readonly unique: boolean;
58
55
  }
59
56
  /** Validated entity descriptor consumed by the local runtime. */
@@ -76,13 +73,15 @@ export type HikouteiPropertyValueType<Options extends HikouteiPropertyOptions> =
76
73
  export type HikouteiEntityInstance<Properties extends HikouteiPropertyDescriptorMap> = {
77
74
  -readonly [Property in keyof Properties]: HikouteiPropertyValueType<Properties[Property]>;
78
75
  };
79
- export declare class HikouteiEntity<Entity extends object = object> {
76
+ export declare class HikouteiEntity<Entity extends object = object, Name extends string = string> {
80
77
  /** @internal phantom marker that carries the inferred entity type. */
81
78
  private readonly __entityType;
79
+ /** @internal phantom marker that preserves the descriptor name. */
80
+ private readonly __entityName;
82
81
  constructor(descriptor: ResolvedHikouteiEntityDescriptor);
83
82
  }
84
83
  /** Reads an opaque token's descriptor for internal runtime/provider wiring. */
85
- export declare function getEntityDescriptor(entity: HikouteiEntity): ResolvedHikouteiEntityDescriptor;
84
+ export declare function getEntityDescriptor<Entity extends object, Name extends string>(entity: HikouteiEntity<Entity, Name>): ResolvedHikouteiEntityDescriptor;
86
85
  /**
87
86
  * Validates a scalar entity descriptor and returns a stable entity token.
88
87
  *
@@ -91,7 +90,7 @@ export declare function getEntityDescriptor(entity: HikouteiEntity): ResolvedHik
91
90
  * key, a non-scalar property type, or any unsupported relation/provider option.
92
91
  * The returned token is safe to pass to `createTypedSheets({ entities })`.
93
92
  */
94
- export declare function defineTypedSheetsEntity<Name extends string, Properties extends HikouteiPropertyDescriptorMap>(input: HikouteiEntityDescriptorInput<Name, Properties>): HikouteiEntity<HikouteiEntityInstance<Properties>>;
93
+ export declare function defineTypedSheetsEntity<Name extends string, Properties extends HikouteiPropertyDescriptorMap>(input: HikouteiEntityDescriptorInput<Name, Properties>): HikouteiEntity<HikouteiEntityInstance<Properties>, Name>;
95
94
  /**
96
95
  * Validates and normalizes one entity descriptor input.
97
96
  *
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,15 @@
2
2
  * Public scalar entity descriptor and the `defineTypedSheetsEntity()` builder.
3
3
  *
4
4
  * The descriptor is intentionally scalar-only and provider-neutral: it describes
5
- * a local SQLite-backed entity table without referencing any ORM, Sheets route,
6
- * or storage-execution type. Sheet route configuration is a separate concern
7
- * (see `setupSheets`), so descriptor validation never depends on it.
5
+ * a local entity table without referencing any ORM, Sheet route, or storage-
6
+ * execution type. Remote projection configuration is an internal service concern,
7
+ * so descriptor validation never depends on it.
8
8
  *
9
9
  * The returned `HikouteiEntity` token carries the runtime descriptor and a
10
10
  * phantom entity type so `em.create(User, { ... })` infers the entity shape.
11
11
  */
12
12
  import { EMPTY_STRING_LENGTH_ZERO } from "../shared/constants.js";
13
+ import { isRecord } from "../shared/encoding/typeGuards.js";
13
14
  import { HIKOUTEI_ERROR_CODES, HikouteiError } from "./errors.js";
14
15
  /** Runtime tags for the scalar property types supported in v1. */
15
16
  export const HIKOUTEI_SCALAR_TYPES = {
@@ -46,7 +47,6 @@ const ALLOWED_PROPERTY_OPTION_KEYS = new Set([
46
47
  "primary",
47
48
  "nullable",
48
49
  "required",
49
- "editable",
50
50
  "unique",
51
51
  ]);
52
52
  /**
@@ -105,42 +105,37 @@ export function resolveEntityDescriptor(input) {
105
105
  return { name, tableName, primaryKey, properties };
106
106
  }
107
107
  function resolveProperty(propertyName, options) {
108
- if (options === null || typeof options !== "object" || Array.isArray(options)) {
108
+ if (!isRecord(options)) {
109
109
  throwInvalid(`property "${propertyName}" must declare a scalar descriptor object.`);
110
110
  }
111
- const optionKeys = Object.keys(options);
112
- for (const optionKey of optionKeys) {
111
+ for (const optionKey of Object.keys(options)) {
113
112
  if (!ALLOWED_PROPERTY_OPTION_KEYS.has(optionKey)) {
114
113
  throwInvalid(`property "${propertyName}" has an unsupported option "${optionKey}"; v1 supports only scalar types (relations and provider options are not supported).`);
115
114
  }
116
115
  }
117
- const descriptor = options;
118
- if (!isHikouteiScalarType(descriptor.type)) {
116
+ const type = options.type;
117
+ if (!isHikouteiScalarType(type)) {
119
118
  throwInvalid(`property "${propertyName}" has an unsupported type; v1 supports only "string", "number", "boolean", and "date" scalars.`);
120
119
  }
121
- const primary = descriptor.primary === true;
122
- const nullable = descriptor.nullable === true || descriptor.required === false;
123
- const editable = descriptor.editable === true;
124
- const unique = descriptor.unique === true || primary;
120
+ const primary = options.primary === true;
121
+ const nullable = options.nullable === true || options.required === false;
122
+ const unique = options.unique === true || primary;
125
123
  if (primary && nullable) {
126
124
  throwInvalid(`property "${propertyName}" cannot be both primary and nullable.`);
127
125
  }
128
- if (descriptor.required !== undefined && typeof descriptor.required !== "boolean") {
126
+ if (options.required !== undefined && typeof options.required !== "boolean") {
129
127
  throwInvalid(`property "${propertyName}" required must be a boolean.`);
130
128
  }
131
- if (descriptor.nullable !== undefined && typeof descriptor.nullable !== "boolean") {
129
+ if (options.nullable !== undefined && typeof options.nullable !== "boolean") {
132
130
  throwInvalid(`property "${propertyName}" nullable must be a boolean.`);
133
131
  }
134
- if (descriptor.primary !== undefined && typeof descriptor.primary !== "boolean") {
132
+ if (options.primary !== undefined && typeof options.primary !== "boolean") {
135
133
  throwInvalid(`property "${propertyName}" primary must be a boolean.`);
136
134
  }
137
- if (descriptor.editable !== undefined && typeof descriptor.editable !== "boolean") {
138
- throwInvalid(`property "${propertyName}" editable must be a boolean.`);
139
- }
140
- if (descriptor.unique !== undefined && typeof descriptor.unique !== "boolean") {
135
+ if (options.unique !== undefined && typeof options.unique !== "boolean") {
141
136
  throwInvalid(`property "${propertyName}" unique must be a boolean.`);
142
137
  }
143
- if (descriptor.required === true && descriptor.nullable === true) {
138
+ if (options.required === true && options.nullable === true) {
144
139
  throwInvalid(`property "${propertyName}" cannot be both required and nullable.`);
145
140
  }
146
141
  if (unique && !primary) {
@@ -148,11 +143,10 @@ function resolveProperty(propertyName, options) {
148
143
  }
149
144
  return {
150
145
  name: propertyName,
151
- type: descriptor.type,
152
- storageType: toStorageType(descriptor.type),
146
+ type,
147
+ storageType: toStorageType(type),
153
148
  primary,
154
149
  nullable,
155
- editable,
156
150
  unique,
157
151
  };
158
152
  }
@@ -214,10 +208,10 @@ function requireIdentifier(value, label) {
214
208
  if (typeof value !== "string" || !SQL_IDENTIFIER_PATTERN.test(value)) {
215
209
  throwInvalid(`${label} must be a SQL identifier matching ${SQL_IDENTIFIER_PATTERN}.`);
216
210
  }
211
+ return value;
217
212
  }
218
213
  function requireTableName(value) {
219
- requireIdentifier(value, "table name");
220
- const tableName = value;
214
+ const tableName = requireIdentifier(value, "table name");
221
215
  if (RESERVED_TABLE_NAMES.has(tableName.toLowerCase()) ||
222
216
  tableName.toLowerCase().startsWith("sqlite_")) {
223
217
  throwInvalid(`table name "${tableName}" is reserved by Hikoutei or SQLite.`);
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
@@ -24,12 +24,6 @@ export declare const HIKOUTEI_ERROR_CODES: {
24
24
  readonly INVALID_SCALAR_VALUE: "invalid_scalar_value";
25
25
  /** A provider transaction could not find the row targeted by a managed change. */
26
26
  readonly ENTITY_NOT_FOUND: "entity_not_found";
27
- /** Sheet route configuration is missing or inconsistent with the entities. */
28
- readonly INVALID_SHEET_ROUTE: "invalid_sheet_route";
29
- /** A remote setup call was requested without a configured provisioner. */
30
- readonly SHEET_SETUP_UNAVAILABLE: "sheet_setup_unavailable";
31
- /** An internal entity-to-sync mapping is inconsistent with the runtime. */
32
- readonly INVALID_ENTITY_MAPPING: "invalid_entity_mapping";
33
27
  };
34
28
  /** Closed set of Hikoutei API error codes. */
35
29
  export type HikouteiErrorCode = (typeof HIKOUTEI_ERROR_CODES)[keyof typeof HIKOUTEI_ERROR_CODES];
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,uEAAuE;AACvE,eAAO,MAAM,oBAAoB;IAC/B,kFAAkF;;IAElF,4DAA4D;;IAE5D,+EAA+E;;IAE/E,+EAA+E;;IAE/E,iFAAiF;;IAEjF,qEAAqE;;IAErE,+EAA+E;;IAE/E,kFAAkF;;IAElF,8EAA8E;;IAE9E,0EAA0E;;IAE1E,2EAA2E;;CAEnE,CAAC;AAEX,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBACtE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAGrD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,uEAAuE;AACvE,eAAO,MAAM,oBAAoB;IAC/B,kFAAkF;;IAElF,4DAA4D;;IAE5D,+EAA+E;;IAE/E,+EAA+E;;IAE/E,iFAAiF;;IAEjF,qEAAqE;;IAErE,+EAA+E;;IAE/E,kFAAkF;;CAE1E,CAAC;AAEX,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBACtE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAGrD"}
@@ -24,12 +24,6 @@ export const HIKOUTEI_ERROR_CODES = {
24
24
  INVALID_SCALAR_VALUE: "invalid_scalar_value",
25
25
  /** A provider transaction could not find the row targeted by a managed change. */
26
26
  ENTITY_NOT_FOUND: "entity_not_found",
27
- /** Sheet route configuration is missing or inconsistent with the entities. */
28
- INVALID_SHEET_ROUTE: "invalid_sheet_route",
29
- /** A remote setup call was requested without a configured provisioner. */
30
- SHEET_SETUP_UNAVAILABLE: "sheet_setup_unavailable",
31
- /** An internal entity-to-sync mapping is inconsistent with the runtime. */
32
- INVALID_ENTITY_MAPPING: "invalid_entity_mapping",
33
27
  };
34
28
  /**
35
29
  * Error raised by the public Hikoutei lifecycle or descriptor validation.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kFAAkF;IAClF,yBAAyB,EAAE,2BAA2B;IACtD,4DAA4D;IAC5D,gBAAgB,EAAE,kBAAkB;IACpC,+EAA+E;IAC/E,mBAAmB,EAAE,qBAAqB;IAC1C,+EAA+E;IAC/E,8BAA8B,EAAE,gCAAgC;IAChE,iFAAiF;IACjF,2BAA2B,EAAE,6BAA6B;IAC1D,qEAAqE;IACrE,gBAAgB,EAAE,kBAAkB;IACpC,+EAA+E;IAC/E,oBAAoB,EAAE,sBAAsB;IAC5C,kFAAkF;IAClF,gBAAgB,EAAE,kBAAkB;IACpC,8EAA8E;IAC9E,mBAAmB,EAAE,qBAAqB;IAC1C,0EAA0E;IAC1E,uBAAuB,EAAE,yBAAyB;IAClD,2EAA2E;IAC3E,sBAAsB,EAAE,wBAAwB;CACxC,CAAC;AAMX;;;;;;GAMG;AACH,MAAM,OAAO,aAAc,SAAQ,kBAAiD;IAClF,YAAY,IAAuB,EAAE,OAAe;QAClD,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kFAAkF;IAClF,yBAAyB,EAAE,2BAA2B;IACtD,4DAA4D;IAC5D,gBAAgB,EAAE,kBAAkB;IACpC,+EAA+E;IAC/E,mBAAmB,EAAE,qBAAqB;IAC1C,+EAA+E;IAC/E,8BAA8B,EAAE,gCAAgC;IAChE,iFAAiF;IACjF,2BAA2B,EAAE,6BAA6B;IAC1D,qEAAqE;IACrE,gBAAgB,EAAE,kBAAkB;IACpC,+EAA+E;IAC/E,oBAAoB,EAAE,sBAAsB;IAC5C,kFAAkF;IAClF,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC;AAMX;;;;;;GAMG;AACH,MAAM,OAAO,aAAc,SAAQ,kBAAiD;IAClF,YAAY,IAAuB,EAAE,OAAe;QAClD,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}