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
@@ -4,13 +4,13 @@
4
4
  * This barrel is the only application-facing entrypoint. It exposes the stable
5
5
  * entity-lifecycle API — `defineTypedSheetsEntity`, `createTypedSheets`, the
6
6
  * `Hikoutei` runtime, the `EntityManager`, and the typed errors — and nothing
7
- * else. Internal storage, provider, ORM, gateway, and sync-protocol types are
8
- * intentionally not re-exported here.
7
+ * else. Sheet synchronization, storage, provider, ORM, gateway, and protocol
8
+ * types are internal service implementation details.
9
9
  */
10
10
  export { defineTypedSheetsEntity, HIKOUTEI_SCALAR_TYPES, } from "./entity.js";
11
- export type { HikouteiEntity, HikouteiEntityDescriptorInput, HikouteiPropertyOptions, HikouteiPropertyDescriptorMap, HikouteiScalarType, HikouteiScalarStorageType, HikouteiScalarValueType, HikouteiPropertyValueType, HikouteiEntityInstance, ResolvedHikouteiProperty, ResolvedHikouteiEntityDescriptor, } from "./entity.js";
11
+ export type { HikouteiEntity, HikouteiEntityDescriptorInput, HikouteiPropertyOptions, HikouteiPropertyDescriptorMap, HikouteiScalarType, HikouteiScalarValueType, HikouteiPropertyValueType, HikouteiEntityInstance, } from "./entity.js";
12
12
  export { createTypedSheets } from "./Hikoutei.js";
13
- export type { CreateTypedSheetsOptions, Hikoutei, HikouteiEntityRoutes, HikouteiProvisionRoute, HikouteiSheetProvisioner, HikouteiSheetRoute, HikouteiSheetsOptions, HikouteiSetupResult, } from "./Hikoutei.js";
13
+ export type { CreateTypedSheetsOptions, Hikoutei } from "./Hikoutei.js";
14
14
  export type { EntityManager, HikouteiFindOptions } from "./EntityManager.js";
15
15
  export { HIKOUTEI_ERROR_CODES, HikouteiError } from "./errors.js";
16
16
  export type { HikouteiErrorCode } from "./errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,cAAc,EACd,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EACV,wBAAwB,EACxB,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,cAAc,EACd,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
package/dist/api/index.js CHANGED
@@ -4,8 +4,8 @@
4
4
  * This barrel is the only application-facing entrypoint. It exposes the stable
5
5
  * entity-lifecycle API — `defineTypedSheetsEntity`, `createTypedSheets`, the
6
6
  * `Hikoutei` runtime, the `EntityManager`, and the typed errors — and nothing
7
- * else. Internal storage, provider, ORM, gateway, and sync-protocol types are
8
- * intentionally not re-exported here.
7
+ * else. Sheet synchronization, storage, provider, ORM, gateway, and protocol
8
+ * types are internal service implementation details.
9
9
  */
10
10
  export { defineTypedSheetsEntity, HIKOUTEI_SCALAR_TYPES, } from "./entity.js";
11
11
  export { createTypedSheets } from "./Hikoutei.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAcrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAYlD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAWrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"internalEntityManager.d.ts","sourceRoot":"","sources":["../../src/api/internalEntityManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EACV,+BAA+B,EAKhC,MAAM,4CAA4C,CAAC;AAmOpD,kFAAkF;AAClF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,+BAA+B,EACzC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,gCAAgC,CAAC,GACjE,aAAa,CAEf"}
1
+ {"version":3,"file":"internalEntityManager.d.ts","sourceRoot":"","sources":["../../src/api/internalEntityManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EACV,+BAA+B,EAKhC,MAAM,4CAA4C,CAAC;AAkOpD,kFAAkF;AAClF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,+BAA+B,EACzC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,gCAAgC,CAAC,GACjE,aAAa,CAEf"}
@@ -36,20 +36,20 @@ class EntityManagerImpl {
36
36
  */
37
37
  create(entity, data) {
38
38
  const descriptor = this.requireDescriptor(entity);
39
- const instance = buildEntityInstance(descriptor, data);
39
+ const instance = promoteManagedEntity(buildEntityInstance(descriptor, data));
40
40
  this.entityDescriptors.set(instance, descriptor);
41
41
  this.unitOfWork.manageNew(descriptor, instance);
42
42
  this.rememberIdentity(descriptor, instance);
43
43
  return instance;
44
44
  }
45
45
  /** Reads every entity matching an equality filter from the local authority. */
46
- async find(entity, where = {}, options) {
46
+ async find(entity, where, options) {
47
47
  const descriptor = this.requireDescriptor(entity);
48
- const query = toQuery(descriptor, where, options);
48
+ const query = toQuery(descriptor, where ?? {}, options);
49
49
  const rows = this.activeTransaction === undefined
50
50
  ? await this.provider.read(query)
51
51
  : await this.activeTransaction.read(query);
52
- return rows.map((row) => this.materialize(descriptor, row));
52
+ return rows.map((row) => promoteManagedEntity(this.materialize(descriptor, row)));
53
53
  }
54
54
  /** Reads one entity matching an equality filter, or null when none match. */
55
55
  async findOne(entity, where) {
@@ -178,7 +178,7 @@ class EntityManagerImpl {
178
178
  return instance;
179
179
  }
180
180
  rememberIdentity(descriptor, entity) {
181
- const primaryKey = entity[descriptor.primaryKey];
181
+ const primaryKey = Reflect.get(entity, descriptor.primaryKey);
182
182
  if (typeof primaryKey === "string" && primaryKey.length > 0) {
183
183
  this.identityMap.set(identityKey(descriptor, entity), entity);
184
184
  }
@@ -198,7 +198,7 @@ function buildEntityInstance(descriptor, data) {
198
198
  const instance = {};
199
199
  for (const property of descriptor.properties) {
200
200
  if (Object.prototype.hasOwnProperty.call(data, property.name)) {
201
- instance[property.name] = data[property.name];
201
+ instance[property.name] = Reflect.get(data, property.name);
202
202
  }
203
203
  else if (property.nullable) {
204
204
  instance[property.name] = null;
@@ -234,18 +234,28 @@ function requireFilterValue(descriptor, key, property, value) {
234
234
  return null;
235
235
  throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `filter "${key}" cannot be null in non-nullable entity "${descriptor.name}".`);
236
236
  }
237
- if (property.type === "date") {
238
- if (value instanceof Date && Number.isFinite(value.getTime()))
239
- return value;
240
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `filter "${key}" expected a valid Date in entity "${descriptor.name}".`);
241
- }
242
- if (typeof value !== property.type) {
243
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `filter "${key}" expected ${property.type} but received ${typeof value}.`);
244
- }
245
- if (property.type === "number" && !Number.isFinite(value)) {
246
- throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `filter "${key}" must be a finite number.`);
237
+ switch (property.type) {
238
+ case "date":
239
+ if (value instanceof Date && Number.isFinite(value.getTime()))
240
+ return value;
241
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `filter "${key}" expected a valid Date in entity "${descriptor.name}".`);
242
+ case "string":
243
+ if (typeof value === "string")
244
+ return value;
245
+ break;
246
+ case "number":
247
+ if (typeof value === "number" && Number.isFinite(value))
248
+ return value;
249
+ if (typeof value === "number") {
250
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `filter "${key}" must be a finite number.`);
251
+ }
252
+ break;
253
+ case "boolean":
254
+ if (typeof value === "boolean")
255
+ return value;
256
+ break;
247
257
  }
248
- return value;
258
+ throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `filter "${key}" expected ${property.type} but received ${typeof value}.`);
249
259
  }
250
260
  function requirePageValue(value, label) {
251
261
  if (value === undefined)
@@ -277,12 +287,16 @@ function toEntities(input) {
277
287
  return [input];
278
288
  }
279
289
  function isIterable(value) {
280
- return typeof value[Symbol.iterator] === "function";
290
+ return typeof Reflect.get(value, Symbol.iterator) === "function";
281
291
  }
282
292
  function identityKey(descriptor, entity) {
283
293
  return JSON.stringify([
284
294
  descriptor.name,
285
- String(entity[descriptor.primaryKey]),
295
+ String(Reflect.get(entity, descriptor.primaryKey)),
286
296
  ]);
287
297
  }
298
+ /** Bridges the runtime object to the descriptor's phantom public entity type. */
299
+ function promoteManagedEntity(value) {
300
+ return value;
301
+ }
288
302
  //# sourceMappingURL=internalEntityManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internalEntityManager.js","sourceRoot":"","sources":["../../src/api/internalEntityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internalEntityManager.js","sourceRoot":"","sources":["../../src/api/internalEntityManager.ts"],"names":[],"mappings":"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"}
@@ -14,16 +14,16 @@ export type TypedSheetsEntityProjection = typeof SYNC_GATEWAY_PROJECTIONS.USER_I
14
14
  /** A string property name declared by one mapped entity. */
15
15
  export type TypedSheetsEntityProperty<Entity extends object> = Extract<keyof Entity, string>;
16
16
  /** Optional codec used when a TypeScript property needs custom cell conversion. */
17
- export interface TypedSheetsEntityFieldCodec {
17
+ export interface TypedSheetsEntityFieldCodec<Value = unknown> {
18
18
  /** Converts one entity property value into a normalized Sheet cell. */
19
- readonly encode?: (value: unknown) => NormalizedCell;
19
+ encode?(value: Value): NormalizedCell;
20
20
  /** Converts one accepted canonical cell into an entity property value. */
21
- readonly decode?: (value: NormalizedCell) => unknown;
21
+ decode?(value: NormalizedCell): Value;
22
22
  }
23
23
  /** Input declaration for one entity property stored as a canonical field. */
24
- export interface TypedSheetsEntityFieldMappingInput<Entity extends object> extends TypedSheetsEntityFieldCodec {
24
+ export interface TypedSheetsEntityFieldMappingInput<Entity extends object, Property extends TypedSheetsEntityProperty<Entity> = TypedSheetsEntityProperty<Entity>> extends TypedSheetsEntityFieldCodec<Entity[Property]> {
25
25
  /** Property on the application entity. */
26
- readonly property: TypedSheetsEntityProperty<Entity>;
26
+ readonly property: Property;
27
27
  /** Stable canonical/Sheet field name. Defaults to `property`. */
28
28
  readonly fieldName?: string;
29
29
  /** Runtime cell type stored in canonical state and projected to Sheets. */
@@ -43,6 +43,10 @@ export interface TypedSheetsEntityProjectionMappingInput {
43
43
  readonly registeredRange: string;
44
44
  readonly projection: TypedSheetsEntityProjection;
45
45
  }
46
+ /** A property-specific mapping input union that preserves codec value inference. */
47
+ export type TypedSheetsEntityFieldMappingInputForEntity<Entity extends object> = {
48
+ [Property in TypedSheetsEntityProperty<Entity>]: TypedSheetsEntityFieldMappingInput<Entity, Property>;
49
+ }[TypedSheetsEntityProperty<Entity>];
46
50
  /** User-facing declaration used to construct one validated entity mapping. */
47
51
  export interface TypedSheetsEntityMappingInput<Entity extends object> {
48
52
  /** Entity class or stable entity name handled by the execution engine. */
@@ -58,7 +62,7 @@ export interface TypedSheetsEntityMappingInput<Entity extends object> {
58
62
  /** Schema version registered for every physical projection of this entity. */
59
63
  readonly schemaVersion: number;
60
64
  /** Canonical business fields exposed by this mapping. */
61
- readonly fields: readonly TypedSheetsEntityFieldMappingInput<Entity>[];
65
+ readonly fields: readonly TypedSheetsEntityFieldMappingInputForEntity<Entity>[];
62
66
  /** One System_State projection and, optionally, one User_Input projection. */
63
67
  readonly projections: readonly TypedSheetsEntityProjectionMappingInput[];
64
68
  /** System-only marker projected when `em.remove()` tombstones an entity. */
@@ -87,6 +91,11 @@ export interface TypedSheetsEntityProjectionMapping {
87
91
  readonly registeredRange: string;
88
92
  readonly projection: TypedSheetsEntityProjection;
89
93
  }
94
+ /** Canonical identity metadata shared by persistence and observation paths. */
95
+ export interface TypedSheetsEntityIdentityMapping {
96
+ readonly primaryProperty: string;
97
+ readonly businessKey: TypedSheetsEntityFieldMapping;
98
+ }
90
99
  /** Adapter-neutral mapping consumed by the flush and observation bridges. */
91
100
  export interface TypedSheetsEntityMapping {
92
101
  readonly entity: TypedSheetsEntityReference<object>;
@@ -94,6 +103,7 @@ export interface TypedSheetsEntityMapping {
94
103
  readonly logicalSheetId: string;
95
104
  readonly primaryKey: string;
96
105
  readonly businessKey: TypedSheetsEntityFieldMapping;
106
+ readonly identity: TypedSheetsEntityIdentityMapping;
97
107
  readonly schemaVersion: number;
98
108
  readonly fields: readonly TypedSheetsEntityFieldMapping[];
99
109
  readonly projections: readonly TypedSheetsEntityProjectionMapping[];
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EAGV,wBAAwB,EACxB,6BAA6B,EAG9B,MAAM,gBAAgB,CAAC;AAMxB;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,SAAS,MAAM,EAClE,KAAK,EAAE,6BAA6B,CAAC,MAAM,CAAC,GAC3C,wBAAwB,CAoE1B"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EAIV,wBAAwB,EACxB,6BAA6B,EAG9B,MAAM,gBAAgB,CAAC;AAMxB;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,SAAS,MAAM,EAClE,KAAK,EAAE,6BAA6B,CAAC,MAAM,CAAC,GAC3C,wBAAwB,CA8E1B"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { EMPTY_STRING_LENGTH_ZERO, FIELD_OWNERSHIPS, } from "../../../domain/index.js";
8
8
  import { NORMALIZED_CELL_KINDS, } from "../../../shared/encoding/constants.js";
9
+ import { isRecord } from "../../../shared/encoding/typeGuards.js";
9
10
  import { SYNC_GATEWAY_PROJECTIONS } from "../../sync/gateway/constants.js";
10
11
  import { TYPED_SHEETS_ORM_ERROR_CODES, TypedSheetsOrmError, } from "../errors.js";
11
12
  /**
@@ -16,6 +17,12 @@ import { TYPED_SHEETS_ORM_ERROR_CODES, TypedSheetsOrmError, } from "../errors.js
16
17
  * User_Input/System_State ownership boundary.
17
18
  */
18
19
  export function defineTypedSheetsEntityMapping(input) {
20
+ if (!isRecord(input)) {
21
+ throwInvalidMapping("entity mapping must be an object");
22
+ }
23
+ if (!Array.isArray(input.fields) || !Array.isArray(input.projections)) {
24
+ throwInvalidMapping("entity mapping fields and projections must be arrays");
25
+ }
19
26
  const entityName = input.entityName ?? entityReferenceName(input.entity);
20
27
  requireText(entityName, "entity name");
21
28
  requireText(input.logicalSheetId, "logical sheet ID");
@@ -67,6 +74,10 @@ export function defineTypedSheetsEntityMapping(input) {
67
74
  logicalSheetId: input.logicalSheetId,
68
75
  primaryKey: input.primaryKey,
69
76
  businessKey,
77
+ identity: {
78
+ primaryProperty: input.primaryKey,
79
+ businessKey,
80
+ },
70
81
  schemaVersion: input.schemaVersion,
71
82
  fields,
72
83
  projections,
@@ -77,6 +88,9 @@ export function defineTypedSheetsEntityMapping(input) {
77
88
  };
78
89
  }
79
90
  function normalizeFieldMapping(field) {
91
+ if (!isRecord(field)) {
92
+ throwInvalidMapping("entity field mapping must be an object");
93
+ }
80
94
  const property = field.property;
81
95
  const fieldName = field.fieldName ?? property;
82
96
  requireText(property, "entity property");
@@ -87,6 +101,19 @@ function normalizeFieldMapping(field) {
87
101
  if (field.ownership !== FIELD_OWNERSHIPS.USER && field.ownership !== FIELD_OWNERSHIPS.SYSTEM) {
88
102
  throwInvalidMapping(`${fieldName} has an unsupported ownership`);
89
103
  }
104
+ if (field.encode !== undefined && typeof field.encode !== "function") {
105
+ throwInvalidMapping(`${fieldName} encode must be a function`);
106
+ }
107
+ if (field.decode !== undefined && typeof field.decode !== "function") {
108
+ throwInvalidMapping(`${fieldName} decode must be a function`);
109
+ }
110
+ if (field.required !== undefined && typeof field.required !== "boolean") {
111
+ throwInvalidMapping(`${fieldName} required must be boolean`);
112
+ }
113
+ if (field.unique !== undefined && typeof field.unique !== "boolean") {
114
+ throwInvalidMapping(`${fieldName} unique must be boolean`);
115
+ }
116
+ const codec = eraseFieldCodec(field);
90
117
  return {
91
118
  property,
92
119
  fieldName,
@@ -94,11 +121,22 @@ function normalizeFieldMapping(field) {
94
121
  ownership: field.ownership,
95
122
  required: field.required ?? false,
96
123
  unique: field.unique ?? false,
97
- ...(field.encode === undefined ? {} : { encode: field.encode }),
98
- ...(field.decode === undefined ? {} : { decode: field.decode }),
124
+ ...(codec.encode === undefined ? {} : { encode: codec.encode }),
125
+ ...(codec.decode === undefined ? {} : { decode: codec.decode }),
126
+ };
127
+ }
128
+ /** Erases a property-specific codec only after the mapping boundary validates it. */
129
+ function eraseFieldCodec(field) {
130
+ const codec = field;
131
+ return {
132
+ ...(codec.encode === undefined ? {} : { encode: codec.encode }),
133
+ ...(codec.decode === undefined ? {} : { decode: codec.decode }),
99
134
  };
100
135
  }
101
136
  function normalizeProjectionMapping(projection) {
137
+ if (!isRecord(projection)) {
138
+ throwInvalidMapping("entity projection mapping must be an object");
139
+ }
102
140
  requireText(projection.physicalSheetId, "physical sheet ID");
103
141
  requireText(projection.spreadsheetId, "spreadsheet ID");
104
142
  requireText(projection.tabName, "tab name");
@@ -112,11 +150,11 @@ function normalizeProjectionMapping(projection) {
112
150
  function entityReferenceName(entity) {
113
151
  if (typeof entity === "string")
114
152
  return entity;
115
- const name = entity.name;
116
- if (typeof name !== "string") {
117
- throwInvalidMapping("an entity class must expose a stable name or entityName must be provided");
118
- }
119
- return name;
153
+ if (typeof entity === "function" && typeof entity.name === "string")
154
+ return entity.name;
155
+ if (isRecord(entity) && typeof entity.name === "string")
156
+ return entity.name;
157
+ throwInvalidMapping("an entity class must expose a stable name or entityName must be provided");
120
158
  }
121
159
  function assertDistinct(values, label) {
122
160
  const seen = new Set();
@@ -140,9 +178,10 @@ function isNormalizedCellKind(value) {
140
178
  value === NORMALIZED_CELL_KINDS.DATE;
141
179
  }
142
180
  function requireText(value, label) {
143
- if (value.length === EMPTY_STRING_LENGTH_ZERO) {
181
+ if (typeof value !== "string" || value.length === EMPTY_STRING_LENGTH_ZERO) {
144
182
  throwInvalidMapping(`${label} is required`);
145
183
  }
184
+ return value;
146
185
  }
147
186
  function throwInvalidMapping(message) {
148
187
  throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.INVALID_ENTITY_MAPPING, message);
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/application/orm/mapping/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/application/orm/mapping/definition.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export function typedSheetsEntityAnchor(mapping, entityId) {
23
23
  }
24
24
  /** Reads the mapping's string primary key from a pending entity change. */
25
25
  export function typedSheetsEntityId(mapping, entity) {
26
- const value = entity[mapping.primaryKey];
26
+ const value = Reflect.get(entity, mapping.primaryKey);
27
27
  if (typeof value !== "string" || value.length === EMPTY_STRING_LENGTH_ZERO) {
28
28
  throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.ENTITY_PRIMARY_KEY_UNAVAILABLE, `${mapping.entityName}.${mapping.primaryKey} must be a non-empty string before flush.`);
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/application/orm/mapping/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,wBAAwB,EACxB,UAAU,GACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,oFAAoF;AACpF,MAAM,UAAU,6BAA6B,CAC3C,OAAiC,EACjC,QAAgB;IAEhB,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1D,OAAO,UAAU,GAAG,UAAU,CAAC;QAC7B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,cAAc,EAAE,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,uBAAuB,CACrC,OAAiC,EACjC,QAAgB;IAEhB,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjD,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CACjC,OAAiC,EACjC,MAAc;IAEd,MAAM,KAAK,GAAI,MAA4C,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC3E,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,CAAC,8BAA8B,EAC3D,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,2CAA2C,CACvF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,4BAA4B,CAC1C,OAAiC,EACjC,QAAgB;IAEhB,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACzD,WAAW,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC9C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gCAAgC,CAC9C,OAAiC,EACjC,QAAgB;IAEhB,WAAW,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxD,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC9C,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,CAAC,sBAAsB,EACnD,GAAG,KAAK,cAAc,CACvB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/application/orm/mapping/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,wBAAwB,EACxB,UAAU,GACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,oFAAoF;AACpF,MAAM,UAAU,6BAA6B,CAC3C,OAAiC,EACjC,QAAgB;IAEhB,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1D,OAAO,UAAU,GAAG,UAAU,CAAC;QAC7B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,cAAc,EAAE,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,uBAAuB,CACrC,OAAiC,EACjC,QAAgB;IAEhB,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjD,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CACjC,OAAiC,EACjC,MAAc;IAEd,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC3E,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,CAAC,8BAA8B,EAC3D,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,2CAA2C,CACvF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,4BAA4B,CAC1C,OAAiC,EACjC,QAAgB;IAEhB,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACzD,WAAW,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC9C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gCAAgC,CAC9C,OAAiC,EACjC,QAAgB;IAEhB,WAAW,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxD,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC9C,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,CAAC,sBAAsB,EACnD,GAAG,KAAK,cAAc,CACvB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/projection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,sBAAsB,EAAwB,MAAM,0CAA0C,CAAC;AAK7G,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,kCAAkC,EAClC,qCAAqC,EACtC,MAAM,gBAAgB,CAAC;AAExB,mFAAmF;AACnF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,2BAA2B,GACtC,kCAAkC,CASpC;AAED,qFAAqF;AACrF,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CAgBnB;AAED,mFAAmF;AACnF,wBAAgB,2CAA2C,CACzD,OAAO,EAAE,wBAAwB,GAChC,MAAM,CAIR;AAED,mFAAmF;AACnF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,2BAA2B,GACtC,SAAS,MAAM,EAAE,CASnB;AAED,2EAA2E;AAC3E,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,kCAAkC,GAC7C,sBAAsB,CAYxB;AAED,+FAA+F;AAC/F,wBAAgB,4CAA4C,CAC1D,QAAQ,EAAE,SAAS,wBAAwB,EAAE,GAC5C,SAAS,qCAAqC,EAAE,CAOlD"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/projection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,sBAAsB,EAAwB,MAAM,0CAA0C,CAAC;AAK7G,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,kCAAkC,EAClC,qCAAqC,EACtC,MAAM,gBAAgB,CAAC;AAExB,mFAAmF;AACnF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,2BAA2B,GACtC,kCAAkC,CASpC;AAED,qFAAqF;AACrF,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CAgBnB;AAED,mFAAmF;AACnF,wBAAgB,2CAA2C,CACzD,OAAO,EAAE,wBAAwB,GAChC,MAAM,CAIR;AAED,mFAAmF;AACnF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,2BAA2B,GACtC,SAAS,MAAM,EAAE,CASnB;AAED,2EAA2E;AAC3E,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,kCAAkC,GAC7C,sBAAsB,CAYxB;AAaD,+FAA+F;AAC/F,wBAAgB,4CAA4C,CAC1D,QAAQ,EAAE,SAAS,wBAAwB,EAAE,GAC5C,SAAS,qCAAqC,EAAE,CAOlD"}
@@ -4,7 +4,7 @@
4
4
  * This module owns ownership manifests, projection headers, and registration
5
5
  * payloads; it does not validate entity declarations or encode field values.
6
6
  */
7
- import { FIELD_OWNERSHIPS, } from "../../../domain/index.js";
7
+ import { FIELD_OWNERSHIPS, REGISTERED_PROJECTION_KINDS, } from "../../../domain/index.js";
8
8
  import { SYNC_GATEWAY_PROJECTIONS } from "../../sync/gateway/constants.js";
9
9
  import { TYPED_SHEETS_ORM_ERROR_CODES, TypedSheetsOrmError, } from "../errors.js";
10
10
  /** Returns the one physical route registered for the requested projection kind. */
@@ -56,12 +56,20 @@ export function createTypedSheetsEntityProjectionRegistration(mapping, projectio
56
56
  spreadsheetId: projection.spreadsheetId,
57
57
  tabName: projection.tabName,
58
58
  registeredRange: projection.registeredRange,
59
- projection: projection.projection,
59
+ projection: toRegisteredProjection(projection.projection),
60
60
  schemaVersion: mapping.schemaVersion,
61
61
  ownershipManifestJson: serializeTypedSheetsEntityOwnershipManifest(mapping),
62
62
  businessKeyField: mapping.businessKey.fieldName,
63
63
  };
64
64
  }
65
+ function toRegisteredProjection(projection) {
66
+ switch (projection) {
67
+ case SYNC_GATEWAY_PROJECTIONS.USER_INPUT:
68
+ return REGISTERED_PROJECTION_KINDS.USER_INPUT;
69
+ case SYNC_GATEWAY_PROJECTIONS.SYSTEM_STATE:
70
+ return REGISTERED_PROJECTION_KINDS.SYSTEM_STATE;
71
+ }
72
+ }
65
73
  /** Returns every setup definition necessary to register and provision a mapping collection. */
66
74
  export function createTypedSheetsMappedProjectionDefinitions(mappings) {
67
75
  return mappings.flatMap((mapping) => mapping.projections.map((projection) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/application/orm/mapping/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/application/orm/mapping/projection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/values.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,KAAK,EACV,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAExB,qFAAqF;AACrF,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAU1C;AAED,yFAAyF;AACzF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,6BAA6B,EACpC,KAAK,EAAE,OAAO,GACb,cAAc,CAKhB;AAED,sFAAsF;AACtF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,6BAA6B,EACpC,KAAK,EAAE,cAAc,GACpB,OAAO,CAYT;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAE,MAAM,GAChB,6BAA6B,CAS/B"}
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/mapping/values.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAUlC,OAAO,KAAK,EACV,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAExB,qFAAqF;AACrF,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,MAAM,GACb,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAU1C;AAED,yFAAyF;AACzF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,6BAA6B,EACpC,KAAK,EAAE,OAAO,GACb,cAAc,CAKhB;AAED,sFAAsF;AACtF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,6BAA6B,EACpC,KAAK,EAAE,cAAc,GACpB,OAAO,CAYT;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAE,MAAM,GAChB,6BAA6B,CAS/B"}
@@ -5,7 +5,8 @@
5
5
  * checked against the declared normalized-cell contract before persistence.
6
6
  */
7
7
  import { EMPTY_STRING_LENGTH_ZERO, } from "../../../domain/index.js";
8
- import { NORMALIZED_CELL_KINDS, } from "../../../shared/encoding/constants.js";
8
+ import { isNormalizedCell, NORMALIZED_CELL_KINDS, } from "../../../shared/encoding/index.js";
9
+ import { isCanonicalUtcIsoDate } from "../../../shared/validation.js";
9
10
  import { TYPED_SHEETS_ORM_ERROR_CODES, TypedSheetsOrmError, } from "../errors.js";
10
11
  /** Encodes every mapped entity property into its canonical normalized-cell value. */
11
12
  export function encodeTypedSheetsEntity(mapping, entity) {
@@ -47,7 +48,7 @@ export function requireTypedSheetsEntityField(mapping, fieldName) {
47
48
  return field;
48
49
  }
49
50
  function readEntityProperty(entity, property) {
50
- return entity[property];
51
+ return Reflect.get(entity, property);
51
52
  }
52
53
  function defaultEncode(field, value) {
53
54
  if (value === null)
@@ -76,7 +77,7 @@ function defaultDateCell(field, value) {
76
77
  }
77
78
  return { kind: NORMALIZED_CELL_KINDS.DATE, value: value.toISOString() };
78
79
  }
79
- if (typeof value === "string" && isCanonicalIsoDate(value)) {
80
+ if (typeof value === "string" && isCanonicalUtcIsoDate(value)) {
80
81
  return { kind: NORMALIZED_CELL_KINDS.DATE, value };
81
82
  }
82
83
  return invalidMappedFieldValue(field, "must be a valid Date or canonical ISO date string");
@@ -88,7 +89,7 @@ function requireValidMappedCell(mapping, field, cell) {
88
89
  }
89
90
  return cell;
90
91
  }
91
- if (!isNonNullNormalizedCell(cell)) {
92
+ if (!isNormalizedCell(cell)) {
92
93
  throwInvalidFieldValue(mapping, field, "must encode as a normalized cell or null");
93
94
  }
94
95
  if (cell.kind !== field.cellKind) {
@@ -99,39 +100,8 @@ function requireValidMappedCell(mapping, field, cell) {
99
100
  cell.value.length === EMPTY_STRING_LENGTH_ZERO) {
100
101
  throwInvalidFieldValue(mapping, field, "cannot be an empty string");
101
102
  }
102
- if (cell.kind === NORMALIZED_CELL_KINDS.NUMBER && !Number.isFinite(cell.value)) {
103
- throwInvalidFieldValue(mapping, field, "must be a finite number");
104
- }
105
- if (cell.kind === NORMALIZED_CELL_KINDS.DATE && !isCanonicalIsoDate(cell.value)) {
106
- throwInvalidFieldValue(mapping, field, "must be a canonical ISO date string");
107
- }
108
103
  return cell;
109
104
  }
110
- function isCanonicalIsoDate(value) {
111
- if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(value))
112
- return false;
113
- const timestamp = Date.parse(value);
114
- return Number.isFinite(timestamp) && new Date(timestamp).toISOString() === value;
115
- }
116
- function isNonNullNormalizedCell(value) {
117
- if (!isRecord(value))
118
- return false;
119
- switch (value.kind) {
120
- case NORMALIZED_CELL_KINDS.STRING:
121
- case NORMALIZED_CELL_KINDS.DATE:
122
- return typeof value.value === "string";
123
- case NORMALIZED_CELL_KINDS.NUMBER:
124
- return typeof value.value === "number";
125
- case NORMALIZED_CELL_KINDS.BOOLEAN:
126
- return typeof value.value === "boolean";
127
- default:
128
- return false;
129
- }
130
- }
131
- /** Promotes unknown codec output to a non-array record before tag inspection. */
132
- function isRecord(value) {
133
- return typeof value === "object" && value !== null && !Array.isArray(value);
134
- }
135
105
  function invalidMappedFieldValue(field, message) {
136
106
  throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.INVALID_MAPPED_FIELD_VALUE, `${field.property} ${message}.`);
137
107
  }