@fragno-dev/db 0.3.0 → 0.4.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 (516) hide show
  1. package/.turbo/turbo-build.log +327 -160
  2. package/CHANGELOG.md +74 -0
  3. package/README.md +24 -0
  4. package/dist/adapters/adapters.d.ts +1 -1
  5. package/dist/adapters/adapters.d.ts.map +1 -1
  6. package/dist/adapters/adapters.js.map +1 -1
  7. package/dist/adapters/generic-sql/generic-sql-adapter.d.ts +0 -3
  8. package/dist/adapters/generic-sql/generic-sql-adapter.d.ts.map +1 -1
  9. package/dist/adapters/generic-sql/generic-sql-adapter.js +11 -12
  10. package/dist/adapters/generic-sql/generic-sql-adapter.js.map +1 -1
  11. package/dist/adapters/generic-sql/generic-sql-uow-executor.js +46 -6
  12. package/dist/adapters/generic-sql/generic-sql-uow-executor.js.map +1 -1
  13. package/dist/adapters/generic-sql/migration/cold-kysely.js.map +1 -1
  14. package/dist/adapters/generic-sql/migration/dialect/mysql.js +1 -1
  15. package/dist/adapters/generic-sql/migration/dialect/mysql.js.map +1 -1
  16. package/dist/adapters/generic-sql/migration/dialect/postgres.js +1 -1
  17. package/dist/adapters/generic-sql/migration/dialect/postgres.js.map +1 -1
  18. package/dist/adapters/generic-sql/migration/dialect/sqlite.js +185 -19
  19. package/dist/adapters/generic-sql/migration/dialect/sqlite.js.map +1 -1
  20. package/dist/adapters/generic-sql/migration/executor.d.ts.map +1 -1
  21. package/dist/adapters/generic-sql/migration/executor.js +30 -3
  22. package/dist/adapters/generic-sql/migration/executor.js.map +1 -1
  23. package/dist/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -1
  24. package/dist/adapters/generic-sql/migration/prepared-migrations.js +3 -3
  25. package/dist/adapters/generic-sql/migration/prepared-migrations.js.map +1 -1
  26. package/dist/adapters/generic-sql/migration/sql-generator.js +1 -1
  27. package/dist/adapters/generic-sql/migration/sql-generator.js.map +1 -1
  28. package/dist/adapters/generic-sql/query/create-sql-query-compiler.js +1 -1
  29. package/dist/adapters/generic-sql/query/create-sql-query-compiler.js.map +1 -1
  30. package/dist/adapters/generic-sql/query/cursor-utils.js.map +1 -1
  31. package/dist/adapters/generic-sql/query/db-now-sql.js +27 -0
  32. package/dist/adapters/generic-sql/query/db-now-sql.js.map +1 -0
  33. package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js +9 -6
  34. package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js.map +1 -1
  35. package/dist/adapters/generic-sql/query/select-builder.js.map +1 -1
  36. package/dist/adapters/generic-sql/query/sql-query-compiler.js +37 -9
  37. package/dist/adapters/generic-sql/query/sql-query-compiler.js.map +1 -1
  38. package/dist/adapters/generic-sql/query/where-builder.js +24 -20
  39. package/dist/adapters/generic-sql/query/where-builder.js.map +1 -1
  40. package/dist/adapters/generic-sql/uow-decoder.js +1 -1
  41. package/dist/adapters/generic-sql/uow-decoder.js.map +1 -1
  42. package/dist/adapters/generic-sql/uow-encoder.js +8 -9
  43. package/dist/adapters/generic-sql/uow-encoder.js.map +1 -1
  44. package/dist/adapters/in-memory/condition-evaluator.js +10 -6
  45. package/dist/adapters/in-memory/condition-evaluator.js.map +1 -1
  46. package/dist/adapters/in-memory/in-memory-adapter.d.ts.map +1 -1
  47. package/dist/adapters/in-memory/in-memory-adapter.js +45 -25
  48. package/dist/adapters/in-memory/in-memory-adapter.js.map +1 -1
  49. package/dist/adapters/in-memory/in-memory-uow.js +236 -13
  50. package/dist/adapters/in-memory/in-memory-uow.js.map +1 -1
  51. package/dist/adapters/in-memory/options.d.ts +2 -0
  52. package/dist/adapters/in-memory/options.d.ts.map +1 -1
  53. package/dist/adapters/in-memory/options.js +3 -2
  54. package/dist/adapters/in-memory/options.js.map +1 -1
  55. package/dist/adapters/in-memory/reference-resolution.js.map +1 -1
  56. package/dist/adapters/in-memory/store.js +1 -1
  57. package/dist/adapters/in-memory/store.js.map +1 -1
  58. package/dist/adapters/shared/from-unit-of-work-compiler.js +51 -24
  59. package/dist/adapters/shared/from-unit-of-work-compiler.js.map +1 -1
  60. package/dist/adapters/shared/uow-operation-compiler.js.map +1 -1
  61. package/dist/browser/adapters/adapters.d.ts +61 -0
  62. package/dist/browser/adapters/adapters.d.ts.map +1 -0
  63. package/dist/browser/adapters/generic-sql/migration/executor.d.ts +15 -0
  64. package/dist/browser/adapters/generic-sql/migration/executor.d.ts.map +1 -0
  65. package/dist/browser/adapters/generic-sql/migration/prepared-migrations.d.ts +66 -0
  66. package/dist/browser/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -0
  67. package/dist/browser/adapters/generic-sql/sqlite-storage.d.ts +11 -0
  68. package/dist/browser/adapters/generic-sql/sqlite-storage.d.ts.map +1 -0
  69. package/dist/browser/adapters/in-memory/in-memory-adapter.d.ts +5 -0
  70. package/dist/browser/adapters/in-memory/index.d.ts +2 -0
  71. package/dist/browser/adapters/in-memory/options.d.ts +1 -0
  72. package/dist/browser/db-fragment-definition-builder.d.ts +237 -0
  73. package/dist/browser/db-fragment-definition-builder.d.ts.map +1 -0
  74. package/dist/browser/durable-hooks.d.ts +3 -0
  75. package/dist/browser/fragments/internal-fragment.d.ts +317 -0
  76. package/dist/browser/fragments/internal-fragment.d.ts.map +1 -0
  77. package/dist/browser/fragments/internal-fragment.schema.d.ts +1 -0
  78. package/dist/browser/hooks/durable-hooks-logger.d.ts +10 -0
  79. package/dist/browser/hooks/durable-hooks-logger.d.ts.map +1 -0
  80. package/dist/browser/hooks/hooks.d.ts +146 -0
  81. package/dist/browser/hooks/hooks.d.ts.map +1 -0
  82. package/dist/browser/id.js +1 -0
  83. package/dist/browser/internal/adapter-registry.d.ts +4 -0
  84. package/dist/browser/internal/outbox-state.d.ts +2 -0
  85. package/dist/browser/mod.d.ts +15 -0
  86. package/dist/browser/mod.d.ts.map +1 -0
  87. package/dist/browser/mod.js +17 -0
  88. package/dist/browser/mod.js.map +1 -0
  89. package/dist/browser/mod2.d.ts +48 -0
  90. package/dist/browser/mod2.d.ts.map +1 -0
  91. package/dist/browser/naming/sql-naming.d.ts +19 -0
  92. package/dist/browser/naming/sql-naming.d.ts.map +1 -0
  93. package/dist/browser/outbox/outbox.d.ts +21 -0
  94. package/dist/browser/outbox/outbox.d.ts.map +1 -0
  95. package/dist/browser/query/column-defaults.js +1 -0
  96. package/dist/browser/query/condition-builder.d.ts +44 -0
  97. package/dist/browser/query/condition-builder.d.ts.map +1 -0
  98. package/dist/browser/query/condition-builder.js +97 -0
  99. package/dist/browser/query/condition-builder.js.map +1 -0
  100. package/dist/browser/query/cursor.d.ts +105 -0
  101. package/dist/browser/query/cursor.d.ts.map +1 -0
  102. package/dist/browser/query/cursor.js +150 -0
  103. package/dist/browser/query/cursor.js.map +1 -0
  104. package/dist/browser/query/db-now.d.ts +22 -0
  105. package/dist/browser/query/db-now.d.ts.map +1 -0
  106. package/dist/browser/query/db-now.js +33 -0
  107. package/dist/browser/query/db-now.js.map +1 -0
  108. package/dist/browser/query/orm/orm.d.ts +18 -0
  109. package/dist/browser/query/orm/orm.d.ts.map +1 -0
  110. package/dist/browser/query/simple-query-interface.d.ts +108 -0
  111. package/dist/browser/query/simple-query-interface.d.ts.map +1 -0
  112. package/dist/browser/query/unit-of-work/execute-unit-of-work.d.ts +423 -0
  113. package/dist/browser/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -0
  114. package/dist/browser/query/unit-of-work/execute-unit-of-work.js +507 -0
  115. package/dist/browser/query/unit-of-work/execute-unit-of-work.js.map +1 -0
  116. package/dist/browser/query/unit-of-work/retry-policy.d.ts +23 -0
  117. package/dist/browser/query/unit-of-work/retry-policy.d.ts.map +1 -0
  118. package/dist/browser/query/unit-of-work/retry-policy.js +40 -0
  119. package/dist/browser/query/unit-of-work/retry-policy.js.map +1 -0
  120. package/dist/browser/query/unit-of-work/unit-of-work.d.ts +703 -0
  121. package/dist/browser/query/unit-of-work/unit-of-work.d.ts.map +1 -0
  122. package/dist/browser/query/unit-of-work/unit-of-work.js +1206 -0
  123. package/dist/browser/query/unit-of-work/unit-of-work.js.map +1 -0
  124. package/dist/browser/query/value-encoding.js +38 -0
  125. package/dist/browser/query/value-encoding.js.map +1 -0
  126. package/dist/browser/schema/create.d.ts +326 -0
  127. package/dist/browser/schema/create.d.ts.map +1 -0
  128. package/dist/browser/schema/create.js +89 -0
  129. package/dist/browser/schema/create.js.map +1 -0
  130. package/dist/browser/schema/generate-id.js +28 -0
  131. package/dist/browser/schema/generate-id.js.map +1 -0
  132. package/dist/browser/shared/providers.d.ts +6 -0
  133. package/dist/browser/shared/providers.d.ts.map +1 -0
  134. package/dist/browser/sql-driver/connection/connection-provider.d.ts +13 -0
  135. package/dist/browser/sql-driver/connection/connection-provider.d.ts.map +1 -0
  136. package/dist/browser/sql-driver/dialect-adapter/dialect-adapter.d.ts +7 -0
  137. package/dist/browser/sql-driver/dialect-adapter/dialect-adapter.d.ts.map +1 -0
  138. package/dist/browser/sql-driver/driver/runtime-driver.d.ts +23 -0
  139. package/dist/browser/sql-driver/driver/runtime-driver.d.ts.map +1 -0
  140. package/dist/browser/sql-driver/query-executor/plugin.d.ts +17 -0
  141. package/dist/browser/sql-driver/query-executor/plugin.d.ts.map +1 -0
  142. package/dist/browser/sql-driver/query-executor/query-executor.d.ts +36 -0
  143. package/dist/browser/sql-driver/query-executor/query-executor.d.ts.map +1 -0
  144. package/dist/browser/sql-driver/sql-driver-adapter.d.ts +29 -0
  145. package/dist/browser/sql-driver/sql-driver-adapter.d.ts.map +1 -0
  146. package/dist/browser/sql-driver/sql-driver.d.ts +38 -0
  147. package/dist/browser/sql-driver/sql-driver.d.ts.map +1 -0
  148. package/dist/browser/sync/commands.d.ts +15 -0
  149. package/dist/browser/sync/commands.d.ts.map +1 -0
  150. package/dist/browser/sync/commands.js +27 -0
  151. package/dist/browser/sync/commands.js.map +1 -0
  152. package/dist/browser/sync/types.d.ts +63 -0
  153. package/dist/browser/sync/types.d.ts.map +1 -0
  154. package/dist/browser/util/types.d.ts +8 -0
  155. package/dist/browser/util/types.d.ts.map +1 -0
  156. package/dist/browser/with-database.d.ts +29 -0
  157. package/dist/browser/with-database.d.ts.map +1 -0
  158. package/dist/client.d.ts +4 -0
  159. package/dist/client.js +5 -0
  160. package/dist/db-fragment-definition-builder.d.ts +85 -28
  161. package/dist/db-fragment-definition-builder.d.ts.map +1 -1
  162. package/dist/db-fragment-definition-builder.js +374 -46
  163. package/dist/db-fragment-definition-builder.js.map +1 -1
  164. package/dist/dispatchers/cloudflare-do/dispatcher.d.ts +20 -0
  165. package/dist/dispatchers/cloudflare-do/dispatcher.d.ts.map +1 -0
  166. package/dist/dispatchers/cloudflare-do/dispatcher.js +147 -0
  167. package/dist/dispatchers/cloudflare-do/dispatcher.js.map +1 -0
  168. package/dist/dispatchers/cloudflare-do/index.d.ts +5 -20
  169. package/dist/dispatchers/cloudflare-do/index.d.ts.map +1 -1
  170. package/dist/dispatchers/cloudflare-do/index.js +23 -55
  171. package/dist/dispatchers/cloudflare-do/index.js.map +1 -1
  172. package/dist/dispatchers/node/dispatcher.d.ts +14 -0
  173. package/dist/dispatchers/node/dispatcher.d.ts.map +1 -0
  174. package/dist/dispatchers/node/dispatcher.js +80 -0
  175. package/dist/dispatchers/node/dispatcher.js.map +1 -0
  176. package/dist/dispatchers/node/index.d.ts +5 -10
  177. package/dist/dispatchers/node/index.d.ts.map +1 -1
  178. package/dist/dispatchers/node/index.js +21 -53
  179. package/dist/dispatchers/node/index.js.map +1 -1
  180. package/dist/durable-hooks.d.ts +31 -0
  181. package/dist/durable-hooks.d.ts.map +1 -0
  182. package/dist/durable-hooks.js +23 -0
  183. package/dist/durable-hooks.js.map +1 -0
  184. package/dist/fragments/internal-fragment.d.ts +128 -27
  185. package/dist/fragments/internal-fragment.d.ts.map +1 -1
  186. package/dist/fragments/internal-fragment.js +125 -78
  187. package/dist/fragments/internal-fragment.js.map +1 -1
  188. package/dist/fragments/internal-fragment.routes.js +138 -3
  189. package/dist/fragments/internal-fragment.routes.js.map +1 -1
  190. package/dist/fragments/internal-fragment.schema.d.ts +7 -1
  191. package/dist/fragments/internal-fragment.schema.d.ts.map +1 -1
  192. package/dist/fragments/internal-fragment.schema.js +18 -1
  193. package/dist/fragments/internal-fragment.schema.js.map +1 -1
  194. package/dist/hooks/durable-hooks-logger.d.ts +10 -0
  195. package/dist/hooks/durable-hooks-logger.d.ts.map +1 -0
  196. package/dist/hooks/durable-hooks-logger.js +75 -0
  197. package/dist/hooks/durable-hooks-logger.js.map +1 -0
  198. package/dist/hooks/durable-hooks-processor.d.ts +1 -14
  199. package/dist/hooks/durable-hooks-processor.js +58 -10
  200. package/dist/hooks/durable-hooks-processor.js.map +1 -1
  201. package/dist/hooks/durable-hooks-runtime.js +44 -0
  202. package/dist/hooks/durable-hooks-runtime.js.map +1 -0
  203. package/dist/hooks/hooks.d.ts +60 -2
  204. package/dist/hooks/hooks.d.ts.map +1 -1
  205. package/dist/hooks/hooks.js +214 -53
  206. package/dist/hooks/hooks.js.map +1 -1
  207. package/dist/id.d.ts +2 -2
  208. package/dist/id.js +2 -2
  209. package/dist/internal/adapter-registry.d.ts +11 -0
  210. package/dist/internal/adapter-registry.d.ts.map +1 -0
  211. package/dist/internal/adapter-registry.js +135 -0
  212. package/dist/internal/adapter-registry.js.map +1 -0
  213. package/dist/internal/outbox-state.d.ts +2 -0
  214. package/dist/internal/outbox-state.js +26 -0
  215. package/dist/internal/outbox-state.js.map +1 -0
  216. package/dist/migration-engine/auto-from-schema.d.ts +33 -0
  217. package/dist/migration-engine/auto-from-schema.d.ts.map +1 -0
  218. package/dist/migration-engine/auto-from-schema.js +210 -27
  219. package/dist/migration-engine/auto-from-schema.js.map +1 -1
  220. package/dist/migration-engine/generation-engine.d.ts.map +1 -1
  221. package/dist/migration-engine/generation-engine.js +17 -5
  222. package/dist/migration-engine/generation-engine.js.map +1 -1
  223. package/dist/migration-engine/shared.d.ts +113 -0
  224. package/dist/migration-engine/shared.d.ts.map +1 -0
  225. package/dist/migration-engine/shared.js.map +1 -1
  226. package/dist/mod.d.ts +12 -11
  227. package/dist/mod.d.ts.map +1 -1
  228. package/dist/mod.js +10 -10
  229. package/dist/mod.js.map +1 -1
  230. package/dist/naming/sql-naming.d.ts.map +1 -1
  231. package/dist/naming/sql-naming.js.map +1 -1
  232. package/dist/outbox/outbox-builder.js.map +1 -1
  233. package/dist/outbox/outbox.d.ts +3 -1
  234. package/dist/outbox/outbox.d.ts.map +1 -1
  235. package/dist/outbox/outbox.js.map +1 -1
  236. package/dist/query/column-defaults.js.map +1 -1
  237. package/dist/query/condition-builder.d.ts +7 -1
  238. package/dist/query/condition-builder.d.ts.map +1 -1
  239. package/dist/query/condition-builder.js +5 -1
  240. package/dist/query/condition-builder.js.map +1 -1
  241. package/dist/query/cursor-client.d.ts +105 -0
  242. package/dist/query/cursor-client.d.ts.map +1 -0
  243. package/dist/query/cursor-client.js +165 -0
  244. package/dist/query/cursor-client.js.map +1 -0
  245. package/dist/query/cursor.d.ts.map +1 -1
  246. package/dist/query/cursor.js +7 -1
  247. package/dist/query/cursor.js.map +1 -1
  248. package/dist/query/db-now.d.ts +15 -1
  249. package/dist/query/db-now.d.ts.map +1 -1
  250. package/dist/query/db-now.js +30 -2
  251. package/dist/query/db-now.js.map +1 -1
  252. package/dist/query/orm/orm.js.map +1 -1
  253. package/dist/query/serialize/create-sql-serializer.js +2 -2
  254. package/dist/query/serialize/create-sql-serializer.js.map +1 -1
  255. package/dist/query/serialize/dialect/mysql-serializer.js.map +1 -1
  256. package/dist/query/serialize/dialect/postgres-serializer.js.map +1 -1
  257. package/dist/query/serialize/dialect/sqlite-serializer.js +6 -2
  258. package/dist/query/serialize/dialect/sqlite-serializer.js.map +1 -1
  259. package/dist/query/simple-query-interface.d.ts +7 -3
  260. package/dist/query/simple-query-interface.d.ts.map +1 -1
  261. package/dist/query/unit-of-work/execute-unit-of-work.d.ts +37 -2
  262. package/dist/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -1
  263. package/dist/query/unit-of-work/execute-unit-of-work.js +39 -18
  264. package/dist/query/unit-of-work/execute-unit-of-work.js.map +1 -1
  265. package/dist/query/unit-of-work/unit-of-work.d.ts +42 -16
  266. package/dist/query/unit-of-work/unit-of-work.d.ts.map +1 -1
  267. package/dist/query/unit-of-work/unit-of-work.js +50 -6
  268. package/dist/query/unit-of-work/unit-of-work.js.map +1 -1
  269. package/dist/query/value-decoding.js +8 -1
  270. package/dist/query/value-decoding.js.map +1 -1
  271. package/dist/query/value-encoding.js.map +1 -1
  272. package/dist/schema/create.d.ts +69 -25
  273. package/dist/schema/create.d.ts.map +1 -1
  274. package/dist/schema/create.js +91 -16
  275. package/dist/schema/create.js.map +1 -1
  276. package/dist/schema/type-conversion/create-sql-type-mapper.js +1 -1
  277. package/dist/schema/type-conversion/create-sql-type-mapper.js.map +1 -1
  278. package/dist/schema/type-conversion/dialect/sqlite.js.map +1 -1
  279. package/dist/schema/validator.d.ts.map +1 -1
  280. package/dist/schema/validator.js.map +1 -1
  281. package/dist/schema-output/drizzle.d.ts.map +1 -1
  282. package/dist/schema-output/drizzle.js +8 -6
  283. package/dist/schema-output/drizzle.js.map +1 -1
  284. package/dist/schema-output/prisma.d.ts.map +1 -1
  285. package/dist/schema-output/prisma.js +21 -10
  286. package/dist/schema-output/prisma.js.map +1 -1
  287. package/dist/sql-driver/dialects/durable-object-dialect.js +3 -9
  288. package/dist/sql-driver/dialects/durable-object-dialect.js.map +1 -1
  289. package/dist/sql-driver/query-executor/default-query-executor.js.map +1 -1
  290. package/dist/sql-driver/query-executor/query-executor-base.js.map +1 -1
  291. package/dist/sql-driver/sql-driver-adapter.js.map +1 -1
  292. package/dist/sql-driver/sql.js.map +1 -1
  293. package/dist/sync/commands.d.ts +15 -0
  294. package/dist/sync/commands.d.ts.map +1 -0
  295. package/dist/sync/commands.js +27 -0
  296. package/dist/sync/commands.js.map +1 -0
  297. package/dist/sync/index.d.ts +4 -0
  298. package/dist/sync/index.js +4 -0
  299. package/dist/sync/read-tracking.d.ts +25 -0
  300. package/dist/sync/read-tracking.d.ts.map +1 -0
  301. package/dist/sync/read-tracking.js +148 -0
  302. package/dist/sync/read-tracking.js.map +1 -0
  303. package/dist/sync/submit.js +213 -0
  304. package/dist/sync/submit.js.map +1 -0
  305. package/dist/sync/types.d.ts +63 -0
  306. package/dist/sync/types.d.ts.map +1 -0
  307. package/dist/util/default-database-adapter.js +6 -1
  308. package/dist/util/default-database-adapter.js.map +1 -1
  309. package/dist/with-database.d.ts +3 -6
  310. package/dist/with-database.d.ts.map +1 -1
  311. package/dist/with-database.js +7 -15
  312. package/dist/with-database.js.map +1 -1
  313. package/package.json +33 -41
  314. package/src/adapters/adapters.ts +5 -4
  315. package/src/adapters/drizzle/migrate-drizzle.test.ts +46 -9
  316. package/src/adapters/drizzle/migration-parity-drizzle-kit.test.ts +5 -3
  317. package/src/adapters/drizzle/test-utils.ts +2 -1
  318. package/src/adapters/generic-sql/generic-sql-adapter.test.ts +5 -3
  319. package/src/adapters/generic-sql/generic-sql-adapter.ts +21 -24
  320. package/src/adapters/generic-sql/generic-sql-uow-executor.test.ts +1 -0
  321. package/src/adapters/generic-sql/generic-sql-uow-executor.ts +81 -15
  322. package/src/adapters/generic-sql/migration/adapter-migration-parity.test.ts +4 -2
  323. package/src/adapters/generic-sql/migration/cold-kysely.ts +1 -0
  324. package/src/adapters/generic-sql/migration/dialect/mysql.test.ts +3 -2
  325. package/src/adapters/generic-sql/migration/dialect/mysql.ts +1 -0
  326. package/src/adapters/generic-sql/migration/dialect/postgres.test.ts +5 -4
  327. package/src/adapters/generic-sql/migration/dialect/postgres.ts +2 -1
  328. package/src/adapters/generic-sql/migration/dialect/sqlite.test.ts +795 -3
  329. package/src/adapters/generic-sql/migration/dialect/sqlite.ts +385 -57
  330. package/src/adapters/generic-sql/migration/executor.test.ts +52 -0
  331. package/src/adapters/generic-sql/migration/executor.ts +47 -4
  332. package/src/adapters/generic-sql/migration/prepared-migrations.test.ts +117 -14
  333. package/src/adapters/generic-sql/migration/prepared-migrations.ts +9 -8
  334. package/src/adapters/generic-sql/migration/sql-generator.ts +5 -3
  335. package/src/adapters/generic-sql/query/create-sql-query-compiler.ts +3 -3
  336. package/src/adapters/generic-sql/query/cursor-utils.test.ts +3 -2
  337. package/src/adapters/generic-sql/query/cursor-utils.ts +1 -1
  338. package/src/adapters/generic-sql/query/db-now-sql.ts +49 -0
  339. package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.test.ts +144 -8
  340. package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.ts +16 -17
  341. package/src/adapters/generic-sql/query/select-builder.test.ts +1 -0
  342. package/src/adapters/generic-sql/query/select-builder.ts +2 -2
  343. package/src/adapters/generic-sql/query/sql-query-compiler.test.ts +24 -5
  344. package/src/adapters/generic-sql/query/sql-query-compiler.ts +83 -13
  345. package/src/adapters/generic-sql/query/where-builder.test.ts +7 -5
  346. package/src/adapters/generic-sql/query/where-builder.ts +48 -29
  347. package/src/adapters/generic-sql/sql-adapter-pglite-migrations.test.ts +6 -15
  348. package/src/adapters/generic-sql/sql-adapter-pglite-pagination.test.ts +52 -7
  349. package/src/adapters/generic-sql/sql-adapter-pglite-queries.test.ts +9 -6
  350. package/src/adapters/generic-sql/sql-adapter-sqlite3-driver.test.ts +273 -5
  351. package/src/adapters/generic-sql/sql-adapter-sqlite3-uow.test.ts +123 -6
  352. package/src/adapters/generic-sql/sql-adapter-sqlocal.test.ts +4 -2
  353. package/src/adapters/generic-sql/uow-decoder.test.ts +4 -3
  354. package/src/adapters/generic-sql/uow-decoder.ts +3 -3
  355. package/src/adapters/generic-sql/uow-encoder.test.ts +4 -2
  356. package/src/adapters/generic-sql/uow-encoder.ts +14 -18
  357. package/src/adapters/in-memory/condition-evaluator.test.ts +2 -1
  358. package/src/adapters/in-memory/condition-evaluator.ts +9 -4
  359. package/src/adapters/in-memory/in-memory-adapter.ts +155 -44
  360. package/src/adapters/in-memory/in-memory-uow.mutations.test.ts +50 -2
  361. package/src/adapters/in-memory/in-memory-uow.retrieval.test.ts +158 -3
  362. package/src/adapters/in-memory/in-memory-uow.ts +402 -26
  363. package/src/adapters/in-memory/options.test.ts +1 -0
  364. package/src/adapters/in-memory/options.ts +5 -1
  365. package/src/adapters/in-memory/outbox.test.ts +361 -0
  366. package/src/adapters/in-memory/reference-resolution.test.ts +3 -2
  367. package/src/adapters/in-memory/reference-resolution.ts +2 -2
  368. package/src/adapters/in-memory/sorted-array-index.test.ts +1 -0
  369. package/src/adapters/in-memory/store.test.ts +1 -0
  370. package/src/adapters/in-memory/store.ts +3 -3
  371. package/src/adapters/in-memory/value-normalization.test.ts +1 -0
  372. package/src/adapters/prisma/prisma-adapter-sqlite3.test.ts +51 -7
  373. package/src/adapters/shared/from-unit-of-work-compiler.ts +156 -46
  374. package/src/adapters/shared/uow-operation-compiler.ts +3 -3
  375. package/src/browser/mod.ts +64 -0
  376. package/src/client.ts +19 -0
  377. package/src/db-fragment-definition-builder.test.ts +821 -47
  378. package/src/db-fragment-definition-builder.ts +857 -110
  379. package/src/db-fragment-instantiator.test.ts +114 -90
  380. package/src/db-fragment-integration.test.ts +9 -6
  381. package/src/dispatchers/cloudflare-do/dispatcher.ts +204 -0
  382. package/src/dispatchers/cloudflare-do/index.test.ts +145 -12
  383. package/src/dispatchers/cloudflare-do/index.ts +49 -90
  384. package/src/dispatchers/node/dispatcher.ts +112 -0
  385. package/src/dispatchers/node/index.test.ts +43 -14
  386. package/src/dispatchers/node/index.ts +38 -75
  387. package/src/durable-hooks.test.ts +80 -0
  388. package/src/durable-hooks.ts +67 -0
  389. package/src/fragments/internal-fragment.routes.test.ts +570 -0
  390. package/src/fragments/internal-fragment.routes.ts +297 -5
  391. package/src/fragments/internal-fragment.schema.ts +45 -1
  392. package/src/fragments/internal-fragment.test.ts +223 -251
  393. package/src/fragments/internal-fragment.ts +278 -154
  394. package/src/hooks/durable-hooks-logger.ts +126 -0
  395. package/src/hooks/durable-hooks-processor.pglite.test.ts +87 -0
  396. package/src/hooks/durable-hooks-processor.test.ts +179 -14
  397. package/src/hooks/durable-hooks-processor.ts +120 -14
  398. package/src/hooks/durable-hooks-runtime.test.ts +65 -0
  399. package/src/hooks/durable-hooks-runtime.ts +81 -0
  400. package/src/hooks/hooks.test.ts +314 -53
  401. package/src/hooks/hooks.ts +360 -81
  402. package/src/id.test.ts +34 -0
  403. package/src/id.ts +1 -3
  404. package/src/internal/adapter-registry.test.ts +93 -0
  405. package/src/internal/adapter-registry.ts +239 -0
  406. package/src/internal/outbox-state.ts +43 -0
  407. package/src/migration-engine/auto-from-schema.test.ts +93 -0
  408. package/src/migration-engine/auto-from-schema.ts +360 -42
  409. package/src/migration-engine/create.test.ts +2 -1
  410. package/src/migration-engine/create.ts +1 -1
  411. package/src/migration-engine/generation-engine.test.ts +66 -9
  412. package/src/migration-engine/generation-engine.ts +31 -10
  413. package/src/migration-engine/shared.ts +13 -0
  414. package/src/mod.ts +45 -27
  415. package/src/naming/sql-naming.ts +1 -0
  416. package/src/outbox/outbox-builder.ts +2 -2
  417. package/src/outbox/outbox.test.ts +216 -45
  418. package/src/outbox/outbox.ts +3 -1
  419. package/src/query/column-defaults.ts +1 -1
  420. package/src/query/condition-builder.test.ts +15 -0
  421. package/src/query/condition-builder.ts +7 -0
  422. package/src/query/cursor-client.test.ts +70 -0
  423. package/src/query/cursor-client.ts +263 -0
  424. package/src/query/cursor.test.ts +3 -2
  425. package/src/query/cursor.ts +15 -3
  426. package/src/query/db-now.ts +69 -2
  427. package/src/query/orm/orm.ts +2 -2
  428. package/src/query/query-type.test.ts +2 -1
  429. package/src/query/serialize/create-sql-serializer.ts +3 -3
  430. package/src/query/serialize/dialect/mysql-serializer.ts +1 -1
  431. package/src/query/serialize/dialect/postgres-serializer.ts +1 -1
  432. package/src/query/serialize/dialect/sqlite-serializer.test.ts +39 -2
  433. package/src/query/serialize/dialect/sqlite-serializer.ts +18 -5
  434. package/src/query/simple-query-interface.ts +10 -4
  435. package/src/query/unit-of-work/execute-unit-of-work.test.ts +347 -9
  436. package/src/query/unit-of-work/execute-unit-of-work.ts +63 -20
  437. package/src/query/unit-of-work/retry-policy.test.ts +1 -0
  438. package/src/query/unit-of-work/tx-builder.test.ts +73 -1
  439. package/src/query/unit-of-work/unit-of-work-coordinator.test.ts +5 -4
  440. package/src/query/unit-of-work/unit-of-work-types.test.ts +41 -11
  441. package/src/query/unit-of-work/unit-of-work.test.ts +28 -2
  442. package/src/query/unit-of-work/unit-of-work.ts +105 -19
  443. package/src/query/value-decoding.test.ts +50 -2
  444. package/src/query/value-decoding.ts +17 -4
  445. package/src/query/value-encoding.test.ts +1 -0
  446. package/src/query/value-encoding.ts +1 -1
  447. package/src/schema/create.test.ts +164 -5
  448. package/src/schema/create.ts +222 -24
  449. package/src/schema/generate-id.test.ts +1 -0
  450. package/src/schema/serialize.test.ts +4 -3
  451. package/src/schema/type-conversion/create-sql-type-mapper.ts +1 -1
  452. package/src/schema/type-conversion/dialect/sqlite.ts +2 -2
  453. package/src/schema/type-conversion/type-mapping.test.ts +2 -1
  454. package/src/schema/validator.test.ts +4 -2
  455. package/src/schema/validator.ts +1 -0
  456. package/src/schema-output/drizzle.test.ts +72 -19
  457. package/src/schema-output/drizzle.ts +24 -18
  458. package/src/schema-output/prisma.test.ts +172 -14
  459. package/src/schema-output/prisma.ts +34 -14
  460. package/src/sql-driver/better-sqlite3.test.ts +5 -3
  461. package/src/sql-driver/dialects/durable-object-dialect.ts +3 -8
  462. package/src/sql-driver/query-executor/default-query-executor.ts +1 -1
  463. package/src/sql-driver/query-executor/query-executor-base.ts +1 -1
  464. package/src/sql-driver/query-executor/query-executor.ts +1 -1
  465. package/src/sql-driver/sql-driver-adapter.ts +2 -2
  466. package/src/sql-driver/sql.ts +2 -1
  467. package/src/sql-driver/sqlocal.test.ts +4 -2
  468. package/src/sync/commands.test.ts +39 -0
  469. package/src/sync/commands.ts +51 -0
  470. package/src/sync/conflict-checker.test.ts +450 -0
  471. package/src/sync/conflict-checker.ts +248 -0
  472. package/src/sync/index.ts +14 -0
  473. package/src/sync/plan.ts +9 -0
  474. package/src/sync/read-tracking.test.ts +177 -0
  475. package/src/sync/read-tracking.ts +287 -0
  476. package/src/sync/submit.test.ts +205 -0
  477. package/src/sync/submit.ts +328 -0
  478. package/src/sync/types.ts +80 -0
  479. package/src/util/default-database-adapter.ts +15 -2
  480. package/src/with-database.ts +20 -50
  481. package/tsconfig.json +1 -1
  482. package/tsdown.config.ts +38 -26
  483. package/vitest.config.ts +1 -0
  484. package/dist/hooks/durable-hooks-processor.d.ts.map +0 -1
  485. package/dist/node_modules/.pnpm/rou3@0.7.12/node_modules/rou3/dist/index.js +0 -168
  486. package/dist/node_modules/.pnpm/rou3@0.7.12/node_modules/rou3/dist/index.js.map +0 -1
  487. package/dist/packages/fragno/dist/api/bind-services.js +0 -20
  488. package/dist/packages/fragno/dist/api/bind-services.js.map +0 -1
  489. package/dist/packages/fragno/dist/api/error.js +0 -48
  490. package/dist/packages/fragno/dist/api/error.js.map +0 -1
  491. package/dist/packages/fragno/dist/api/fragment-definition-builder.js +0 -321
  492. package/dist/packages/fragno/dist/api/fragment-definition-builder.js.map +0 -1
  493. package/dist/packages/fragno/dist/api/fragment-instantiator.js +0 -669
  494. package/dist/packages/fragno/dist/api/fragment-instantiator.js.map +0 -1
  495. package/dist/packages/fragno/dist/api/fragno-response.js +0 -73
  496. package/dist/packages/fragno/dist/api/fragno-response.js.map +0 -1
  497. package/dist/packages/fragno/dist/api/internal/response-stream.js +0 -81
  498. package/dist/packages/fragno/dist/api/internal/response-stream.js.map +0 -1
  499. package/dist/packages/fragno/dist/api/internal/route.js +0 -10
  500. package/dist/packages/fragno/dist/api/internal/route.js.map +0 -1
  501. package/dist/packages/fragno/dist/api/mutable-request-state.js +0 -97
  502. package/dist/packages/fragno/dist/api/mutable-request-state.js.map +0 -1
  503. package/dist/packages/fragno/dist/api/request-context-storage.js +0 -43
  504. package/dist/packages/fragno/dist/api/request-context-storage.js.map +0 -1
  505. package/dist/packages/fragno/dist/api/request-input-context.js +0 -185
  506. package/dist/packages/fragno/dist/api/request-input-context.js.map +0 -1
  507. package/dist/packages/fragno/dist/api/request-middleware.js +0 -83
  508. package/dist/packages/fragno/dist/api/request-middleware.js.map +0 -1
  509. package/dist/packages/fragno/dist/api/request-output-context.js +0 -119
  510. package/dist/packages/fragno/dist/api/request-output-context.js.map +0 -1
  511. package/dist/packages/fragno/dist/api/route.js +0 -30
  512. package/dist/packages/fragno/dist/api/route.js.map +0 -1
  513. package/dist/packages/fragno/dist/internal/symbols.js +0 -10
  514. package/dist/packages/fragno/dist/internal/symbols.js.map +0 -1
  515. package/dist/packages/fragno/dist/internal/trace-context.js +0 -12
  516. package/dist/packages/fragno/dist/internal/trace-context.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-serializer.js","names":[],"sources":["../../../../src/query/serialize/dialect/sqlite-serializer.ts"],"sourcesContent":["import type { AnyColumn } from \"../../../schema/create\";\nimport { SQLSerializer } from \"../sql-serializer\";\nimport type { DriverConfig } from \"../../../adapters/generic-sql/driver-config\";\nimport type { SQLiteStorageMode } from \"../../../adapters/generic-sql/sqlite-storage\";\nimport { sqliteStorageDefault } from \"../../../adapters/generic-sql/sqlite-storage\";\n\nconst SQLITE_UTC_TIMESTAMP_REGEX =\n /^(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,3}))?$/;\n\nfunction parseSQLiteUtcTimestamp(value: string): Date | null {\n const match = SQLITE_UTC_TIMESTAMP_REGEX.exec(value);\n if (!match) {\n return null;\n }\n\n const [, year, month, day, hour, minute, second, millis] = match;\n const milliseconds = millis ? Number(millis.padEnd(3, \"0\")) : 0;\n return new Date(\n Date.UTC(\n Number(year),\n Number(month) - 1,\n Number(day),\n Number(hour),\n Number(minute),\n Number(second),\n milliseconds,\n ),\n );\n}\n\n/**\n * SQLite-specific serializer.\n *\n * SQLite has limited native type support and requires conversions:\n * - JSON → strings (no native JSON support)\n * - Dates → numbers or ISO strings (storage-mode dependent)\n * - Booleans → 0/1\n * - BigInts → Buffer or integer (storage-mode dependent; internal-id/reference stay integer)\n * - Numbers/strings → Date for timestamps/dates\n */\nexport class SQLiteSerializer extends SQLSerializer {\n private readonly sqliteStorageMode: SQLiteStorageMode;\n\n constructor(driverConfig: DriverConfig, sqliteStorageMode?: SQLiteStorageMode) {\n super(driverConfig);\n this.sqliteStorageMode = sqliteStorageMode ?? sqliteStorageDefault;\n }\n\n protected serializeDate(value: Date, col: AnyColumn): number | string {\n const storage =\n col.type === \"date\"\n ? this.sqliteStorageMode.dateStorage\n : this.sqliteStorageMode.timestampStorage;\n if (storage === \"iso-text\") {\n return value.toISOString();\n }\n return value.getTime();\n }\n\n protected serializeBoolean(value: boolean): number {\n return value ? 1 : 0;\n }\n\n protected serializeBigInt(value: bigint, col: AnyColumn): bigint | number | Buffer {\n // SQLite special case: internal-id and reference columns use integer, not blob\n // These should be converted to numbers for SQLite\n if (col.role === \"reference\" || col.role === \"internal-id\") {\n // Check if the bigint is within the safe integer range to avoid precision loss\n if (Math.abs(Number(value)) > Number.MAX_SAFE_INTEGER) {\n throw new RangeError(\n `Cannot serialize bigint value ${value} for column \"${col.name}\": ` +\n `value exceeds Number.MAX_SAFE_INTEGER (${Number.MAX_SAFE_INTEGER}). ` +\n `SQLite reference and internal-id columns use INTEGER type which requires values ` +\n `to fit within JavaScript's safe integer range.`,\n );\n }\n return Number(value);\n }\n if (this.sqliteStorageMode.bigintStorage === \"integer\") {\n return value;\n }\n const buf = Buffer.alloc(8);\n buf.writeBigInt64BE(value);\n return buf;\n }\n\n protected deserializeDate(value: unknown, col: AnyColumn): Date {\n if (value instanceof Date) {\n return value;\n }\n if (typeof value === \"string\") {\n if (/^\\d+$/.test(value)) {\n const numericDate = new Date(Number(value));\n if (Number.isNaN(numericDate.getTime())) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return numericDate;\n }\n const parsed = parseSQLiteUtcTimestamp(value);\n const date = parsed ?? new Date(value);\n if (Number.isNaN(date.getTime())) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return date;\n }\n if (typeof value === \"number\") {\n if (Number.isNaN(value)) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return new Date(value);\n }\n if (typeof value === \"bigint\") {\n const storage =\n col.type === \"date\"\n ? this.sqliteStorageMode.dateStorage\n : this.sqliteStorageMode.timestampStorage;\n if (storage === \"epoch-ms\") {\n const date = new Date(Number(value));\n if (Number.isNaN(date.getTime())) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return date;\n }\n }\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n\n protected deserializeBoolean(value: unknown): boolean {\n if (typeof value === \"boolean\") {\n return value;\n }\n if (typeof value === \"number\") {\n return value === 1;\n }\n throw new Error(`Cannot deserialize boolean from value: ${value}`);\n }\n\n protected deserializeBigInt(value: unknown): bigint {\n if (typeof value === \"bigint\") {\n return value;\n }\n if (value instanceof Buffer) {\n return value.readBigInt64BE(0);\n }\n if (typeof value === \"string\") {\n return BigInt(value);\n }\n if (typeof value === \"number\") {\n if (this.sqliteStorageMode.bigintStorage === \"integer\") {\n if (Math.abs(value) > Number.MAX_SAFE_INTEGER) {\n throw new RangeError(\n `Cannot deserialize bigint value ${value}: exceeds Number.MAX_SAFE_INTEGER`,\n );\n }\n }\n return BigInt(value);\n }\n throw new Error(`Cannot deserialize bigint from value: ${value}`);\n }\n\n protected serializeJson(value: unknown): string {\n // SQLite doesn't support native JSON, so we stringify\n return JSON.stringify(value);\n }\n\n protected deserializeJson(value: unknown): unknown {\n // SQLite stores JSON as strings, so we need to parse\n if (typeof value !== \"string\") {\n throw new Error(`Expected JSON string but got ${typeof value}`);\n }\n return JSON.parse(value);\n }\n\n protected deserializeBinary(value: unknown): Uint8Array {\n // SQLite can return Buffer or Uint8Array for BLOB columns\n if (value instanceof Buffer) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n if (value instanceof Uint8Array) {\n return value;\n }\n if (value instanceof ArrayBuffer) {\n return new Uint8Array(value);\n }\n throw new Error(`Cannot deserialize binary from value: ${typeof value}`);\n }\n\n protected deserializeInteger(value: unknown): number {\n if (typeof value === \"number\") {\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n throw new Error(`Cannot deserialize integer from invalid number: ${value}`);\n }\n return value;\n }\n // SQLite may return integers as strings for large values\n if (typeof value === \"string\") {\n const num = Number(value);\n if (Number.isNaN(num) || !Number.isFinite(num)) {\n throw new Error(`Cannot deserialize integer from invalid string: ${value}`);\n }\n return num;\n }\n // SQLite may return bigint for large integers\n if (typeof value === \"bigint\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {\n throw new RangeError(\n `Cannot deserialize integer value ${value}: exceeds safe integer range`,\n );\n }\n return Number(value);\n }\n throw new Error(`Cannot deserialize integer from value: ${typeof value}`);\n }\n\n protected deserializeDecimal(value: unknown): number {\n // SQLite stores decimals as REAL (floating point) or TEXT\n if (typeof value === \"number\") {\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n throw new Error(`Cannot deserialize decimal from invalid number: ${value}`);\n }\n return value;\n }\n if (typeof value === \"string\") {\n const num = parseFloat(value);\n if (Number.isNaN(num) || !Number.isFinite(num)) {\n throw new Error(`Cannot deserialize decimal from invalid string: ${value}`);\n }\n return num;\n }\n throw new Error(`Cannot deserialize decimal from value: ${typeof value}`);\n }\n\n protected deserializeString(value: unknown): string {\n if (typeof value === \"string\") {\n return value;\n }\n throw new Error(`Cannot deserialize string from value: ${typeof value}`);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-serializer.js","names":[],"sources":["../../../../src/query/serialize/dialect/sqlite-serializer.ts"],"sourcesContent":["import type { DriverConfig } from \"../../../adapters/generic-sql/driver-config\";\nimport type { SQLiteStorageMode } from \"../../../adapters/generic-sql/sqlite-storage\";\nimport { sqliteStorageDefault } from \"../../../adapters/generic-sql/sqlite-storage\";\nimport type { AnyColumn } from \"../../../schema/create\";\nimport { SQLSerializer } from \"../sql-serializer\";\n\nconst SQLITE_UTC_TIMESTAMP_REGEX =\n /^(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,3}))?$/;\n\nfunction parseSQLiteUtcTimestamp(value: string): Date | null {\n const match = SQLITE_UTC_TIMESTAMP_REGEX.exec(value);\n if (!match) {\n return null;\n }\n\n const [, year, month, day, hour, minute, second, millis] = match;\n const milliseconds = millis ? Number(millis.padEnd(3, \"0\")) : 0;\n return new Date(\n Date.UTC(\n Number(year),\n Number(month) - 1,\n Number(day),\n Number(hour),\n Number(minute),\n Number(second),\n milliseconds,\n ),\n );\n}\n\nfunction readBigInt64BEFromBytes(value: ArrayBuffer | ArrayBufferView): bigint {\n if (value.byteLength !== 8) {\n throw new Error(`Cannot deserialize bigint from ${value.byteLength} bytes; expected 8.`);\n }\n\n const view =\n value instanceof ArrayBuffer\n ? new DataView(value)\n : new DataView(value.buffer, value.byteOffset, value.byteLength);\n\n return view.getBigInt64(0, false);\n}\n\n/**\n * SQLite-specific serializer.\n *\n * SQLite has limited native type support and requires conversions:\n * - JSON → strings (no native JSON support)\n * - Dates → numbers or ISO strings (storage-mode dependent)\n * - Booleans → 0/1\n * - BigInts → Buffer or integer (storage-mode dependent; internal-id/reference stay integer)\n * - Numbers/strings → Date for timestamps/dates\n */\nexport class SQLiteSerializer extends SQLSerializer {\n private readonly sqliteStorageMode: SQLiteStorageMode;\n\n constructor(driverConfig: DriverConfig, sqliteStorageMode?: SQLiteStorageMode) {\n super(driverConfig);\n this.sqliteStorageMode = sqliteStorageMode ?? sqliteStorageDefault;\n }\n\n protected serializeDate(value: Date, col: AnyColumn): number | string {\n const storage =\n col.type === \"date\"\n ? this.sqliteStorageMode.dateStorage\n : this.sqliteStorageMode.timestampStorage;\n if (storage === \"iso-text\") {\n return value.toISOString();\n }\n return value.getTime();\n }\n\n protected serializeBoolean(value: boolean): number {\n return value ? 1 : 0;\n }\n\n protected serializeBigInt(value: bigint, col: AnyColumn): bigint | number | Buffer {\n // SQLite special case: internal-id and reference columns use integer, not blob\n // These should be converted to numbers for SQLite\n if (col.role === \"reference\" || col.role === \"internal-id\") {\n // Check if the bigint is within the safe integer range to avoid precision loss\n if (Math.abs(Number(value)) > Number.MAX_SAFE_INTEGER) {\n throw new RangeError(\n `Cannot serialize bigint value ${value} for column \"${col.name}\": ` +\n `value exceeds Number.MAX_SAFE_INTEGER (${Number.MAX_SAFE_INTEGER}). ` +\n `SQLite reference and internal-id columns use INTEGER type which requires values ` +\n `to fit within JavaScript's safe integer range.`,\n );\n }\n return Number(value);\n }\n if (this.sqliteStorageMode.bigintStorage === \"integer\") {\n return value;\n }\n const buf = Buffer.alloc(8);\n buf.writeBigInt64BE(value);\n return buf;\n }\n\n protected deserializeDate(value: unknown, col: AnyColumn): Date {\n if (value instanceof Date) {\n return value;\n }\n if (typeof value === \"string\") {\n if (/^\\d+(?:\\.\\d+)?$/.test(value)) {\n const numericDate = new Date(Number(value));\n if (Number.isNaN(numericDate.getTime())) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return numericDate;\n }\n const parsed = parseSQLiteUtcTimestamp(value);\n const date = parsed ?? new Date(value);\n if (Number.isNaN(date.getTime())) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return date;\n }\n if (typeof value === \"number\") {\n if (Number.isNaN(value)) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return new Date(value);\n }\n if (typeof value === \"bigint\") {\n const storage =\n col.type === \"date\"\n ? this.sqliteStorageMode.dateStorage\n : this.sqliteStorageMode.timestampStorage;\n if (storage === \"epoch-ms\") {\n const date = new Date(Number(value));\n if (Number.isNaN(date.getTime())) {\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n return date;\n }\n }\n throw new Error(`Cannot deserialize date from value: ${value}`);\n }\n\n protected deserializeBoolean(value: unknown): boolean {\n if (typeof value === \"boolean\") {\n return value;\n }\n if (typeof value === \"number\") {\n return value === 1;\n }\n throw new Error(`Cannot deserialize boolean from value: ${value}`);\n }\n\n protected deserializeBigInt(value: unknown): bigint {\n if (typeof value === \"bigint\") {\n return value;\n }\n if (value instanceof Buffer || value instanceof ArrayBuffer || ArrayBuffer.isView(value)) {\n return readBigInt64BEFromBytes(value);\n }\n if (typeof value === \"string\") {\n return BigInt(value);\n }\n if (typeof value === \"number\") {\n if (this.sqliteStorageMode.bigintStorage === \"integer\") {\n if (Math.abs(value) > Number.MAX_SAFE_INTEGER) {\n throw new RangeError(\n `Cannot deserialize bigint value ${value}: exceeds Number.MAX_SAFE_INTEGER`,\n );\n }\n }\n return BigInt(value);\n }\n throw new Error(`Cannot deserialize bigint from value: ${value}`);\n }\n\n protected serializeJson(value: unknown): string {\n // SQLite doesn't support native JSON, so we stringify\n return JSON.stringify(value);\n }\n\n protected deserializeJson(value: unknown): unknown {\n // SQLite stores JSON as strings, so we need to parse\n if (typeof value !== \"string\") {\n throw new Error(`Expected JSON string but got ${typeof value}`);\n }\n return JSON.parse(value);\n }\n\n protected deserializeBinary(value: unknown): Uint8Array {\n // SQLite can return Buffer or Uint8Array for BLOB columns\n if (value instanceof Buffer) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n if (value instanceof Uint8Array) {\n return value;\n }\n if (value instanceof ArrayBuffer) {\n return new Uint8Array(value);\n }\n throw new Error(`Cannot deserialize binary from value: ${typeof value}`);\n }\n\n protected deserializeInteger(value: unknown): number {\n if (typeof value === \"number\") {\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n throw new Error(`Cannot deserialize integer from invalid number: ${value}`);\n }\n return value;\n }\n // SQLite may return integers as strings for large values\n if (typeof value === \"string\") {\n const num = Number(value);\n if (Number.isNaN(num) || !Number.isFinite(num)) {\n throw new Error(`Cannot deserialize integer from invalid string: ${value}`);\n }\n return num;\n }\n // SQLite may return bigint for large integers\n if (typeof value === \"bigint\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {\n throw new RangeError(\n `Cannot deserialize integer value ${value}: exceeds safe integer range`,\n );\n }\n return Number(value);\n }\n throw new Error(`Cannot deserialize integer from value: ${typeof value}`);\n }\n\n protected deserializeDecimal(value: unknown): number {\n // SQLite stores decimals as REAL (floating point) or TEXT\n if (typeof value === \"number\") {\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n throw new Error(`Cannot deserialize decimal from invalid number: ${value}`);\n }\n return value;\n }\n if (typeof value === \"string\") {\n const num = parseFloat(value);\n if (Number.isNaN(num) || !Number.isFinite(num)) {\n throw new Error(`Cannot deserialize decimal from invalid string: ${value}`);\n }\n return num;\n }\n throw new Error(`Cannot deserialize decimal from value: ${typeof value}`);\n }\n\n protected deserializeString(value: unknown): string {\n if (typeof value === \"string\") {\n return value;\n }\n throw new Error(`Cannot deserialize string from value: ${typeof value}`);\n }\n}\n"],"mappings":"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"}
@@ -2,11 +2,11 @@ import { Prettify } from "../util/types.js";
2
2
  import { AnySchema, AnyTable, FragnoId, IdColumn, Relation } from "../schema/create.js";
3
3
  import { Condition, ConditionBuilder } from "./condition-builder.js";
4
4
  import { CursorResult } from "./cursor.js";
5
- import { DeleteBuilder, FindBuilder, TypedUnitOfWork, UpdateBuilder, UpdateManyBuilder } from "./unit-of-work/unit-of-work.js";
5
+ import { DeleteBuilder, FindBuilder, IUnitOfWork, TypedUnitOfWork, UpdateBuilder, UpdateManyBuilder } from "./unit-of-work/unit-of-work.js";
6
6
 
7
7
  //#region src/query/simple-query-interface.d.ts
8
8
  type AnySelectClause = SelectClause<AnyTable>;
9
- type SelectClause<T extends AnyTable> = true | (keyof T["columns"])[];
9
+ type SelectClause<T extends AnyTable> = true | readonly (keyof T["columns"])[];
10
10
  type RawColumnValues<T extends AnyTable> = { [K in keyof T["columns"] as string extends K ? never : K]: T["columns"][K]["$out"] };
11
11
  type TableToColumnValues<T extends AnyTable> = Prettify<RawColumnValues<T>>;
12
12
  type PickNullable<T> = { [P in keyof T as null extends T[P] ? P : never]: T[P] };
@@ -14,7 +14,7 @@ type PickNotNullable<T> = { [P in keyof T as null extends T[P] ? never : P]: T[P
14
14
  type RawInsertValues<T extends AnyTable> = { [K in keyof T["columns"] as string extends K ? never : K]: T["columns"][K]["$in"] };
15
15
  type TableToInsertValues<T extends AnyTable> = Prettify<Partial<PickNullable<RawInsertValues<T>>> & PickNotNullable<RawInsertValues<T>>>;
16
16
  type TableToUpdateValues<T extends AnyTable> = { [K in keyof T["columns"] as string extends K ? never : K]?: T["columns"][K] extends IdColumn ? never : T["columns"][K]["$in"] };
17
- type MainSelectResult<S extends SelectClause<T>, T extends AnyTable> = S extends true ? TableToColumnValues<T> : S extends (keyof T["columns"])[] ? Prettify<{ [K in S[number] as string extends K ? never : K]: K extends keyof T["columns"] ? T["columns"][K]["$out"] : never }> : never;
17
+ type MainSelectResult<S extends SelectClause<T>, T extends AnyTable> = S extends true ? TableToColumnValues<T> : S extends readonly (keyof T["columns"])[] ? Prettify<{ [K in S[number] as string extends K ? never : K]: K extends keyof T["columns"] ? T["columns"][K]["$out"] : never }> : never;
18
18
  type SelectResult<T extends AnyTable, JoinOut, Select extends SelectClause<T>> = Prettify<MainSelectResult<Select, T> & JoinOut>;
19
19
  interface MapRelationType<Type$1> {
20
20
  one: Type$1 | null;
@@ -99,6 +99,10 @@ interface SimpleQueryInterface<TSchema extends AnySchema, TUOWConfig = void> {
99
99
  * Create a Unit of Work bound to this query engine
100
100
  */
101
101
  createUnitOfWork: (name?: string, config?: TUOWConfig) => TypedUnitOfWork<TSchema, [], unknown>;
102
+ /**
103
+ * Create a base Unit of Work for cross-schema operations.
104
+ */
105
+ createBaseUnitOfWork: (name?: string, config?: TUOWConfig) => IUnitOfWork;
102
106
  }
103
107
  //#endregion
104
108
  export { AnySelectClause, ExtractJoinOut, ExtractSelect, FindFirstOptions, FindManyOptions, JoinBuilder, OrderBy, RawColumnValues, SelectClause, SelectResult, SimpleQueryInterface, TableToColumnValues, TableToInsertValues, TableToUpdateValues };
@@ -1 +1 @@
1
- {"version":3,"file":"simple-query-interface.d.ts","names":[],"sources":["../../src/query/simple-query-interface.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"simple-query-interface.d.ts","names":[],"sources":["../../src/query/simple-query-interface.ts"],"sourcesContent":[],"mappings":"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"}
@@ -35,6 +35,20 @@ type ExtractServiceRetrieveResults<T extends readonly unknown[]> = { [K in keyof
35
35
  * Preserves tuple structure while extracting the final result type from each element.
36
36
  */
37
37
  type ExtractServiceFinalResults<T extends readonly unknown[]> = { [K in keyof T]: ExtractTxFinalResult<T[K]> };
38
+ /**
39
+ * Helper to preserve tuple inference for service calls, especially with spreads.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const historyCalls = Array.from({ length: 3 }, () => svc.listHistory(...));
44
+ * return serviceCalls(
45
+ * svc.getInstanceStatus(...),
46
+ * svc.getInstanceRunNumber(...),
47
+ * ...historyCalls,
48
+ * );
49
+ * ```
50
+ */
51
+ declare function serviceCalls<const T extends readonly (TxResult<any, any> | undefined)[]>(...calls: T): T;
38
52
  /**
39
53
  * Context passed to mutate callback for service methods
40
54
  */
@@ -46,6 +60,17 @@ interface ServiceTxMutateContext<TSchema extends AnySchema, TRetrieveSuccessResu
46
60
  /** Array of retrieve success results from service calls (intermediate results, not final) */
47
61
  serviceIntermediateResult: TServiceRetrieveResults;
48
62
  }
63
+ /**
64
+ * Context passed to handler-level callbacks
65
+ */
66
+ interface HandlerTxContext<THooks extends HooksMap> {
67
+ /** Get a typed Unit of Work for the given schema */
68
+ forSchema: <S extends AnySchema, H extends HooksMap = THooks>(schema: S, hooks?: H) => TypedUnitOfWork<S, [], unknown, H>;
69
+ /** Unique key for this transaction attempt (for idempotency/deduplication) */
70
+ idempotencyKey: string;
71
+ /** Current attempt number (0-based) */
72
+ currentAttempt: number;
73
+ }
49
74
  /**
50
75
  * Context passed to success callback when mutate IS provided
51
76
  */
@@ -168,6 +193,11 @@ interface ExecuteTxOptions {
168
193
  * Abort signal to cancel execution
169
194
  */
170
195
  signal?: AbortSignal;
196
+ /**
197
+ * Callback invoked after retrieval phase completes.
198
+ * Use this to inspect retrieval operations and results (e.g., read tracking).
199
+ */
200
+ onAfterRetrieve?: (uow: IUnitOfWork, results: unknown[]) => void | Promise<void>;
171
201
  /**
172
202
  * Callback invoked before mutations are executed.
173
203
  * Use this to add additional mutation operations (e.g., hook event records).
@@ -178,6 +208,10 @@ interface ExecuteTxOptions {
178
208
  * Use this for post-mutation processing like hook execution.
179
209
  */
180
210
  onAfterMutate?: (uow: IUnitOfWork) => Promise<void>;
211
+ /**
212
+ * Plan mode suppresses hook execution while still running serviceTx logic.
213
+ */
214
+ planMode?: boolean;
181
215
  }
182
216
  /**
183
217
  * Error thrown when a Unit of Work execution fails due to optimistic concurrency conflict.
@@ -341,6 +375,7 @@ declare function createServiceTxBuilder<TSchema extends AnySchema, THooks extend
341
375
  interface HandlerTxBuilderState<TServiceCalls extends readonly (TxResult<any, any> | undefined)[], TRetrieveResults extends unknown[], TRetrieveSuccessResult, TMutateResult, TTransformResult, THooks extends HooksMap> {
342
376
  options: ExecuteTxOptions;
343
377
  hooks?: THooks;
378
+ executeWrapper?: <T>(run: () => Promise<T>) => Promise<T>;
344
379
  withServiceCallsFn?: () => TServiceCalls;
345
380
  retrieveFn?: (context: {
346
381
  forSchema: <S extends AnySchema, H extends HooksMap = THooks>(schema: S, hooks?: H) => TypedUnitOfWork<S, [], unknown, H>;
@@ -414,7 +449,7 @@ declare class HandlerTxBuilder<TServiceCalls extends readonly (TxResult<any, any
414
449
  /**
415
450
  * Create a new HandlerTxBuilder with the given options.
416
451
  */
417
- declare function createHandlerTxBuilder<THooks extends HooksMap = {}>(options: ExecuteTxOptions, hooks?: THooks): HandlerTxBuilder<readonly [], [], [], unknown, unknown, false, false, false, false, THooks>;
452
+ declare function createHandlerTxBuilder<THooks extends HooksMap = {}>(options: ExecuteTxOptions, hooks?: THooks, executeWrapper?: <T>(run: () => Promise<T>) => Promise<T>): HandlerTxBuilder<readonly [], [], [], unknown, unknown, false, false, false, false, THooks>;
418
453
  //#endregion
419
- export { BuilderTransformContextWithMutate, BuilderTransformContextWithoutMutate, ConcurrencyConflictError, ExecuteTxOptions, ExtractServiceFinalResults, ExtractServiceRetrieveResults, HandlerBuilderMutateContext, HandlerTxBuilder, ServiceBuilderMutateContext, ServiceTxBuilder, TxResult, createHandlerTxBuilder, createServiceTxBuilder };
454
+ export { AwaitedPromisesInObject, BuilderTransformContextWithMutate, BuilderTransformContextWithoutMutate, ConcurrencyConflictError, ExecuteTxOptions, ExtractServiceFinalResults, ExtractServiceRetrieveResults, HandlerBuilderMutateContext, HandlerTxBuilder, HandlerTxContext, ServiceBuilderMutateContext, ServiceTxBuilder, TxResult, createHandlerTxBuilder, createServiceTxBuilder, serviceCalls };
420
455
  //# sourceMappingURL=execute-unit-of-work.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-unit-of-work.d.ts","names":[],"sources":["../../../src/query/unit-of-work/execute-unit-of-work.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-unit-of-work.d.ts","names":[],"sources":["../../../src/query/unit-of-work/execute-unit-of-work.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAGmE;AAyBnE,cApBM,eAoBM,EAAA,OAA8B,MAAA;;;;;;AAU1C;;;;;AAIc,KAdF,8BAcE,CAAA,CAAA,CAAA,GAdkC,CAclC,SAAA,SAAA,GAAA,SAAA,GAZV,CAYU,SAZA,QAYA,CAAA,OAAA,EAAA,KAAA,EAAA,CAAA,GAXR,CAWQ,GAAA,KAAA;;;AAMd;;AACiD,KAXrC,oBAWqC,CAAA,CAAA,CAAA,GAXX,CAWW,SAAA,SAAA,GAAA,SAAA,GAT7C,CAS6C,SATnC,QASmC,CAAA,KAAA,EAAA,EAAA,KAAA,EAAA,CAAA,GAR3C,CAQ2C,GAP3C,OAO2C,CAPnC,CAOmC,CAAA;;;;AAOjD;AACc,KATF,6BASE,CAAA,UAAA,SAAA,OAAA,EAAA,CAAA,GAAA,QAAyB,MARzB,CAQyB,GARrB,8BAQqB,CARU,CAQV,CARY,CAQZ,CAAA,CAAA,EAAE;;;AAiBzC;;AACY,KAnBA,0BAmBA,CAAA,UAAA,SAAA,OAAA,EAAA,CAAA,GAAA,QACT,MAnBW,CAmBX,GAnBe,oBAmBf,CAnBoC,CAmBpC,CAnBsC,CAmBtC,CAAA,CAAA,EAAC;AAOJ;;;;;;;;;AAiBA;;;;AAEwD,iBA5BxC,YA4BwC,CAAA,gBAAA,SAAA,CA5BD,QA4BC,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA,GAAA,KAAA,EA3B5C,CA2B4C,CAAA,EA1BrD,CA0BqD;;;;AAGjB,UAtBtB,sBAsBsB,CAAA,gBArBrB,SAqBqB,EAAA,sBAAA,EAAA,gCAAA,SAAA,OAAA,EAAA,EAAA,eAlBtB,QAkBsB,CAAA,CAAA;EAAhC;EAAe,GAAA,EAff,eAee,CAfC,OAeD,EAAA,EAAA,EAAA,OAAA,EAfuB,MAevB,CAAA;EAwBL;EAOC,cAAA,EA5CA,sBA4CA;EAEF;EAEC,yBAAA,EA9CY,uBA8CZ;;;AAQjB;;AAUiB,UA1DA,gBA0DA,CAAA,eA1DgC,QA0DhC,CAAA,CAAA;EAEY;EAAuB,SAAA,EAAA,CAAA,UA1D5B,SA0D4B,EAAA,UA1DP,QA0DO,GA1DI,MA0DJ,CAAA,CAAA,MAAA,EAzDxC,CAyDwC,EAAA,KAAA,CAAA,EAxDxC,CAwDwC,EAAA,GAvD7C,eAuD6C,CAvD7B,CAuD6B,EAAA,EAAA,EAAA,OAAA,EAvDb,CAuDa,CAAA;EAQxC;EAON,cAAA,EAAA,MAAA;EACA;EACA,cAAA,EAAA,MAAA;;;;;AAsCyC,UAtF9B,0BAsF8B,CAAA,sBAAA,EAAA,aAAA,EAAA,6BAAA,SAAA,OAAA,EAAA,EAAA,gCAAA,SAAA,OAAA,EAAA,CAAA,CAAA;EAAtC;EACc,cAAA,EAhFL,sBAgFK;EAAS;EAA2B,YAAA,EA9E3C,aA8E2C;EAApD;EAMa,aAAA,EAlFH,oBAkFG;EAC6B;EAA9B,yBAAA,EAjFU,uBAiFV;;;;;AAUb,UArFW,6BAqFX,CAAA,sBAAA,EAAA,6BAAA,SAAA,OAAA,EAAA,EAAA,gCAAA,SAAA,OAAA,EAAA,CAAA,CAAA;EACA;EAJG,cAAA,EA5ES,sBA4ET;EAMF;EAOD,YAAA,EAAA,SAAA;EACA;EAC2B,aAAA,EAvFhB,oBAuFgB;EAA3B;EAC8B,yBAAA,EAtFP,uBAsFO;;;;;AA6DnC;;AASiC,KApJtB,gBAoJsB,CAAA,sBAAA,EAAA,aAAA,EAAA,6BAAA,SAAA,OAAA,EAAA,EAAA,gCAAA,SAAA,OAAA,EAAA,GAAA,SAAA,OAAA,EAAA,CAAA,GA9I9B,0BA8I8B,CA7I5B,sBA6I4B,EA5I5B,aA4I4B,EA3I5B,oBA2I4B,EA1I5B,uBA0I4B,CAAA,GAxI9B,6BAwI8B,CAvI5B,sBAuI4B,EAtI5B,oBAsI4B,EArI5B,uBAqI4B,CAAA;;;;;;;;;;;AAgBN,UAxIX,kBAwIW,CAAA,gBAvIV,SAuIU,EAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,sBAAA,SAAA,CAnIM,QAmIN,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,cAAA,EAAA,eAhIX,QAgIW,CAAA,CAAA;EAAS;;;EAEpB,YAAA,CAAA,EAAA,GAAA,GA7HM,aA6HN;EAEQ;;;EAMA,QAAA,CAAA,EAAA,CAAA,GAAA,EA/HhB,eA+HgB,CA/HA,OA+HA,EAAA,EAAA,EAAA,OAAA,EA/HsB,MA+HtB,CAAA,EAAA,GA9HlB,eA8HkB,CA9HF,OA8HE,EA9HO,gBA8HP,EAAA,OAAA,EA9HkC,MA8HlC,CAAA;EAET;;;EAIa,eAAA,CAAA,EAAA,CAAA,cAAA,EA9HT,gBA8HS,EAAA,aAAA,EA7HV,6BA6HU,CA7HoB,aA6HpB,CAAA,EAAA,GA5HtB,sBA4HsB;EAcZ;;;EAMb,MAAA,CAAA,EAAA,CAAA,GAAA,EA1IK,sBA0IL,CAzIE,OAyIF,EAxIE,sBAwIF,EAvIE,6BAuIF,CAvIgC,aAuIhC,CAAA,EAtIE,MAsIF,CAAA,EAAA,GApIG,aAoIH;EAEA;;;EAKA,OAAA,CAAA,EAAA,CAAA,GAAA,EArIK,gBAqIL,CApIE,sBAoIF,EAnIE,aAmIF,EAlIE,0BAkIF,CAlI6B,aAkI7B,CAAA,EAjIE,6BAiIF,CAjIgC,aAiIhC,CAAA,CAAA,EAAA,GA/HG,cA+HH;;;;;UA/DM,gBAkqBE,CAAA,gBAjqBM,SAiqBN,EAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,sBAAA,SAAA,CA9pBsB,QA8pBtB,CAAA,OAAA,CAAA,GAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,cAAA,EAAA,eA3pBK,QA2pBL,CAAA,CAAA;EACmB,MAAA,EA1pBrB,OA0pBqB,GAAA,SAAA;EAAR,SAAA,EAzpBV,kBAypBU,CAxpBnB,OAwpBmB,EAvpBnB,gBAupBmB,EAtpBnB,sBAspBmB,EArpBnB,aAqpBmB,EAppBnB,aAopBmB,EAnpBnB,cAmpBmB,EAlpBnB,MAkpBmB,CAAA;EAET;EAAU,QAAA,EAjpBZ,eAipBY,CAjpBI,OAipBJ,EAjpBa,gBAipBb,EAAA,OAAA,EAjpBwC,MAipBxC,CAAA,GAAA,SAAA;EAEM;EAAI,aAAA,EAjpBjB,WAipBiB;EAAE;EAAW,aAAA,EA/oB9B,OA+oB8B,CA/oBtB,gBA+oBsB,CAAA;EAA2B;EAAR,oBAAA,EAAA,CAAA,OAAA,EA7oBhC,gBA6oBgC,EAAA,GAAA,IAAA;EAAa;EAAE,mBAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,IAAA;EAGjE;EAAC,qBAAA,EA5oBQ,sBA4oBR,GAAA,SAAA;EAqDA;EACC,YAAA,EAhsBF,aAgsBE,GAAA,SAAA;EAGD;EAGM,WAAA,EApsBR,cAosBQ,GAAA,SAAA;EAAsB;EAAtC,YAAA,EAlsBS,aAksBT,GAAA,SAAA;;;;AAUP;;;;;;;;;AASO,UAvsBU,QAusBV,CAAA,OAAA,EAAA,yBAvsBqD,OAusBrD,CAAA,CAAA;EAMW;EAEW,UA7sBjB,eAAA,CA6sBiB,EAAA,IAAA;EAAc;EAM1B,SAAA,SAAA,EAhtBK,gBAgtB4B,CA/sB9C,SA+sB8C,EAAA,OAAA,EAAA,EA7sB9C,sBA6sB8C,EAAA,SA3sBrC,QA2sBqC,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,EAAA,OAAA,EAzsB9C,OAysB8C,EAxsB9C,QAwsB8C,CAAA;;;;;AAaK,UA3lBtC,gBAAA,CA2lBsC;EAMtC;;;EAYY,gBAAA,EAAA,GAAA,GAzmBH,WAymBG;EAA0B;AAWvD;;EAWI,WAAA,CAAA,EA1nBY,WA0nBZ;EACA;;;EAEE,MAAA,CAAA,EAxnBK,WAwnBL;EACA;;;;EAI+B,eAAA,CAAA,EAAA,CAAA,GAAA,EAvnBX,WAunBW,EAAA,OAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA,GAvnBgC,OAunBhC,CAAA,IAAA,CAAA;EAA3B;;AAUV;;EAQI,cAAA,CAAA,EAAA,CAAA,GAAA,EAnoBqB,WAmoBrB,EAAA,GAAA,IAAA;EACA;;;;EAGI,aAAA,CAAA,EAAA,CAAA,GAAA,EAjoBgB,WAioBhB,EAAA,GAjoBgC,OAioBhC,CAAA,IAAA,CAAA;EACA;;AAAiB;EAMP,QAAA,CAAA,EAAA,OAAA;;;;;;AAYW,cAlOhB,wBAAA,SAAiC,KAAA,CAkOjB;EAEJ,WAAA,CAAA,OAAA,CAAA,EAAA,MAAA;;;;;;AAClB,KA1NK,uBA0NL,CAAA,CAAA,CAAA,GAxNL,CAwNK,SAxNK,OAwNL,CAAA,KAAA,EAAA,CAAA,GAvND,OAuNC,CAvNO,CAuNP,CAAA,GArND,CAqNC,SAAA,SAAA,CAAA,OAAA,EAAA,GAAA,OAAA,EAAA,CAAA,GAAA,QAEa,MAtNE,CAsNF,GAtNM,uBAsNN,CAtN8B,CAsN9B,CAtNgC,CAsNhC,CAAA,CAAA,EACqC,GAtNjD,CAsNiD,SAAA,CAAA,OAAA,EAAA,GAAA,OAAA,EAAA,CAAA,GAAA,QAA9B,MArNH,CAqNG,GArNC,uBAqND,CArNyB,CAqNzB,CArN2B,CAqN3B,CAAA,CAAA,EACpB,GApNG,CAoNH,SAAA,CAAA,KAAA,EAAA,CAAA,EAAA,GAnNK,OAmNL,CAnNa,CAmNb,CAAA,EAAA,GAlNK,CAkNL,SAAA,SAAA,CAAA,KAAA,EAAA,CAAA,EAAA,GAAA,SAjNgB,OAiNhB,CAjNwB,CAiNxB,CAAA,EAAA,GA/MO,CA+MP,SA/MiB,MA+MjB,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,QAGD,MAhNwB,CAgNxB,GAhN4B,CAgN5B,CAhN8B,CAgN9B,CAAA,SAhNyC,OAgNzC,CAAA,KAAA,EAAA,CAAA,GAhN4D,OAgN5D,CAhNoE,CAgNpE,CAAA,GAhNyE,CAgNzE,CAhN2E,CAgN3E,CAAA,EACA,GA9MU,CA8MV;;;;AAFG,UAvJQ,2BAuJR,CAAA,gBAtJS,SAsJT,EAAA,sBAAA,EAAA,uBAAA,SAAA,OAAA,EAAA,EAAA,eAnJQ,QAmJR,CAAA,CAAA;EAMF;EAIG,GAAA,EA1JH,eA0JG,CA1Ja,OA0Jb,EAAA,EAAA,EAAA,OAAA,EA1JmC,MA0JnC,CAAA;EACA;EAC2B,cAAA,EA1JnB,sBA0JmB;EAA3B;EAC8B,yBAAA,EAzJX,cAyJW;;;;;AAI9B,UAvJO,2BAuJP,CAAA,sBAAA,EAAA,uBAAA,SAAA,OAAA,EAAA,EAAA,eApJO,QAoJP,CAAA,CAAA;EAC8B;EAA9B,SAAA,EAAA,CAAA,UAlJc,SAkJd,EAAA,UAlJmC,QAkJnC,GAlJ8C,MAkJ9C,CAAA,CAAA,MAAA,EAjJE,CAiJF,EAAA,KAAA,CAAA,EAhJE,CAgJF,EAAA,GA/IH,eA+IG,CA/Ia,CA+Ib,EAAA,EAAA,EAAA,OAAA,EA/I6B,CA+I7B,CAAA;EAHF;EAKD,cAAA,EAAA,MAAA;EAAgB;EAoBV,cAAA,EAAA,MAAgB;EACX;EAEgB,cAAA,EAlKhB,sBAkKgB;EASjB;EAcX,yBAAA,EAvLuB,cAuLvB;;;;;AAKA,UAtLW,iCAsLX,CAAA,sBAAA,EAAA,aAAA,EAAA,4BAAA,SAAA,OAAA,EAAA,EAAA,mCAAA,SAAA,OAAA,EAAA,CAAA,CAAA;EACA;EAPK,cAAA,EAzKO,sBAyKP;EAiBmC;EAChC,YAAA,EAzLE,aAyLF;EAEV;EACA,aAAA,EA1La,mBA0Lb;EACA;EACA,yBAAA,EA1LyB,0BA0LzB;;;;;AAKA,UAzLa,oCAyLb,CAAA,sBAAA,EAAA,4BAAA,SAAA,OAAA,EAAA,EAAA,mCAAA,SAAA,OAAA,EAAA,CAAA,CAAA;EACA;EACA,cAAA,EArLc,sBAqLd;EAXC;EAgCsB,YAAA,EAAA,SAAA;EAAsB;EAAtC,aAAA,EAtMM,mBAsMN;EACc;EAAS,yBAAA,EArML,0BAqMK;;;;;;;;;;AAW9B,KArMQ,sBAqMR,CAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,sBAAA,SAAA,CAjM8B,QAiM9B,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,qBAAA,OAAA,EAAA,kBAAA,OAAA,EAAA,6BAAA,OAAA,EAAA,oBAAA,OAAA,CAAA,GA1LA,YA0LA,SAAA,IAAA,GAzLA,gBAyLA,GAxLA,SAwLA,SAAA,IAAA,GAvLE,uBAuLF,CAvL0B,aAuL1B,CAAA,GAtLE,oBAsLF,SAAA,IAAA,GArLI,sBAqLJ,GApLI,WAoLJ,SAAA,IAAA,GAnLM,gBAmLN,GAlLM,0BAkLN,CAlLiC,aAkLjC,CAAA;;;;;;;;;AA6BA,KArMQ,iCAqMR,CAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,6BAAA,OAAA,EAAA,oBAAA,OAAA,EAAA,kBAAA,OAAA,CAAA,GA9LA,oBA8LA,SAAA,IAAA,GA7LA,sBA6LA,GA5LA,WA4LA,SAAA,IAAA,GA3LE,gBA2LF,GA1LE,SA0LF,SAAA,IAAA,GAzLI,uBAyLJ,CAzL4B,aAyL5B,CAAA,GAxLI,gBAwLJ;;;;UAnLM,qBAuLN,CAAA,gBAtLc,SAsLd,EAAA,sBAAA,SAAA,CApL8B,QAoL9B,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,EAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,eA/Ka,QA+Kb,CAAA,CAAA;EAEA,MAAA,EA/KM,OA+KN;EACA,OAAA,EA/KO,WA+KP;EACA,KAAA,CAAA,EA/KM,MA+KN;EAXC,kBAAA,CAAA,EAAA,GAAA,GAnKwB,aAmKxB;EAiCG,UAAA,CAAA,EAAA,CAAA,GAAA,EAlMC,eAkMD,CAlMiB,OAkMjB,EAAA,EAAA,EAAA,OAAA,EAlMuC,MAkMvC,CAAA,EAAA,GAjMD,eAiMC,CAjMe,OAiMf,EAjMwB,gBAiMxB,EAAA,OAAA,EAjMmD,MAiMnD,CAAA;EACA,mBAAA,CAAA,EAAA,CAAA,cAAA,EAhMY,gBAgMZ,EAAA,qBAAA,EA/LmB,6BA+LnB,CA/LiD,aA+LjD,CAAA,EAAA,GA9LD,sBA8LC;EAAoC,QAAA,CAAA,EAAA,CAAA,GAAA,EA5LnC,2BA4LmC,CA3LtC,OA2LsC,EA1LtC,sBA0LsC,EAzLtC,6BAyLsC,CAzLR,aAyLQ,CAAA,EAxLtC,MAwLsC,CAAA,EAAA,GAtLrC,aAsLqC;EAAyB,WAAA,CAAA,EAAA,CAAA,GAAA,EAnL7D,iCAmL6D,CAlL3D,sBAkL2D,EAjL3D,aAiL2D,EAhL3D,0BAgL2D,CAhLhC,aAgLgC,CAAA,EA/K3D,6BA+K2D,CA/K7B,aA+K6B,CAAA,CAAA,GA7K7D,oCA6K6D,CA5K3D,sBA4K2D,EA3K3D,0BA2K2D,CA3KhC,aA2KgC,CAAA,EA1K3D,6BA0K2D,CA1K7B,aA0K6B,CAAA,CAAA,EAAA,GAxK9D,gBAwK8D;;;;;;;;;;;;;;;;;;;AAqC1D,cAzLE,gBAyLF,CAAA,gBAxLO,SAwLP,EAAA,sBAAA,SAAA,CAtLuB,QAsLvB,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,EAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,oBAAA,OAAA,EAAA,6BAAA,OAAA,EAAA,kBAAA,OAAA,EAAA,qBAAA,OAAA,EAAA,eA7KM,QA6KN,CAAA,CAAA;EAEC,CAAA,OAAA;EAAoC,WAAA,CAAA,KAAA,EAlKrC,qBAkKqC,CAjK1C,OAiK0C,EAhK1C,aAgK0C,EA/J1C,gBA+J0C,EA9J1C,sBA8J0C,EA7J1C,aA6J0C,EA5J1C,gBA4J0C,EA3J1C,MA2J0C,CAAA;EAAyB;;;EAE7D,gBAAA,CAAA,iBAAA,SAAA,CAnJkC,QAmJlC,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,GAAA,GAlJE,QAkJF,CAAA,EAjJP,gBAiJO,CAhJR,OAgJQ,EA/IR,QA+IQ,EA9IR,gBA8IQ,EA7IR,sBA6IQ,EA5IR,aA4IQ,EA3IR,gBA2IQ,EA1IR,WA0IQ,EAzIR,oBAyIQ,EAxIR,SAwIQ,EAvIR,YAuIQ,EAtIR,MAsIQ,CAAA;EAC8B;;;EAG9B,QAAA,CAAA,4BAAA,OAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,EArHD,eAqHC,CArHe,OAqHf,EAAA,EAAA,EAAA,OAAA,EArHqC,MAqHrC,CAAA,EAAA,GApHH,eAoHG,CApHa,OAoHb,EApHsB,mBAoHtB,EAAA,OAAA,EApHoD,MAoHpD,CAAA,CAAA,EAnHP,gBAmHO,CAlHR,OAkHQ,EAjHR,aAiHQ,EAhHR,mBAgHQ,EA/GR,mBA+GQ;EAAA;EA9GR,aA8G4C,EA7G5C,gBA6G4C,EAAA,IAAA;EAAA;EAAyB,KAAA;EAAA;EA1GrE,SA2GmC,EA1GnC,YA0GmC,EAzGnC,MAyGmC,CAAA;EAA3B;;;EAFF,iBAAA,CAAA,yBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,cAAA,EAjFY,gBAiFZ,EAAA,aAAA,EAhFW,6BAgFX,CAhFyC,aAgFzC,CAAA,EAAA,GA/ED,yBA+EC,CAAA,EA9EL,gBA8EK,CA7EN,OA6EM,EA5EN,aA4EM,EA3EN,gBA2EM,EA1EN,yBA0EM,EAzEN,aAyEM,EAxEN,gBAwEM,EAvEN,WAuEM,EAAA,IAAA;EAAA;EArEN,SA0EK,EAzEL,YAyEK,EAxEL,MAwEK,CAAA;EAEL;;;EAGA,MAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,EAxDO,2BAwDP,CAvDI,OAuDJ,EAtDI,oBAsDJ,SAAA,IAAA,GAtDwC,sBAsDxC,GAtDiE,gBAsDjE,EArDI,6BAqDJ,CArDkC,aAqDlC,CAAA,EApDI,MAoDJ,CAAA,EAAA,GAlDK,gBAkDL,CAAA,EAjDC,gBAiDD,CAhDA,OAgDA,EA/CA,aA+CA,EA9CA,gBA8CA,EA7CA,oBA6CA,SAAA,IAAA,GA7CoC,sBA6CpC,GA7C6D,gBA6C7D,EA5CA,gBA4CA,EA3CA,gBA2CA,EA1CA,WA0CA,EAzCA,oBAyCA,EAAA,IAAA;EAAA;EAvCA,YAuCoC,EAtCpC,MAsCoC,CAAA;EAAyB;;;EAG7D,SAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,EApBO,SAoBP,SAAA,IAAA,GAnBM,iCAmBN,CAlBQ,oBAkBR,SAAA,IAAA,GAlB4C,sBAkB5C,GAlBqE,gBAkBrE,EAjBQ,aAiBR,EAhBQ,0BAgBR,CAhBmC,aAgBnC,CAAA,EAfQ,6BAeR,CAfsC,aAetC,CAAA,CAAA,GAbM,oCAaN,CAZQ,oBAYR,SAAA,IAAA,GAZ4C,sBAY5C,GAZqE,gBAYrE,EAXQ,0BAWR,CAXmC,aAWnC,CAAA,EAVQ,6BAUR,CAVsC,aAUtC,CAAA,CAAA,EAAA,GARK,mBAQL,CAAA,EAPC,gBAOD,CANA,OAMA,EALA,aAKA,EAJA,gBAIA,EAHA,oBAGA,SAAA,IAAA,GAHoC,sBAGpC,GAH6D,gBAG7D,EAFA,aAEA,EADA,mBACA,EAAA,WAAA,EACA,oBADA,EAEA,SAFA,EAAA,IAAA;EAAA;EAIA,MAHA,CAAA;EACA;;;EAuBE,KAAA,CAAA,CAAA,EAFK,QAEL,CADF,sBACE,CAAA,gBAAA,EACA,sBADA,EAEA,aAFA,EAGA,aAHA,EAIA,gBAJA,EAKA,YALA,EAMA,SANA,EAOA,oBAPA,EAQA,WARA,CAAA,EAUF,iCAVE,CAWA,gBAXA,EAYA,sBAZA,EAaA,aAbA,EAcA,oBAdA,EAeA,WAfA,EAgBA,SAhBA,CAAA,CAAA;;;;;AAKA,iBAoFU,sBApFV,CAAA,gBAoFiD,SApFjD,EAAA,eAoF2E,QApF3E,GAAA,CAAA,CAAA,CAAA,CAAA,MAAA,EAqFI,OArFJ,EAAA,OAAA,EAsFK,WAtFL,EAAA,KAAA,CAAA,EAuFI,MAvFJ,CAAA,EAwFH,gBAxFG,CAyFJ,OAzFI,EAAA,SAAA,EAAA,EAAA,EACA,EAAA,EACA,EAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAiGJ,MAjGI,CAAA;;;;UA6GI,qBAxGJ,CAAA,sBAAA,SAAA,CA0G4B,QA1G5B,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,EAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,eA+GW,QA/GX,CAAA,CAAA;EACA,OAAA,EAgHK,gBAhHL;EACA,KAAA,CAAA,EAgHI,MAhHJ;EACA,cAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,GAAA,GAgH4B,OAhH5B,CAgHoC,CAhHpC,CAAA,EAAA,GAgH2C,OAhH3C,CAgHmD,CAhHnD,CAAA;EACA,kBAAA,CAAA,EAAA,GAAA,GAgHuB,aAhHvB;EANF,UAAA,CAAA,EAAA,CAAA,OAAA,EAAA;IAZO,SAAA,EAAA,CAAA,UAoIe,SApIf,EAAA,UAoIoC,QApIpC,GAoI+C,MApI/C,CAAA,CAAA,MAAA,EAqIG,CArIH,EAAA,KAAA,CAAA,EAsIG,CAtIH,EAAA,GAuIF,eAvIE,CAuIc,CAvId,EAAA,EAAA,EAAA,OAAA,EAuI8B,CAvI9B,CAAA;IAAQ,cAAA,EAAA,MAAA;IA2FH,cAAA,EAAA,MAAsB;EAAiB,CAAA,EAAA,GA+C/C,eA/C+C,CA+C/B,SA/C+B,EA+CpB,gBA/CoB,EAAA,OAAA,EA+CO,QA/CP,CAAA,GAAA,IAAA;EAA0B,mBAAA,CAAA,EAAA,CAAA,cAAA,EAiD7D,gBAjD6D,EAAA,aAAA,EAkD9D,6BAlD8D,CAkDhC,aAlDgC,CAAA,EAAA,GAmD1E,sBAnD0E;EACvE,QAAA,CAAA,EAAA,CAAA,GAAA,EAoDD,2BApDC,CAqDJ,sBArDI,EAsDJ,6BAtDI,CAsD0B,aAtD1B,CAAA,EAuDJ,MAvDI,CAAA,EAAA,GAyDH,aAzDG;EACC,WAAA,CAAA,EAAA,CAAA,GAAA,EA2DH,iCA3DG,CA4DD,sBA5DC,EA6DD,aA7DC,EA8DD,0BA9DC,CA8D0B,aA9D1B,CAAA,EA+DD,6BA/DC,CA+D6B,aA/D7B,CAAA,CAAA,GAiEH,oCAjEG,CAkED,sBAlEC,EAmED,0BAnEC,CAmE0B,aAnE1B,CAAA,EAoED,6BApEC,CAoE6B,aApE7B,CAAA,CAAA,EAAA,GAsEJ,gBAtEI;;;;;;AAoBV;;;;;;;;;;;AAmB8C,cAiDlC,gBAjDkC,CAAA,sBAAA,SAAA,CAmDb,QAnDa,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,EAAA,yBAAA,OAAA,EAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,oBAAA,OAAA,EAAA,6BAAA,OAAA,EAAA,kBAAA,OAAA,EAAA,qBAAA,OAAA,EAAA,eA4D9B,QA5D8B,CAAA,CAAA;EAAW,CAAA,OAAA;EAC5C,WAAA,CAAA,KAAA,EAuEH,qBAvEG,CAwER,aAxEQ,EAyER,gBAzEQ,EA0ER,sBA1EQ,EA2ER,aA3EQ,EA4ER,gBA5EQ,EA6ER,MA7EQ,CAAA;EACA;;;EACL,gBAAA,CAAA,iBAAA,SAAA,CAqFqC,QArFrC,CAAA,GAAA,EAAA,GAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,GAAA,GAsFK,QAtFL,CAAA,EAuFJ,gBAvFI,CAwFL,QAxFK,EAyFL,gBAzFK,EA0FL,sBA1FK,EA2FL,aA3FK,EA4FL,gBA5FK,EA6FL,WA7FK,EA8FL,oBA9FK,EA+FL,SA/FK,EAgGL,YAhGK,EAiGL,MAjGK,CAAA;EAGe;;;;EAEJ,QAAA,CAAA,4BAAA,OAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,OAAA,EAAA;IAC6B,SAAA,EAAA,CAAA,UAgHrB,SAhHqB,EAAA,UAgHA,QAhHA,GAgHW,MAhHX,CAAA,CAAA,MAAA,EAiHjC,CAjHiC,EAAA,KAAA,CAAA,EAkHjC,CAlHiC,EAAA,GAmHtC,eAnHsC,CAmHtB,CAnHsB,EAAA,EAAA,EAAA,OAAA,EAmHN,CAnHM,CAAA;IAA9B,cAAA,EAAA,MAAA;IACZ,cAAA,EAAA,MAAA;EAGD,CAAA,EAAA,GAkHI,eAlHJ,CAkHoB,SAlHpB,EAkH+B,mBAlH/B,EAAA,OAAA,EAkH6D,QAlH7D,CAAA,GAAA,IAAA,CAAA,EAmHD,gBAnHC,CAoHF,aApHE,EAqHF,mBArHE,EAsHF,mBAtHE;EAAA;EAuHF,aAtHgC,EAuHhC,gBAvHgC,EAAA,IAAA;EAAA;EAA9B,KAAA;EAAA;EA0HF,SAzHE,EA0HF,YA1HE,EA2HF,MA3HE,CAAA;EAHG;;;EAUC,iBAAA,CAAA,yBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,cAAA,EAyIY,gBAzIZ,EAAA,aAAA,EA0IW,6BA1IX,CA0IyC,aA1IzC,CAAA,EAAA,GA2ID,yBA3IC,CAAA,EA4IL,gBA5IK,CA6IN,aA7IM,EA8IN,gBA9IM,EA+IN,yBA/IM,EAgJN,aAhJM,EAiJN,gBAjJM,EAkJN,WAlJM,EAAA,IAAA;EAAA;EAoJN,SAnJiC,EAoJjC,YApJiC,EAqJjC,MArJiC,CAAA;EAA3B;;;EAHF,MAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,EA4KG,2BA5KH,CA6KA,oBA7KA,SAAA,IAAA,GA6KoC,sBA7KpC,GA6K6D,gBA7K7D,EA8KA,6BA9KA,CA8K8B,aA9K9B,CAAA,EA+KA,MA/KA,CAAA,EAAA,GAiLC,gBAjLD,CAAA,EAkLH,gBAlLG,CAmLJ,aAnLI,EAoLJ,gBApLI,EAqLJ,oBArLI,SAAA,IAAA,GAqLgC,sBArLhC,GAqLyD,gBArLzD,EAsLJ,gBAtLI,EAuLJ,gBAvLI,EAwLJ,WAxLI,EAyLJ,oBAzLI,EAAA,IAAA;EAAA;EA2LJ,YApLM,EAqLN,MArLM,CAAA;EAC2B;;;EAC3B,SAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,GAAA,EAuMC,SAvMD,SAAA,IAAA,GAwMA,iCAxMA,CAyME,oBAzMF,SAAA,IAAA,GAyMsC,sBAzMtC,GAyM+D,gBAzM/D,EA0ME,aA1MF,EA2ME,0BA3MF,CA2M6B,aA3M7B,CAAA,EA4ME,6BA5MF,CA4MgC,aA5MhC,CAAA,CAAA,GA8MA,oCA9MA,CA+ME,oBA/MF,SAAA,IAAA,GA+MsC,sBA/MtC,GA+M+D,gBA/M/D,EAgNE,0BAhNF,CAgN6B,aAhN7B,CAAA,EAiNE,6BAjNF,CAiNgC,aAjNhC,CAAA,CAAA,EAAA,GAmND,mBAnNC,CAAA,EAoNL,gBApNK,CAqNN,aArNM,EAsNN,gBAtNM,EAuNN,oBAvNM,SAAA,IAAA,GAuN8B,sBAvN9B,GAuNuD,gBAvNvD,EAwNN,aAxNM,EAyNN,mBAzNM,EA0NN,WA1NM,EA2NN,oBA3NM,EA4NN,SA5NM,EAAA,IAAA;EAAA;EA8NN,MAjOI,CAAA;EAKD;;AAkBP;EAEkC,OAAA,CAAA,CAAA,EA0NrB,OA1NqB,CA2N9B,uBA3N8B,CA4N5B,sBA5N4B,CA6N1B,gBA7N0B,EA8N1B,sBA9N0B,EA+N1B,aA/N0B,EAgO1B,aAhO0B,EAiO1B,gBAjO0B,EAkO1B,YAlO0B,EAmO1B,SAnO0B,EAoO1B,oBApO0B,EAqO1B,WArO0B,CAAA,CAAA,CAAA;;;;;AAyB5B,iBA0RU,sBA1RV,CAAA,eA0RgD,QA1RhD,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EA2RK,gBA3RL,EAAA,KAAA,CAAA,EA4RI,MA5RJ,EAAA,cAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,GAAA,GA6R4B,OA7R5B,CA6RoC,CA7RpC,CAAA,EAAA,GA6R2C,OA7R3C,CA6RmD,CA7RnD,CAAA,CAAA,EA8RH,gBA9RG,CAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EA8RiF,MA9RjF,CAAA"}
@@ -6,6 +6,22 @@ import { ExponentialBackoffRetryPolicy, NoRetryPolicy } from "./retry-policy.js"
6
6
  */
7
7
  const TX_RESULT_BRAND = Symbol("TxResult");
8
8
  /**
9
+ * Helper to preserve tuple inference for service calls, especially with spreads.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const historyCalls = Array.from({ length: 3 }, () => svc.listHistory(...));
14
+ * return serviceCalls(
15
+ * svc.getInstanceStatus(...),
16
+ * svc.getInstanceRunNumber(...),
17
+ * ...historyCalls,
18
+ * );
19
+ * ```
20
+ */
21
+ function serviceCalls(...calls) {
22
+ return calls;
23
+ }
24
+ /**
9
25
  * Create a TxResult for service context.
10
26
  * Schedules retrieve operations on the baseUow and returns a TxResult with callbacks stored.
11
27
  * @internal Used by ServiceTxBuilder.build()
@@ -13,9 +29,9 @@ const TX_RESULT_BRAND = Symbol("TxResult");
13
29
  function createServiceTx(schema, callbacks, baseUow) {
14
30
  const { promise: retrievePhase, resolve: resolveRetrievePhase, reject: rejectRetrievePhase } = Promise.withResolvers();
15
31
  const restrictedUow = baseUow.restrict({ readyFor: "none" });
16
- let serviceCalls;
32
+ let serviceCalls$1;
17
33
  try {
18
- if (callbacks.serviceCalls) serviceCalls = callbacks.serviceCalls();
34
+ if (callbacks.serviceCalls) serviceCalls$1 = callbacks.serviceCalls();
19
35
  } catch (error) {
20
36
  restrictedUow.signalReadyForRetrieval();
21
37
  restrictedUow.signalReadyForMutation();
@@ -50,7 +66,7 @@ function createServiceTx(schema, callbacks, baseUow) {
50
66
  retrieveSuccessResult: void 0,
51
67
  mutateResult: void 0,
52
68
  finalResult: void 0,
53
- serviceCalls
69
+ serviceCalls: serviceCalls$1
54
70
  };
55
71
  return {
56
72
  [TX_RESULT_BRAND]: true,
@@ -70,8 +86,8 @@ function collectAllTxResults(txResults) {
70
86
  if (txResult === void 0) return;
71
87
  if (seen.has(txResult)) return;
72
88
  seen.add(txResult);
73
- const serviceCalls = txResult._internal.serviceCalls;
74
- if (serviceCalls) for (const serviceCall of serviceCalls) collect(serviceCall);
89
+ const serviceCalls$1 = txResult._internal.serviceCalls;
90
+ if (serviceCalls$1) for (const serviceCall of serviceCalls$1) collect(serviceCall);
75
91
  collected.push(txResult);
76
92
  }
77
93
  for (const txResult of txResults) collect(txResult);
@@ -168,6 +184,7 @@ async function executeTx(callbacks, options) {
168
184
  let retryPolicy;
169
185
  try {
170
186
  const baseUow = options.createUnitOfWork();
187
+ if (options.onAfterRetrieve) baseUow.enableReadTracking?.();
171
188
  const context = {
172
189
  forSchema: (schema, hooks) => {
173
190
  return baseUow.forSchema(schema, hooks);
@@ -175,10 +192,10 @@ async function executeTx(callbacks, options) {
175
192
  idempotencyKey: baseUow.idempotencyKey,
176
193
  currentAttempt: attempt
177
194
  };
178
- let serviceCalls;
179
- if (callbacks.serviceCalls) serviceCalls = callbacks.serviceCalls();
195
+ let serviceCalls$1;
196
+ if (callbacks.serviceCalls) serviceCalls$1 = callbacks.serviceCalls();
180
197
  const typedUowFromRetrieve = callbacks.retrieve?.(context);
181
- const allServiceCallTxResults = serviceCalls ? collectAllTxResults([...serviceCalls]) : [];
198
+ const allServiceCallTxResults = serviceCalls$1 ? collectAllTxResults([...serviceCalls$1]) : [];
182
199
  if (!(baseUow.getRetrievalOperations().length > 0)) {
183
200
  if (options.retryPolicy) throw new Error("Retry policy is only supported when the transaction includes retrieve operations.");
184
201
  retryPolicy = new NoRetryPolicy();
@@ -187,11 +204,12 @@ async function executeTx(callbacks, options) {
187
204
  initialDelayMs: 10,
188
205
  maxDelayMs: 100
189
206
  });
190
- await baseUow.executeRetrieve();
207
+ const allRetrieveResults = await baseUow.executeRetrieve();
208
+ if (options.onAfterRetrieve) await options.onAfterRetrieve(baseUow, allRetrieveResults);
191
209
  const retrieveResult = typedUowFromRetrieve ? await typedUowFromRetrieve.retrievalPhase : [];
192
210
  for (const txResult of allServiceCallTxResults) await processTxResultAfterRetrieve(txResult, baseUow);
193
211
  const serviceResults = [];
194
- if (serviceCalls) for (const serviceCall of serviceCalls) {
212
+ if (serviceCalls$1) for (const serviceCall of serviceCalls$1) {
195
213
  if (serviceCall === void 0) {
196
214
  serviceResults.push(void 0);
197
215
  continue;
@@ -213,11 +231,11 @@ async function executeTx(callbacks, options) {
213
231
  };
214
232
  mutateResult = callbacks.mutate(mutateCtx);
215
233
  }
216
- if (options.onBeforeMutate) options.onBeforeMutate(baseUow);
234
+ if (!options.planMode && options.onBeforeMutate) options.onBeforeMutate(baseUow);
217
235
  if (!(await baseUow.executeMutations()).success) throw new ConcurrencyConflictError();
218
236
  for (const txResult of allServiceCallTxResults) await processTxResultAfterMutate(txResult);
219
237
  const serviceFinalResults = [];
220
- if (serviceCalls) for (const serviceCall of serviceCalls) {
238
+ if (serviceCalls$1) for (const serviceCall of serviceCalls$1) {
221
239
  if (serviceCall === void 0) {
222
240
  serviceFinalResults.push(void 0);
223
241
  continue;
@@ -236,7 +254,7 @@ async function executeTx(callbacks, options) {
236
254
  } else if (callbacks.mutate) finalResult = await awaitPromisesInObject(mutateResult);
237
255
  else if (callbacks.retrieveSuccess || callbacks.retrieve) finalResult = retrieveSuccessResult;
238
256
  else finalResult = serviceFinalResults;
239
- if (options.onAfterMutate) await options.onAfterMutate(baseUow);
257
+ if (!options.planMode && options.onAfterMutate) await options.onAfterMutate(baseUow);
240
258
  return await awaitPromisesInObject(finalResult);
241
259
  } catch (error) {
242
260
  if (signal?.aborted) throw new Error("Transaction execution aborted");
@@ -457,7 +475,7 @@ var HandlerTxBuilder = class HandlerTxBuilder {
457
475
  */
458
476
  execute() {
459
477
  const state = this.#state;
460
- return executeTx({
478
+ const callbacks = {
461
479
  serviceCalls: state.withServiceCallsFn,
462
480
  retrieve: state.retrieveFn ? (context) => {
463
481
  return state.retrieveFn({
@@ -484,19 +502,22 @@ var HandlerTxBuilder = class HandlerTxBuilder {
484
502
  serviceIntermediateResult: ctx.serviceIntermediateResult
485
503
  });
486
504
  } : void 0
487
- }, state.options);
505
+ };
506
+ const run = () => executeTx(callbacks, state.options);
507
+ return state.executeWrapper ? state.executeWrapper(run) : run();
488
508
  }
489
509
  };
490
510
  /**
491
511
  * Create a new HandlerTxBuilder with the given options.
492
512
  */
493
- function createHandlerTxBuilder(options, hooks) {
513
+ function createHandlerTxBuilder(options, hooks, executeWrapper) {
494
514
  return new HandlerTxBuilder({
495
515
  options,
496
- hooks
516
+ hooks,
517
+ executeWrapper
497
518
  });
498
519
  }
499
520
 
500
521
  //#endregion
501
- export { ConcurrencyConflictError, HandlerTxBuilder, ServiceTxBuilder, createHandlerTxBuilder, createServiceTxBuilder };
522
+ export { ConcurrencyConflictError, HandlerTxBuilder, ServiceTxBuilder, createHandlerTxBuilder, createServiceTxBuilder, serviceCalls };
502
523
  //# sourceMappingURL=execute-unit-of-work.js.map