@fragno-dev/db 0.2.2 → 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 (587) hide show
  1. package/.turbo/turbo-build.log +404 -175
  2. package/CHANGELOG.md +109 -0
  3. package/README.md +54 -9
  4. package/dist/adapters/adapters.d.ts +23 -21
  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/driver-config.d.ts +16 -1
  8. package/dist/adapters/generic-sql/driver-config.d.ts.map +1 -1
  9. package/dist/adapters/generic-sql/driver-config.js +23 -1
  10. package/dist/adapters/generic-sql/driver-config.js.map +1 -1
  11. package/dist/adapters/generic-sql/generic-sql-adapter.d.ts +24 -9
  12. package/dist/adapters/generic-sql/generic-sql-adapter.d.ts.map +1 -1
  13. package/dist/adapters/generic-sql/generic-sql-adapter.js +60 -22
  14. package/dist/adapters/generic-sql/generic-sql-adapter.js.map +1 -1
  15. package/dist/adapters/generic-sql/generic-sql-uow-executor.js +169 -3
  16. package/dist/adapters/generic-sql/generic-sql-uow-executor.js.map +1 -1
  17. package/dist/adapters/generic-sql/migration/cold-kysely.js.map +1 -1
  18. package/dist/adapters/generic-sql/migration/dialect/mysql.js +25 -6
  19. package/dist/adapters/generic-sql/migration/dialect/mysql.js.map +1 -1
  20. package/dist/adapters/generic-sql/migration/dialect/postgres.js +7 -6
  21. package/dist/adapters/generic-sql/migration/dialect/postgres.js.map +1 -1
  22. package/dist/adapters/generic-sql/migration/dialect/sqlite.js +193 -16
  23. package/dist/adapters/generic-sql/migration/dialect/sqlite.js.map +1 -1
  24. package/dist/adapters/generic-sql/migration/executor.d.ts.map +1 -1
  25. package/dist/adapters/generic-sql/migration/executor.js +30 -3
  26. package/dist/adapters/generic-sql/migration/executor.js.map +1 -1
  27. package/dist/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -1
  28. package/dist/adapters/generic-sql/migration/prepared-migrations.js +9 -9
  29. package/dist/adapters/generic-sql/migration/prepared-migrations.js.map +1 -1
  30. package/dist/adapters/generic-sql/migration/sql-generator.js +75 -52
  31. package/dist/adapters/generic-sql/migration/sql-generator.js.map +1 -1
  32. package/dist/adapters/generic-sql/query/create-sql-query-compiler.js +7 -6
  33. package/dist/adapters/generic-sql/query/create-sql-query-compiler.js.map +1 -1
  34. package/dist/adapters/generic-sql/query/cursor-utils.js +42 -4
  35. package/dist/adapters/generic-sql/query/cursor-utils.js.map +1 -1
  36. package/dist/adapters/generic-sql/query/db-now-sql.js +27 -0
  37. package/dist/adapters/generic-sql/query/db-now-sql.js.map +1 -0
  38. package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js +32 -21
  39. package/dist/adapters/generic-sql/query/generic-sql-uow-operation-compiler.js.map +1 -1
  40. package/dist/adapters/generic-sql/query/select-builder.js +5 -3
  41. package/dist/adapters/generic-sql/query/select-builder.js.map +1 -1
  42. package/dist/adapters/generic-sql/query/sql-query-compiler.js +49 -18
  43. package/dist/adapters/generic-sql/query/sql-query-compiler.js.map +1 -1
  44. package/dist/adapters/generic-sql/query/where-builder.js +43 -29
  45. package/dist/adapters/generic-sql/query/where-builder.js.map +1 -1
  46. package/dist/adapters/generic-sql/sqlite-storage.d.ts +13 -0
  47. package/dist/adapters/generic-sql/sqlite-storage.d.ts.map +1 -0
  48. package/dist/adapters/generic-sql/sqlite-storage.js +15 -0
  49. package/dist/adapters/generic-sql/sqlite-storage.js.map +1 -0
  50. package/dist/adapters/generic-sql/uow-decoder.js +6 -2
  51. package/dist/adapters/generic-sql/uow-decoder.js.map +1 -1
  52. package/dist/adapters/generic-sql/uow-encoder.js +27 -8
  53. package/dist/adapters/generic-sql/uow-encoder.js.map +1 -1
  54. package/dist/adapters/in-memory/condition-evaluator.js +135 -0
  55. package/dist/adapters/in-memory/condition-evaluator.js.map +1 -0
  56. package/dist/adapters/in-memory/errors.d.ts +13 -0
  57. package/dist/adapters/in-memory/errors.d.ts.map +1 -0
  58. package/dist/adapters/in-memory/errors.js +23 -0
  59. package/dist/adapters/in-memory/errors.js.map +1 -0
  60. package/dist/adapters/in-memory/in-memory-adapter.d.ts +27 -0
  61. package/dist/adapters/in-memory/in-memory-adapter.d.ts.map +1 -0
  62. package/dist/adapters/in-memory/in-memory-adapter.js +196 -0
  63. package/dist/adapters/in-memory/in-memory-adapter.js.map +1 -0
  64. package/dist/adapters/in-memory/in-memory-uow.js +871 -0
  65. package/dist/adapters/in-memory/in-memory-uow.js.map +1 -0
  66. package/dist/adapters/in-memory/index.d.ts +4 -0
  67. package/dist/adapters/in-memory/index.js +4 -0
  68. package/dist/adapters/in-memory/options.d.ts +30 -0
  69. package/dist/adapters/in-memory/options.d.ts.map +1 -0
  70. package/dist/adapters/in-memory/options.js +62 -0
  71. package/dist/adapters/in-memory/options.js.map +1 -0
  72. package/dist/adapters/in-memory/reference-resolution.js +26 -0
  73. package/dist/adapters/in-memory/reference-resolution.js.map +1 -0
  74. package/dist/adapters/in-memory/sorted-array-index.js +129 -0
  75. package/dist/adapters/in-memory/sorted-array-index.js.map +1 -0
  76. package/dist/adapters/in-memory/store.js +71 -0
  77. package/dist/adapters/in-memory/store.js.map +1 -0
  78. package/dist/adapters/in-memory/value-comparison.js +28 -0
  79. package/dist/adapters/in-memory/value-comparison.js.map +1 -0
  80. package/dist/adapters/shared/from-unit-of-work-compiler.js +51 -24
  81. package/dist/adapters/shared/from-unit-of-work-compiler.js.map +1 -1
  82. package/dist/adapters/shared/uow-operation-compiler.js +11 -11
  83. package/dist/adapters/shared/uow-operation-compiler.js.map +1 -1
  84. package/dist/adapters/sql/index.d.ts +5 -0
  85. package/dist/adapters/sql/index.js +4 -0
  86. package/dist/browser/adapters/adapters.d.ts +61 -0
  87. package/dist/browser/adapters/adapters.d.ts.map +1 -0
  88. package/dist/browser/adapters/generic-sql/migration/executor.d.ts +15 -0
  89. package/dist/browser/adapters/generic-sql/migration/executor.d.ts.map +1 -0
  90. package/dist/browser/adapters/generic-sql/migration/prepared-migrations.d.ts +66 -0
  91. package/dist/browser/adapters/generic-sql/migration/prepared-migrations.d.ts.map +1 -0
  92. package/dist/browser/adapters/generic-sql/sqlite-storage.d.ts +11 -0
  93. package/dist/browser/adapters/generic-sql/sqlite-storage.d.ts.map +1 -0
  94. package/dist/browser/adapters/in-memory/in-memory-adapter.d.ts +5 -0
  95. package/dist/browser/adapters/in-memory/index.d.ts +2 -0
  96. package/dist/browser/adapters/in-memory/options.d.ts +1 -0
  97. package/dist/browser/db-fragment-definition-builder.d.ts +237 -0
  98. package/dist/browser/db-fragment-definition-builder.d.ts.map +1 -0
  99. package/dist/browser/durable-hooks.d.ts +3 -0
  100. package/dist/browser/fragments/internal-fragment.d.ts +317 -0
  101. package/dist/browser/fragments/internal-fragment.d.ts.map +1 -0
  102. package/dist/browser/fragments/internal-fragment.schema.d.ts +1 -0
  103. package/dist/browser/hooks/durable-hooks-logger.d.ts +10 -0
  104. package/dist/browser/hooks/durable-hooks-logger.d.ts.map +1 -0
  105. package/dist/browser/hooks/hooks.d.ts +146 -0
  106. package/dist/browser/hooks/hooks.d.ts.map +1 -0
  107. package/dist/browser/id.js +1 -0
  108. package/dist/browser/internal/adapter-registry.d.ts +4 -0
  109. package/dist/browser/internal/outbox-state.d.ts +2 -0
  110. package/dist/browser/mod.d.ts +15 -0
  111. package/dist/browser/mod.d.ts.map +1 -0
  112. package/dist/browser/mod.js +17 -0
  113. package/dist/browser/mod.js.map +1 -0
  114. package/dist/browser/mod2.d.ts +48 -0
  115. package/dist/browser/mod2.d.ts.map +1 -0
  116. package/dist/browser/naming/sql-naming.d.ts +19 -0
  117. package/dist/browser/naming/sql-naming.d.ts.map +1 -0
  118. package/dist/browser/outbox/outbox.d.ts +21 -0
  119. package/dist/browser/outbox/outbox.d.ts.map +1 -0
  120. package/dist/browser/query/column-defaults.js +1 -0
  121. package/dist/browser/query/condition-builder.d.ts +44 -0
  122. package/dist/browser/query/condition-builder.d.ts.map +1 -0
  123. package/dist/browser/query/condition-builder.js +97 -0
  124. package/dist/browser/query/condition-builder.js.map +1 -0
  125. package/dist/browser/query/cursor.d.ts +105 -0
  126. package/dist/browser/query/cursor.d.ts.map +1 -0
  127. package/dist/browser/query/cursor.js +150 -0
  128. package/dist/browser/query/cursor.js.map +1 -0
  129. package/dist/browser/query/db-now.d.ts +22 -0
  130. package/dist/browser/query/db-now.d.ts.map +1 -0
  131. package/dist/browser/query/db-now.js +33 -0
  132. package/dist/browser/query/db-now.js.map +1 -0
  133. package/dist/browser/query/orm/orm.d.ts +18 -0
  134. package/dist/browser/query/orm/orm.d.ts.map +1 -0
  135. package/dist/browser/query/simple-query-interface.d.ts +108 -0
  136. package/dist/browser/query/simple-query-interface.d.ts.map +1 -0
  137. package/dist/browser/query/unit-of-work/execute-unit-of-work.d.ts +423 -0
  138. package/dist/browser/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -0
  139. package/dist/browser/query/unit-of-work/execute-unit-of-work.js +507 -0
  140. package/dist/browser/query/unit-of-work/execute-unit-of-work.js.map +1 -0
  141. package/dist/browser/query/unit-of-work/retry-policy.d.ts +23 -0
  142. package/dist/browser/query/unit-of-work/retry-policy.d.ts.map +1 -0
  143. package/dist/browser/query/unit-of-work/retry-policy.js +40 -0
  144. package/dist/browser/query/unit-of-work/retry-policy.js.map +1 -0
  145. package/dist/browser/query/unit-of-work/unit-of-work.d.ts +703 -0
  146. package/dist/browser/query/unit-of-work/unit-of-work.d.ts.map +1 -0
  147. package/dist/browser/query/unit-of-work/unit-of-work.js +1206 -0
  148. package/dist/browser/query/unit-of-work/unit-of-work.js.map +1 -0
  149. package/dist/browser/query/value-encoding.js +38 -0
  150. package/dist/browser/query/value-encoding.js.map +1 -0
  151. package/dist/browser/schema/create.d.ts +326 -0
  152. package/dist/browser/schema/create.d.ts.map +1 -0
  153. package/dist/browser/schema/create.js +89 -0
  154. package/dist/browser/schema/create.js.map +1 -0
  155. package/dist/browser/schema/generate-id.js +28 -0
  156. package/dist/browser/schema/generate-id.js.map +1 -0
  157. package/dist/browser/shared/providers.d.ts +6 -0
  158. package/dist/browser/shared/providers.d.ts.map +1 -0
  159. package/dist/browser/sql-driver/connection/connection-provider.d.ts +13 -0
  160. package/dist/browser/sql-driver/connection/connection-provider.d.ts.map +1 -0
  161. package/dist/browser/sql-driver/dialect-adapter/dialect-adapter.d.ts +7 -0
  162. package/dist/browser/sql-driver/dialect-adapter/dialect-adapter.d.ts.map +1 -0
  163. package/dist/browser/sql-driver/driver/runtime-driver.d.ts +23 -0
  164. package/dist/browser/sql-driver/driver/runtime-driver.d.ts.map +1 -0
  165. package/dist/browser/sql-driver/query-executor/plugin.d.ts +17 -0
  166. package/dist/browser/sql-driver/query-executor/plugin.d.ts.map +1 -0
  167. package/dist/browser/sql-driver/query-executor/query-executor.d.ts +36 -0
  168. package/dist/browser/sql-driver/query-executor/query-executor.d.ts.map +1 -0
  169. package/dist/browser/sql-driver/sql-driver-adapter.d.ts +29 -0
  170. package/dist/browser/sql-driver/sql-driver-adapter.d.ts.map +1 -0
  171. package/dist/browser/sql-driver/sql-driver.d.ts +38 -0
  172. package/dist/browser/sql-driver/sql-driver.d.ts.map +1 -0
  173. package/dist/browser/sync/commands.d.ts +15 -0
  174. package/dist/browser/sync/commands.d.ts.map +1 -0
  175. package/dist/browser/sync/commands.js +27 -0
  176. package/dist/browser/sync/commands.js.map +1 -0
  177. package/dist/browser/sync/types.d.ts +63 -0
  178. package/dist/browser/sync/types.d.ts.map +1 -0
  179. package/dist/browser/util/types.d.ts +8 -0
  180. package/dist/browser/util/types.d.ts.map +1 -0
  181. package/dist/browser/with-database.d.ts +29 -0
  182. package/dist/browser/with-database.d.ts.map +1 -0
  183. package/dist/client.d.ts +4 -0
  184. package/dist/client.js +5 -0
  185. package/dist/db-fragment-definition-builder.d.ts +101 -33
  186. package/dist/db-fragment-definition-builder.d.ts.map +1 -1
  187. package/dist/db-fragment-definition-builder.js +450 -60
  188. package/dist/db-fragment-definition-builder.js.map +1 -1
  189. package/dist/dispatchers/cloudflare-do/dispatcher.d.ts +20 -0
  190. package/dist/dispatchers/cloudflare-do/dispatcher.d.ts.map +1 -0
  191. package/dist/dispatchers/cloudflare-do/dispatcher.js +147 -0
  192. package/dist/dispatchers/cloudflare-do/dispatcher.js.map +1 -0
  193. package/dist/dispatchers/cloudflare-do/index.d.ts +11 -0
  194. package/dist/dispatchers/cloudflare-do/index.d.ts.map +1 -0
  195. package/dist/dispatchers/cloudflare-do/index.js +31 -0
  196. package/dist/dispatchers/cloudflare-do/index.js.map +1 -0
  197. package/dist/dispatchers/node/dispatcher.d.ts +14 -0
  198. package/dist/dispatchers/node/dispatcher.d.ts.map +1 -0
  199. package/dist/dispatchers/node/dispatcher.js +80 -0
  200. package/dist/dispatchers/node/dispatcher.js.map +1 -0
  201. package/dist/dispatchers/node/index.d.ts +12 -0
  202. package/dist/dispatchers/node/index.d.ts.map +1 -0
  203. package/dist/dispatchers/node/index.js +27 -0
  204. package/dist/dispatchers/node/index.js.map +1 -0
  205. package/dist/durable-hooks.d.ts +31 -0
  206. package/dist/durable-hooks.d.ts.map +1 -0
  207. package/dist/durable-hooks.js +23 -0
  208. package/dist/durable-hooks.js.map +1 -0
  209. package/dist/fragments/internal-fragment.d.ts +186 -8
  210. package/dist/fragments/internal-fragment.d.ts.map +1 -1
  211. package/dist/fragments/internal-fragment.js +203 -38
  212. package/dist/fragments/internal-fragment.js.map +1 -1
  213. package/dist/fragments/internal-fragment.routes.js +164 -0
  214. package/dist/fragments/internal-fragment.routes.js.map +1 -0
  215. package/dist/fragments/internal-fragment.schema.d.ts +15 -0
  216. package/dist/fragments/internal-fragment.schema.d.ts.map +1 -0
  217. package/dist/fragments/internal-fragment.schema.js +39 -0
  218. package/dist/fragments/internal-fragment.schema.js.map +1 -0
  219. package/dist/hooks/durable-hooks-logger.d.ts +10 -0
  220. package/dist/hooks/durable-hooks-logger.d.ts.map +1 -0
  221. package/dist/hooks/durable-hooks-logger.js +75 -0
  222. package/dist/hooks/durable-hooks-logger.js.map +1 -0
  223. package/dist/hooks/durable-hooks-processor.d.ts +1 -0
  224. package/dist/hooks/durable-hooks-processor.js +80 -0
  225. package/dist/hooks/durable-hooks-processor.js.map +1 -0
  226. package/dist/hooks/durable-hooks-runtime.js +44 -0
  227. package/dist/hooks/durable-hooks-runtime.js.map +1 -0
  228. package/dist/hooks/hooks.d.ts +100 -1
  229. package/dist/hooks/hooks.d.ts.map +1 -1
  230. package/dist/hooks/hooks.js +254 -27
  231. package/dist/hooks/hooks.js.map +1 -1
  232. package/dist/id.d.ts +2 -2
  233. package/dist/id.js +2 -2
  234. package/dist/internal/adapter-registry.d.ts +11 -0
  235. package/dist/internal/adapter-registry.d.ts.map +1 -0
  236. package/dist/internal/adapter-registry.js +135 -0
  237. package/dist/internal/adapter-registry.js.map +1 -0
  238. package/dist/internal/outbox-state.d.ts +2 -0
  239. package/dist/internal/outbox-state.js +26 -0
  240. package/dist/internal/outbox-state.js.map +1 -0
  241. package/dist/migration-engine/auto-from-schema.d.ts +33 -0
  242. package/dist/migration-engine/auto-from-schema.d.ts.map +1 -0
  243. package/dist/migration-engine/auto-from-schema.js +223 -37
  244. package/dist/migration-engine/auto-from-schema.js.map +1 -1
  245. package/dist/migration-engine/generation-engine.d.ts +16 -10
  246. package/dist/migration-engine/generation-engine.d.ts.map +1 -1
  247. package/dist/migration-engine/generation-engine.js +86 -35
  248. package/dist/migration-engine/generation-engine.js.map +1 -1
  249. package/dist/migration-engine/shared.d.ts +113 -0
  250. package/dist/migration-engine/shared.d.ts.map +1 -0
  251. package/dist/migration-engine/shared.js.map +1 -1
  252. package/dist/mod.d.ts +20 -12
  253. package/dist/mod.d.ts.map +1 -1
  254. package/dist/mod.js +18 -12
  255. package/dist/mod.js.map +1 -1
  256. package/dist/naming/sql-naming.d.ts +19 -0
  257. package/dist/naming/sql-naming.d.ts.map +1 -0
  258. package/dist/naming/sql-naming.js +116 -0
  259. package/dist/naming/sql-naming.js.map +1 -0
  260. package/dist/outbox/outbox-builder.js +156 -0
  261. package/dist/outbox/outbox-builder.js.map +1 -0
  262. package/dist/outbox/outbox.d.ts +54 -0
  263. package/dist/outbox/outbox.d.ts.map +1 -0
  264. package/dist/outbox/outbox.js +37 -0
  265. package/dist/outbox/outbox.js.map +1 -0
  266. package/dist/query/column-defaults.js +20 -4
  267. package/dist/query/column-defaults.js.map +1 -1
  268. package/dist/query/condition-builder.d.ts +7 -1
  269. package/dist/query/condition-builder.d.ts.map +1 -1
  270. package/dist/query/condition-builder.js +5 -1
  271. package/dist/query/condition-builder.js.map +1 -1
  272. package/dist/query/cursor-client.d.ts +105 -0
  273. package/dist/query/cursor-client.d.ts.map +1 -0
  274. package/dist/query/cursor-client.js +165 -0
  275. package/dist/query/cursor-client.js.map +1 -0
  276. package/dist/query/cursor.d.ts +3 -1
  277. package/dist/query/cursor.d.ts.map +1 -1
  278. package/dist/query/cursor.js +51 -14
  279. package/dist/query/cursor.js.map +1 -1
  280. package/dist/query/db-now.d.ts +22 -0
  281. package/dist/query/db-now.d.ts.map +1 -0
  282. package/dist/query/db-now.js +35 -0
  283. package/dist/query/db-now.js.map +1 -0
  284. package/dist/query/orm/orm.js.map +1 -1
  285. package/dist/query/serialize/create-sql-serializer.js +5 -4
  286. package/dist/query/serialize/create-sql-serializer.js.map +1 -1
  287. package/dist/query/serialize/dialect/mysql-serializer.js +12 -6
  288. package/dist/query/serialize/dialect/mysql-serializer.js.map +1 -1
  289. package/dist/query/serialize/dialect/postgres-serializer.js +25 -7
  290. package/dist/query/serialize/dialect/postgres-serializer.js.map +1 -1
  291. package/dist/query/serialize/dialect/sqlite-serializer.js +60 -12
  292. package/dist/query/serialize/dialect/sqlite-serializer.js.map +1 -1
  293. package/dist/query/serialize/sql-serializer.js +2 -2
  294. package/dist/query/serialize/sql-serializer.js.map +1 -1
  295. package/dist/query/simple-query-interface.d.ts +13 -4
  296. package/dist/query/simple-query-interface.d.ts.map +1 -1
  297. package/dist/query/unit-of-work/execute-unit-of-work.d.ts +37 -2
  298. package/dist/query/unit-of-work/execute-unit-of-work.d.ts.map +1 -1
  299. package/dist/query/unit-of-work/execute-unit-of-work.js +50 -24
  300. package/dist/query/unit-of-work/execute-unit-of-work.js.map +1 -1
  301. package/dist/query/unit-of-work/unit-of-work.d.ts +92 -30
  302. package/dist/query/unit-of-work/unit-of-work.d.ts.map +1 -1
  303. package/dist/query/unit-of-work/unit-of-work.js +136 -11
  304. package/dist/query/unit-of-work/unit-of-work.js.map +1 -1
  305. package/dist/query/value-decoding.js +16 -6
  306. package/dist/query/value-decoding.js.map +1 -1
  307. package/dist/query/value-encoding.js +29 -9
  308. package/dist/query/value-encoding.js.map +1 -1
  309. package/dist/schema/create.d.ts +103 -35
  310. package/dist/schema/create.d.ts.map +1 -1
  311. package/dist/schema/create.js +172 -58
  312. package/dist/schema/create.js.map +1 -1
  313. package/dist/schema/generate-id.js +2 -2
  314. package/dist/schema/generate-id.js.map +1 -1
  315. package/dist/schema/type-conversion/create-sql-type-mapper.js +4 -3
  316. package/dist/schema/type-conversion/create-sql-type-mapper.js.map +1 -1
  317. package/dist/schema/type-conversion/dialect/sqlite.js +9 -0
  318. package/dist/schema/type-conversion/dialect/sqlite.js.map +1 -1
  319. package/dist/schema/validator.d.ts +10 -0
  320. package/dist/schema/validator.d.ts.map +1 -0
  321. package/dist/schema/validator.js +123 -0
  322. package/dist/schema/validator.js.map +1 -0
  323. package/dist/schema-output/drizzle.d.ts +30 -0
  324. package/dist/schema-output/drizzle.d.ts.map +1 -0
  325. package/dist/{adapters/drizzle/generate.js → schema-output/drizzle.js} +88 -60
  326. package/dist/schema-output/drizzle.js.map +1 -0
  327. package/dist/schema-output/prisma.d.ts +17 -0
  328. package/dist/schema-output/prisma.d.ts.map +1 -0
  329. package/dist/schema-output/prisma.js +307 -0
  330. package/dist/schema-output/prisma.js.map +1 -0
  331. package/dist/sql-driver/dialects/durable-object-dialect.js +3 -9
  332. package/dist/sql-driver/dialects/durable-object-dialect.js.map +1 -1
  333. package/dist/sql-driver/query-executor/default-query-executor.js.map +1 -1
  334. package/dist/sql-driver/query-executor/query-executor-base.js.map +1 -1
  335. package/dist/sql-driver/sql-driver-adapter.js.map +1 -1
  336. package/dist/sql-driver/sql.js.map +1 -1
  337. package/dist/sync/commands.d.ts +15 -0
  338. package/dist/sync/commands.d.ts.map +1 -0
  339. package/dist/sync/commands.js +27 -0
  340. package/dist/sync/commands.js.map +1 -0
  341. package/dist/sync/index.d.ts +4 -0
  342. package/dist/sync/index.js +4 -0
  343. package/dist/sync/read-tracking.d.ts +25 -0
  344. package/dist/sync/read-tracking.d.ts.map +1 -0
  345. package/dist/sync/read-tracking.js +148 -0
  346. package/dist/sync/read-tracking.js.map +1 -0
  347. package/dist/sync/submit.js +213 -0
  348. package/dist/sync/submit.js.map +1 -0
  349. package/dist/sync/types.d.ts +63 -0
  350. package/dist/sync/types.d.ts.map +1 -0
  351. package/dist/util/default-database-adapter.js +66 -0
  352. package/dist/util/default-database-adapter.js.map +1 -0
  353. package/dist/with-database.d.ts +3 -6
  354. package/dist/with-database.d.ts.map +1 -1
  355. package/dist/with-database.js +8 -7
  356. package/dist/with-database.js.map +1 -1
  357. package/package.json +62 -55
  358. package/src/adapters/adapters.ts +33 -26
  359. package/src/adapters/drizzle/migrate-drizzle.test.ts +99 -41
  360. package/src/adapters/drizzle/migration-parity-drizzle-kit.test.ts +601 -0
  361. package/src/adapters/drizzle/test-utils.ts +13 -8
  362. package/src/adapters/generic-sql/driver-config.ts +38 -0
  363. package/src/adapters/generic-sql/generic-sql-adapter.test.ts +10 -8
  364. package/src/adapters/generic-sql/generic-sql-adapter.ts +117 -34
  365. package/src/adapters/generic-sql/generic-sql-uow-executor.test.ts +55 -0
  366. package/src/adapters/generic-sql/generic-sql-uow-executor.ts +297 -3
  367. package/src/adapters/generic-sql/migration/adapter-migration-parity.test.ts +120 -0
  368. package/src/adapters/generic-sql/migration/cold-kysely.ts +1 -0
  369. package/src/adapters/generic-sql/migration/dialect/mysql.test.ts +27 -8
  370. package/src/adapters/generic-sql/migration/dialect/mysql.ts +47 -8
  371. package/src/adapters/generic-sql/migration/dialect/postgres.test.ts +28 -9
  372. package/src/adapters/generic-sql/migration/dialect/postgres.ts +9 -4
  373. package/src/adapters/generic-sql/migration/dialect/sqlite.test.ts +839 -8
  374. package/src/adapters/generic-sql/migration/dialect/sqlite.ts +396 -53
  375. package/src/adapters/generic-sql/migration/executor.test.ts +52 -0
  376. package/src/adapters/generic-sql/migration/executor.ts +47 -4
  377. package/src/adapters/generic-sql/migration/prepared-migrations.test.ts +238 -46
  378. package/src/adapters/generic-sql/migration/prepared-migrations.ts +21 -13
  379. package/src/adapters/generic-sql/migration/sql-generator.ts +145 -66
  380. package/src/adapters/generic-sql/query/create-sql-query-compiler.ts +11 -8
  381. package/src/adapters/generic-sql/query/cursor-utils.test.ts +272 -0
  382. package/src/adapters/generic-sql/query/cursor-utils.ts +42 -7
  383. package/src/adapters/generic-sql/query/db-now-sql.ts +49 -0
  384. package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.test.ts +171 -35
  385. package/src/adapters/generic-sql/query/generic-sql-uow-operation-compiler.ts +53 -40
  386. package/src/adapters/generic-sql/query/select-builder.test.ts +16 -11
  387. package/src/adapters/generic-sql/query/select-builder.ts +7 -3
  388. package/src/adapters/generic-sql/query/sql-query-compiler.test.ts +75 -6
  389. package/src/adapters/generic-sql/query/sql-query-compiler.ts +129 -24
  390. package/src/adapters/generic-sql/query/where-builder.test.ts +96 -20
  391. package/src/adapters/generic-sql/query/where-builder.ts +112 -41
  392. package/src/adapters/{kysely/kysely-adapter-pglite.test.ts → generic-sql/sql-adapter-pglite-migrations.test.ts} +11 -20
  393. package/src/adapters/generic-sql/sql-adapter-pglite-pagination.test.ts +851 -0
  394. package/src/adapters/{drizzle/drizzle-adapter-pglite.test.ts → generic-sql/sql-adapter-pglite-queries.test.ts} +18 -15
  395. package/src/adapters/generic-sql/{test/generic-drizzle-adapter-sqlite3.test.ts → sql-adapter-sqlite3-driver.test.ts} +282 -14
  396. package/src/adapters/{drizzle/drizzle-adapter-sqlite3.test.ts → generic-sql/sql-adapter-sqlite3-uow.test.ts} +129 -12
  397. package/src/adapters/{kysely/kysely-adapter-sqlocal.test.ts → generic-sql/sql-adapter-sqlocal.test.ts} +9 -7
  398. package/src/adapters/generic-sql/sqlite-storage.ts +20 -0
  399. package/src/adapters/generic-sql/uow-decoder.test.ts +5 -4
  400. package/src/adapters/generic-sql/uow-decoder.ts +23 -5
  401. package/src/adapters/generic-sql/uow-encoder.test.ts +36 -3
  402. package/src/adapters/generic-sql/uow-encoder.ts +48 -13
  403. package/src/adapters/in-memory/condition-evaluator.test.ts +194 -0
  404. package/src/adapters/in-memory/condition-evaluator.ts +280 -0
  405. package/src/adapters/in-memory/errors.ts +20 -0
  406. package/src/adapters/in-memory/in-memory-adapter.ts +388 -0
  407. package/src/adapters/in-memory/in-memory-uow.mutations.test.ts +344 -0
  408. package/src/adapters/in-memory/in-memory-uow.retrieval.test.ts +255 -0
  409. package/src/adapters/in-memory/in-memory-uow.ts +1724 -0
  410. package/src/adapters/in-memory/index.ts +3 -0
  411. package/src/adapters/in-memory/options.test.ts +42 -0
  412. package/src/adapters/in-memory/options.ts +91 -0
  413. package/src/adapters/in-memory/outbox.test.ts +361 -0
  414. package/src/adapters/in-memory/reference-resolution.test.ts +51 -0
  415. package/src/adapters/in-memory/reference-resolution.ts +67 -0
  416. package/src/adapters/in-memory/sorted-array-index.test.ts +124 -0
  417. package/src/adapters/in-memory/sorted-array-index.ts +228 -0
  418. package/src/adapters/in-memory/store.test.ts +69 -0
  419. package/src/adapters/in-memory/store.ts +145 -0
  420. package/src/adapters/in-memory/value-comparison.ts +53 -0
  421. package/src/adapters/in-memory/value-normalization.test.ts +58 -0
  422. package/src/adapters/prisma/prisma-adapter-sqlite3.test.ts +1207 -0
  423. package/src/adapters/shared/from-unit-of-work-compiler.ts +159 -47
  424. package/src/adapters/shared/uow-operation-compiler.ts +28 -18
  425. package/src/adapters/sql/index.ts +12 -0
  426. package/src/browser/mod.ts +64 -0
  427. package/src/client.ts +19 -0
  428. package/src/db-fragment-definition-builder.test.ts +845 -53
  429. package/src/db-fragment-definition-builder.ts +911 -95
  430. package/src/db-fragment-instantiator.test.ts +210 -94
  431. package/src/db-fragment-integration.test.ts +17 -12
  432. package/src/dispatchers/cloudflare-do/dispatcher.ts +204 -0
  433. package/src/dispatchers/cloudflare-do/index.test.ts +206 -0
  434. package/src/dispatchers/cloudflare-do/index.ts +63 -0
  435. package/src/dispatchers/node/dispatcher.ts +112 -0
  436. package/src/dispatchers/node/index.test.ts +120 -0
  437. package/src/dispatchers/node/index.ts +50 -0
  438. package/src/durable-hooks.test.ts +80 -0
  439. package/src/durable-hooks.ts +67 -0
  440. package/src/fragments/internal-fragment.routes.test.ts +570 -0
  441. package/src/fragments/internal-fragment.routes.ts +334 -0
  442. package/src/fragments/internal-fragment.schema.ts +95 -0
  443. package/src/fragments/internal-fragment.test.ts +505 -83
  444. package/src/fragments/internal-fragment.ts +453 -70
  445. package/src/hooks/durable-hooks-logger.ts +126 -0
  446. package/src/hooks/durable-hooks-processor.pglite.test.ts +87 -0
  447. package/src/hooks/durable-hooks-processor.test.ts +282 -0
  448. package/src/hooks/durable-hooks-processor.ts +173 -0
  449. package/src/hooks/durable-hooks-runtime.test.ts +65 -0
  450. package/src/hooks/durable-hooks-runtime.ts +81 -0
  451. package/src/hooks/hooks.test.ts +455 -34
  452. package/src/hooks/hooks.ts +501 -34
  453. package/src/id.test.ts +34 -0
  454. package/src/id.ts +1 -3
  455. package/src/internal/adapter-registry.test.ts +93 -0
  456. package/src/internal/adapter-registry.ts +239 -0
  457. package/src/internal/outbox-state.ts +43 -0
  458. package/src/migration-engine/auto-from-schema.test.ts +107 -14
  459. package/src/migration-engine/auto-from-schema.ts +365 -44
  460. package/src/migration-engine/create.test.ts +4 -3
  461. package/src/migration-engine/create.ts +1 -1
  462. package/src/migration-engine/generation-engine.test.ts +292 -110
  463. package/src/migration-engine/generation-engine.ts +117 -66
  464. package/src/migration-engine/shared.ts +14 -0
  465. package/src/mod.ts +95 -39
  466. package/src/naming/sql-naming.ts +181 -0
  467. package/src/outbox/outbox-builder.ts +241 -0
  468. package/src/outbox/outbox.test.ts +424 -0
  469. package/src/outbox/outbox.ts +139 -0
  470. package/src/query/column-defaults.ts +42 -4
  471. package/src/query/condition-builder.test.ts +18 -3
  472. package/src/query/condition-builder.ts +7 -0
  473. package/src/query/cursor-client.test.ts +70 -0
  474. package/src/query/cursor-client.ts +263 -0
  475. package/src/query/cursor.test.ts +119 -20
  476. package/src/query/cursor.ts +88 -27
  477. package/src/query/db-now.ts +73 -0
  478. package/src/query/orm/orm.ts +2 -2
  479. package/src/query/query-type.test.ts +4 -3
  480. package/src/query/serialize/create-sql-serializer.ts +10 -5
  481. package/src/query/serialize/dialect/mysql-serializer.ts +13 -5
  482. package/src/query/serialize/dialect/postgres-serializer.ts +35 -5
  483. package/src/query/serialize/dialect/sqlite-serializer.test.ts +90 -3
  484. package/src/query/serialize/dialect/sqlite-serializer.ts +108 -12
  485. package/src/query/serialize/sql-serializer.ts +4 -4
  486. package/src/query/simple-query-interface.ts +15 -4
  487. package/src/query/unit-of-work/execute-unit-of-work.test.ts +372 -10
  488. package/src/query/unit-of-work/execute-unit-of-work.ts +87 -27
  489. package/src/query/unit-of-work/retry-policy.test.ts +1 -0
  490. package/src/query/unit-of-work/tx-builder.test.ts +73 -1
  491. package/src/query/unit-of-work/unit-of-work-coordinator.test.ts +17 -16
  492. package/src/query/unit-of-work/unit-of-work-types.test.ts +42 -12
  493. package/src/query/unit-of-work/unit-of-work.test.ts +196 -39
  494. package/src/query/unit-of-work/unit-of-work.ts +309 -38
  495. package/src/query/value-decoding.test.ts +63 -4
  496. package/src/query/value-decoding.ts +32 -6
  497. package/src/query/value-encoding.test.ts +86 -2
  498. package/src/query/value-encoding.ts +56 -6
  499. package/src/schema/create.test.ts +293 -47
  500. package/src/schema/create.ts +406 -70
  501. package/src/schema/generate-id.test.ts +3 -2
  502. package/src/schema/generate-id.ts +2 -2
  503. package/src/schema/serialize.test.ts +18 -5
  504. package/src/schema/type-conversion/create-sql-type-mapper.ts +8 -3
  505. package/src/schema/type-conversion/dialect/sqlite.ts +18 -0
  506. package/src/schema/type-conversion/type-mapping.test.ts +26 -1
  507. package/src/schema/validator.test.ts +199 -0
  508. package/src/schema/validator.ts +232 -0
  509. package/src/{adapters/drizzle/generate.test.ts → schema-output/drizzle.test.ts} +232 -129
  510. package/src/{adapters/drizzle/generate.ts → schema-output/drizzle.ts} +155 -99
  511. package/src/schema-output/prisma.test.ts +694 -0
  512. package/src/schema-output/prisma.ts +593 -0
  513. package/src/sql-driver/better-sqlite3.test.ts +5 -3
  514. package/src/sql-driver/dialects/durable-object-dialect.ts +3 -8
  515. package/src/sql-driver/query-executor/default-query-executor.ts +1 -1
  516. package/src/sql-driver/query-executor/query-executor-base.ts +1 -1
  517. package/src/sql-driver/query-executor/query-executor.ts +1 -1
  518. package/src/sql-driver/sql-driver-adapter.ts +2 -2
  519. package/src/sql-driver/sql.ts +2 -1
  520. package/src/sql-driver/sqlocal.test.ts +4 -2
  521. package/src/sync/commands.test.ts +39 -0
  522. package/src/sync/commands.ts +51 -0
  523. package/src/sync/conflict-checker.test.ts +450 -0
  524. package/src/sync/conflict-checker.ts +248 -0
  525. package/src/sync/index.ts +14 -0
  526. package/src/sync/plan.ts +9 -0
  527. package/src/sync/read-tracking.test.ts +177 -0
  528. package/src/sync/read-tracking.ts +287 -0
  529. package/src/sync/submit.test.ts +205 -0
  530. package/src/sync/submit.ts +328 -0
  531. package/src/sync/types.ts +80 -0
  532. package/src/util/default-database-adapter.ts +119 -0
  533. package/src/with-database.ts +20 -31
  534. package/tsconfig.json +1 -1
  535. package/tsdown.config.ts +38 -24
  536. package/vitest.config.ts +1 -0
  537. package/dist/adapters/drizzle/drizzle-adapter.d.ts +0 -20
  538. package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +0 -1
  539. package/dist/adapters/drizzle/drizzle-adapter.js +0 -27
  540. package/dist/adapters/drizzle/drizzle-adapter.js.map +0 -1
  541. package/dist/adapters/drizzle/generate.d.ts +0 -30
  542. package/dist/adapters/drizzle/generate.d.ts.map +0 -1
  543. package/dist/adapters/drizzle/generate.js.map +0 -1
  544. package/dist/adapters/kysely/kysely-adapter.d.ts +0 -19
  545. package/dist/adapters/kysely/kysely-adapter.d.ts.map +0 -1
  546. package/dist/adapters/kysely/kysely-adapter.js +0 -17
  547. package/dist/adapters/kysely/kysely-adapter.js.map +0 -1
  548. package/dist/adapters/shared/table-name-mapper.d.ts +0 -12
  549. package/dist/adapters/shared/table-name-mapper.d.ts.map +0 -1
  550. package/dist/adapters/shared/table-name-mapper.js +0 -43
  551. package/dist/adapters/shared/table-name-mapper.js.map +0 -1
  552. package/dist/node_modules/.pnpm/rou3@0.7.10/node_modules/rou3/dist/index.js +0 -165
  553. package/dist/node_modules/.pnpm/rou3@0.7.10/node_modules/rou3/dist/index.js.map +0 -1
  554. package/dist/packages/fragno/dist/api/bind-services.js +0 -20
  555. package/dist/packages/fragno/dist/api/bind-services.js.map +0 -1
  556. package/dist/packages/fragno/dist/api/error.js +0 -48
  557. package/dist/packages/fragno/dist/api/error.js.map +0 -1
  558. package/dist/packages/fragno/dist/api/fragment-definition-builder.js +0 -320
  559. package/dist/packages/fragno/dist/api/fragment-definition-builder.js.map +0 -1
  560. package/dist/packages/fragno/dist/api/fragment-instantiator.js +0 -525
  561. package/dist/packages/fragno/dist/api/fragment-instantiator.js.map +0 -1
  562. package/dist/packages/fragno/dist/api/fragno-response.js +0 -73
  563. package/dist/packages/fragno/dist/api/fragno-response.js.map +0 -1
  564. package/dist/packages/fragno/dist/api/internal/response-stream.js +0 -81
  565. package/dist/packages/fragno/dist/api/internal/response-stream.js.map +0 -1
  566. package/dist/packages/fragno/dist/api/internal/route.js +0 -10
  567. package/dist/packages/fragno/dist/api/internal/route.js.map +0 -1
  568. package/dist/packages/fragno/dist/api/mutable-request-state.js +0 -97
  569. package/dist/packages/fragno/dist/api/mutable-request-state.js.map +0 -1
  570. package/dist/packages/fragno/dist/api/request-context-storage.js +0 -43
  571. package/dist/packages/fragno/dist/api/request-context-storage.js.map +0 -1
  572. package/dist/packages/fragno/dist/api/request-input-context.js +0 -118
  573. package/dist/packages/fragno/dist/api/request-input-context.js.map +0 -1
  574. package/dist/packages/fragno/dist/api/request-middleware.js +0 -83
  575. package/dist/packages/fragno/dist/api/request-middleware.js.map +0 -1
  576. package/dist/packages/fragno/dist/api/request-output-context.js +0 -119
  577. package/dist/packages/fragno/dist/api/request-output-context.js.map +0 -1
  578. package/dist/packages/fragno/dist/api/route.js +0 -17
  579. package/dist/packages/fragno/dist/api/route.js.map +0 -1
  580. package/dist/packages/fragno/dist/internal/symbols.js +0 -10
  581. package/dist/packages/fragno/dist/internal/symbols.js.map +0 -1
  582. package/dist/schema-generator/schema-generator.d.ts +0 -15
  583. package/dist/schema-generator/schema-generator.d.ts.map +0 -1
  584. package/src/adapters/drizzle/drizzle-adapter.ts +0 -39
  585. package/src/adapters/kysely/kysely-adapter.ts +0 -27
  586. package/src/adapters/shared/table-name-mapper.ts +0 -50
  587. package/src/schema-generator/schema-generator.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"value-encoding.js","names":["#referencedTable","#externalIdValue","result: Record<string, unknown>","externalIdForSubquery: string | undefined"],"sources":["../../src/query/value-encoding.ts"],"sourcesContent":["import type { AnyTable, AnyColumn } from \"../schema/create\";\nimport { FragnoId, FragnoReference } from \"../schema/create\";\nimport { generateRuntimeDefault } from \"./column-defaults\";\n\n/**\n * Marker class for reference column values that need subquery resolution.\n * When a reference column receives a string (external ID), this marker tells\n * the query builder to generate a subquery to look up the internal ID.\n * @internal\n */\nexport class ReferenceSubquery {\n #referencedTable: AnyTable;\n #externalIdValue: string;\n\n constructor(referencedTable: AnyTable, externalIdValue: string) {\n this.#referencedTable = referencedTable;\n this.#externalIdValue = externalIdValue;\n }\n\n get referencedTable() {\n return this.#referencedTable;\n }\n\n get externalIdValue() {\n return this.#externalIdValue;\n }\n}\n\n/**\n * Resolves FragnoId or FragnoReference objects to their appropriate primitive values.\n *\n * This function handles the Fragno ID system's conversion to database values:\n * - FragnoReference objects are resolved to their internal IDs\n * - FragnoId objects are resolved based on the column role:\n * - external-id: uses the external ID\n * - internal-id: uses the internal ID (must be present)\n * - reference: uses databaseId (internal ID if available, else external ID)\n * - other: uses the external ID by default\n *\n * @param value - The value to resolve (may be FragnoId, FragnoReference, or any other value)\n * @param col - The column schema definition\n * @returns The resolved primitive value, or the original value if not a FragnoId/FragnoReference\n * @throws Error if internal ID is required but not available\n * @internal\n */\nexport function resolveFragnoIdValue(value: unknown, col: AnyColumn): unknown {\n // Handle FragnoReference objects (for reference columns)\n if (value instanceof FragnoReference) {\n return value.internalId;\n }\n\n // Handle FragnoId objects\n if (value instanceof FragnoId) {\n // For external ID columns, use the external ID\n if (col.role === \"external-id\") {\n return value.externalId;\n }\n // For internal ID columns, use the internal ID (must be present)\n if (col.role === \"internal-id\") {\n if (value.internalId === undefined) {\n throw new Error(`FragnoId must have internalId for internal-id column ${col.name}`);\n }\n return value.internalId;\n }\n // For reference columns, prefer internal ID if available, else external ID\n if (col.role === \"reference\") {\n return value.databaseId;\n }\n // Default to external ID for other columns\n return value.externalId;\n }\n\n return value;\n}\n\n/**\n * Encodes a record of values from the application format to resolved format.\n *\n * This function:\n * - Transforms object keys from ORM names to database column names\n * - Resolves FragnoId/FragnoReference objects to primitive values\n * - Generates default values for undefined columns\n * - Creates ReferenceSubquery markers for external ID lookups\n *\n * Note: This function does NOT serialize values (Date → number, bigint → Buffer, etc.).\n * Use UnitOfWorkEncoder.encode() to apply driver-specific serialization after this step.\n *\n * @param values - The record of values to encode in application format\n * @param table - The table schema definition containing column information\n * @param generateDefault - Whether to generate default values for undefined columns\n * @returns A record with database column names and resolved (but not serialized) values\n *\n * @example\n * ```ts\n * const encoded = encodeValues(\n * { userId: 123, createdAt: new Date() },\n * userTable,\n * true\n * );\n * // Returns: { user_id: 123, created_at: Date } (not yet serialized)\n * ```\n */\nexport function encodeValues(\n values: Record<string, unknown>,\n table: AnyTable,\n generateDefault: boolean,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const k in table.columns) {\n const col = table.columns[k];\n\n // Skip internal ID - never provided by user, auto-generated by database\n if (col.role === \"internal-id\") {\n continue;\n }\n let value = values[k];\n\n if (generateDefault && value === undefined) {\n // Only generate runtime defaults (defaultTo$), not static defaults (defaultTo).\n // Static defaults should be handled by the database via DEFAULT constraints.\n value = generateRuntimeDefault(col);\n }\n\n if (value !== undefined) {\n // Handle reference columns: strings or FragnoIds without internal IDs need subqueries\n if (col.role === \"reference\") {\n let needsSubquery = false;\n let externalIdForSubquery: string | undefined;\n\n if (typeof value === \"string\") {\n // String external ID - needs subquery\n needsSubquery = true;\n externalIdForSubquery = value;\n } else if (value instanceof FragnoId && value.internalId === undefined) {\n // FragnoId without internal ID - needs subquery\n needsSubquery = true;\n externalIdForSubquery = value.externalId;\n } else if (value instanceof FragnoId && value.internalId !== undefined) {\n // FragnoId with internal ID - use it directly (will be serialized later)\n result[col.name] = value.internalId;\n continue;\n } else if (value instanceof FragnoReference) {\n // FragnoReference - use internal ID directly (will be serialized later)\n result[col.name] = value.internalId;\n continue;\n }\n\n if (needsSubquery) {\n const relation = Object.values(table.relations).find((rel) =>\n rel.on.some(([localCol]) => localCol === k),\n );\n if (relation) {\n result[col.name] = new ReferenceSubquery(relation.table, externalIdForSubquery!);\n continue;\n }\n throw new Error(`Reference column ${k} not found in table ${table.name}`);\n }\n }\n\n // Resolve FragnoId/FragnoReference to primitive values (serialization happens later)\n const resolvedValue = resolveFragnoIdValue(value, col);\n result[col.name] = resolvedValue;\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;AAUA,IAAa,oBAAb,MAA+B;CAC7B;CACA;CAEA,YAAY,iBAA2B,iBAAyB;AAC9D,QAAKA,kBAAmB;AACxB,QAAKC,kBAAmB;;CAG1B,IAAI,kBAAkB;AACpB,SAAO,MAAKD;;CAGd,IAAI,kBAAkB;AACpB,SAAO,MAAKC;;;;;;;;;;;;;;;;;;;;AAqBhB,SAAgB,qBAAqB,OAAgB,KAAyB;AAE5E,KAAI,iBAAiB,gBACnB,QAAO,MAAM;AAIf,KAAI,iBAAiB,UAAU;AAE7B,MAAI,IAAI,SAAS,cACf,QAAO,MAAM;AAGf,MAAI,IAAI,SAAS,eAAe;AAC9B,OAAI,MAAM,eAAe,OACvB,OAAM,IAAI,MAAM,wDAAwD,IAAI,OAAO;AAErF,UAAO,MAAM;;AAGf,MAAI,IAAI,SAAS,YACf,QAAO,MAAM;AAGf,SAAO,MAAM;;AAGf,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,SAAgB,aACd,QACA,OACA,iBACyB;CACzB,MAAMC,SAAkC,EAAE;AAE1C,MAAK,MAAM,KAAK,MAAM,SAAS;EAC7B,MAAM,MAAM,MAAM,QAAQ;AAG1B,MAAI,IAAI,SAAS,cACf;EAEF,IAAI,QAAQ,OAAO;AAEnB,MAAI,mBAAmB,UAAU,OAG/B,SAAQ,uBAAuB,IAAI;AAGrC,MAAI,UAAU,QAAW;AAEvB,OAAI,IAAI,SAAS,aAAa;IAC5B,IAAI,gBAAgB;IACpB,IAAIC;AAEJ,QAAI,OAAO,UAAU,UAAU;AAE7B,qBAAgB;AAChB,6BAAwB;eACf,iBAAiB,YAAY,MAAM,eAAe,QAAW;AAEtE,qBAAgB;AAChB,6BAAwB,MAAM;eACrB,iBAAiB,YAAY,MAAM,eAAe,QAAW;AAEtE,YAAO,IAAI,QAAQ,MAAM;AACzB;eACS,iBAAiB,iBAAiB;AAE3C,YAAO,IAAI,QAAQ,MAAM;AACzB;;AAGF,QAAI,eAAe;KACjB,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,CAAC,MAAM,QACpD,IAAI,GAAG,MAAM,CAAC,cAAc,aAAa,EAAE,CAC5C;AACD,SAAI,UAAU;AACZ,aAAO,IAAI,QAAQ,IAAI,kBAAkB,SAAS,OAAO,sBAAuB;AAChF;;AAEF,WAAM,IAAI,MAAM,oBAAoB,EAAE,sBAAsB,MAAM,OAAO;;;GAK7E,MAAM,gBAAgB,qBAAqB,OAAO,IAAI;AACtD,UAAO,IAAI,QAAQ;;;AAIvB,QAAO"}
1
+ {"version":3,"file":"value-encoding.js","names":["#referencedTable","#externalIdValue","result: Record<string, unknown>","externalIdForSubquery: string | undefined"],"sources":["../../src/query/value-encoding.ts"],"sourcesContent":["import type { NamingResolver } from \"../naming/sql-naming\";\nimport type { AnyTable, AnyColumn } from \"../schema/create\";\nimport { FragnoId, FragnoReference } from \"../schema/create\";\nimport {\n generateDatabaseDefault,\n generateRuntimeDefault,\n type RuntimeDefaultContext,\n} from \"./column-defaults\";\n\n/**\n * Marker class for reference column values that need subquery resolution.\n * When a reference column receives a string (external ID), this marker tells\n * the query builder to generate a subquery to look up the internal ID.\n * @internal\n */\nexport class ReferenceSubquery {\n #referencedTable: AnyTable;\n #externalIdValue: string;\n\n constructor(referencedTable: AnyTable, externalIdValue: string) {\n this.#referencedTable = referencedTable;\n this.#externalIdValue = externalIdValue;\n }\n\n get referencedTable() {\n return this.#referencedTable;\n }\n\n get externalIdValue() {\n return this.#externalIdValue;\n }\n}\n\n/**\n * Resolves FragnoId or FragnoReference objects to their appropriate primitive values.\n *\n * This function handles the Fragno ID system's conversion to database values:\n * - FragnoReference objects are resolved to their internal IDs\n * - FragnoId objects are resolved based on the column role:\n * - external-id: uses the external ID\n * - internal-id: uses the internal ID (must be present)\n * - reference: uses databaseId (internal ID if available, else external ID)\n * - other: uses the external ID by default\n *\n * @param value - The value to resolve (may be FragnoId, FragnoReference, or any other value)\n * @param col - The column schema definition\n * @returns The resolved primitive value, or the original value if not a FragnoId/FragnoReference\n * @throws Error if internal ID is required but not available\n * @internal\n */\nexport function resolveFragnoIdValue(value: unknown, col: AnyColumn): unknown {\n // Handle FragnoReference objects (for reference columns)\n if (value instanceof FragnoReference) {\n return value.internalId;\n }\n\n // Handle FragnoId objects\n if (value instanceof FragnoId) {\n // For external ID columns, use the external ID\n if (col.role === \"external-id\") {\n return value.externalId;\n }\n // For internal ID columns, use the internal ID (must be present)\n if (col.role === \"internal-id\") {\n if (value.internalId === undefined) {\n throw new Error(`FragnoId must have internalId for internal-id column ${col.name}`);\n }\n return value.internalId;\n }\n // For reference columns, prefer internal ID if available, else external ID\n if (col.role === \"reference\") {\n return value.databaseId;\n }\n // Default to external ID for other columns\n return value.externalId;\n }\n\n return value;\n}\n\n/**\n * Encodes a record of values from the application format to resolved format.\n *\n * This function:\n * - Transforms object keys from ORM names to database column names\n * - Resolves FragnoId/FragnoReference objects to primitive values\n * - Generates default values for undefined columns\n * - Creates ReferenceSubquery markers for external ID lookups\n *\n * Note: This function does NOT serialize values (Date → number, bigint → Buffer, etc.).\n * Use UnitOfWorkEncoder.encode() to apply driver-specific serialization after this step.\n *\n * @param values - The record of values to encode in application format\n * @param table - The table schema definition containing column information\n * @param generateDefault - Whether to generate default values for undefined columns\n * @returns A record with database column names and resolved (but not serialized) values\n *\n * @example\n * ```ts\n * const encoded = encodeValues(\n * { userId: 123, createdAt: new Date() },\n * userTable,\n * true\n * );\n * // Returns: { user_id: 123, created_at: Date } (not yet serialized)\n * ```\n */\nexport function encodeValues(\n values: Record<string, unknown>,\n table: AnyTable,\n generateDefault: boolean,\n runtimeDefaults: RuntimeDefaultContext = {},\n resolver?: NamingResolver,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const k in table.columns) {\n const col = table.columns[k];\n\n // Skip internal ID - never provided by user, auto-generated by database\n if (col.role === \"internal-id\") {\n continue;\n }\n let value = values[k];\n\n if (generateDefault && value === undefined) {\n // Only generate runtime defaults (defaultTo$), not static defaults (defaultTo).\n // Static defaults should be handled by the database via DEFAULT constraints.\n value = generateRuntimeDefault(col, runtimeDefaults);\n }\n\n if (value !== undefined) {\n const physicalColumnName = resolver ? resolver.getColumnName(table.name, col.name) : col.name;\n\n // Handle reference columns: strings or FragnoIds without internal IDs need subqueries\n if (col.role === \"reference\") {\n let needsSubquery = false;\n let externalIdForSubquery: string | undefined;\n\n if (typeof value === \"string\") {\n // String external ID - needs subquery\n needsSubquery = true;\n externalIdForSubquery = value;\n } else if (value instanceof FragnoId && value.internalId === undefined) {\n // FragnoId without internal ID - needs subquery\n needsSubquery = true;\n externalIdForSubquery = value.externalId;\n } else if (value instanceof FragnoId && value.internalId !== undefined) {\n // FragnoId with internal ID - use it directly (will be serialized later)\n result[physicalColumnName] = value.internalId;\n continue;\n } else if (value instanceof FragnoReference) {\n // FragnoReference - use internal ID directly (will be serialized later)\n result[physicalColumnName] = value.internalId;\n continue;\n }\n\n if (needsSubquery) {\n const relation = Object.values(table.relations).find((rel) =>\n rel.on.some(([localCol]) => localCol === k),\n );\n if (relation) {\n result[physicalColumnName] = new ReferenceSubquery(\n relation.table,\n externalIdForSubquery!,\n );\n continue;\n }\n throw new Error(`Reference column ${k} not found in table ${table.name}`);\n }\n }\n\n // Resolve FragnoId/FragnoReference to primitive values (serialization happens later)\n const resolvedValue = resolveFragnoIdValue(value, col);\n result[physicalColumnName] = resolvedValue;\n }\n }\n\n return result;\n}\n\n/**\n * Encode values and apply database defaults in-process.\n *\n * This is intended for adapters that cannot rely on database DEFAULT constraints,\n * such as the in-memory adapter.\n *\n * @internal\n */\nexport function encodeValuesWithDbDefaults(\n values: Record<string, unknown>,\n table: AnyTable,\n runtimeDefaults: RuntimeDefaultContext = {},\n resolver?: NamingResolver,\n): Record<string, unknown> {\n const resolved = encodeValues(values, table, true, runtimeDefaults, resolver);\n\n for (const columnKey of Object.keys(table.columns)) {\n const column = table.columns[columnKey];\n if (column.role === \"internal-id\") {\n continue;\n }\n\n const physicalColumnName = resolver\n ? resolver.getColumnName(table.name, column.name)\n : column.name;\n if (Object.prototype.hasOwnProperty.call(resolved, physicalColumnName)) {\n continue;\n }\n\n const fallback = generateDatabaseDefault(column, runtimeDefaults);\n if (fallback !== undefined) {\n resolved[physicalColumnName] = fallback;\n }\n }\n\n return resolved;\n}\n"],"mappings":";;;;;;;;;;AAeA,IAAa,oBAAb,MAA+B;CAC7B;CACA;CAEA,YAAY,iBAA2B,iBAAyB;AAC9D,QAAKA,kBAAmB;AACxB,QAAKC,kBAAmB;;CAG1B,IAAI,kBAAkB;AACpB,SAAO,MAAKD;;CAGd,IAAI,kBAAkB;AACpB,SAAO,MAAKC;;;;;;;;;;;;;;;;;;;;AAqBhB,SAAgB,qBAAqB,OAAgB,KAAyB;AAE5E,KAAI,iBAAiB,gBACnB,QAAO,MAAM;AAIf,KAAI,iBAAiB,UAAU;AAE7B,MAAI,IAAI,SAAS,cACf,QAAO,MAAM;AAGf,MAAI,IAAI,SAAS,eAAe;AAC9B,OAAI,MAAM,eAAe,OACvB,OAAM,IAAI,MAAM,wDAAwD,IAAI,OAAO;AAErF,UAAO,MAAM;;AAGf,MAAI,IAAI,SAAS,YACf,QAAO,MAAM;AAGf,SAAO,MAAM;;AAGf,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,SAAgB,aACd,QACA,OACA,iBACA,kBAAyC,EAAE,EAC3C,UACyB;CACzB,MAAMC,SAAkC,EAAE;AAE1C,MAAK,MAAM,KAAK,MAAM,SAAS;EAC7B,MAAM,MAAM,MAAM,QAAQ;AAG1B,MAAI,IAAI,SAAS,cACf;EAEF,IAAI,QAAQ,OAAO;AAEnB,MAAI,mBAAmB,UAAU,OAG/B,SAAQ,uBAAuB,KAAK,gBAAgB;AAGtD,MAAI,UAAU,QAAW;GACvB,MAAM,qBAAqB,WAAW,SAAS,cAAc,MAAM,MAAM,IAAI,KAAK,GAAG,IAAI;AAGzF,OAAI,IAAI,SAAS,aAAa;IAC5B,IAAI,gBAAgB;IACpB,IAAIC;AAEJ,QAAI,OAAO,UAAU,UAAU;AAE7B,qBAAgB;AAChB,6BAAwB;eACf,iBAAiB,YAAY,MAAM,eAAe,QAAW;AAEtE,qBAAgB;AAChB,6BAAwB,MAAM;eACrB,iBAAiB,YAAY,MAAM,eAAe,QAAW;AAEtE,YAAO,sBAAsB,MAAM;AACnC;eACS,iBAAiB,iBAAiB;AAE3C,YAAO,sBAAsB,MAAM;AACnC;;AAGF,QAAI,eAAe;KACjB,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,CAAC,MAAM,QACpD,IAAI,GAAG,MAAM,CAAC,cAAc,aAAa,EAAE,CAC5C;AACD,SAAI,UAAU;AACZ,aAAO,sBAAsB,IAAI,kBAC/B,SAAS,OACT,sBACD;AACD;;AAEF,WAAM,IAAI,MAAM,oBAAoB,EAAE,sBAAsB,MAAM,OAAO;;;AAM7E,UAAO,sBADe,qBAAqB,OAAO,IAAI;;;AAK1D,QAAO;;;;;;;;;;AAWT,SAAgB,2BACd,QACA,OACA,kBAAyC,EAAE,EAC3C,UACyB;CACzB,MAAM,WAAW,aAAa,QAAQ,OAAO,MAAM,iBAAiB,SAAS;AAE7E,MAAK,MAAM,aAAa,OAAO,KAAK,MAAM,QAAQ,EAAE;EAClD,MAAM,SAAS,MAAM,QAAQ;AAC7B,MAAI,OAAO,SAAS,cAClB;EAGF,MAAM,qBAAqB,WACvB,SAAS,cAAc,MAAM,MAAM,OAAO,KAAK,GAC/C,OAAO;AACX,MAAI,OAAO,UAAU,eAAe,KAAK,UAAU,mBAAmB,CACpE;EAGF,MAAM,WAAW,wBAAwB,QAAQ,gBAAgB;AACjE,MAAI,aAAa,OACf,UAAS,sBAAsB;;AAInC,QAAO"}
@@ -1,4 +1,8 @@
1
+ import { DbNow } from "../query/db-now.js";
2
+ import { Prettify } from "../util/types.js";
1
3
  import { generateId } from "./generate-id.js";
4
+ import { FragnoDbValidationError } from "./validator.js";
5
+ import { StandardSchemaV1 } from "@standard-schema/spec";
2
6
 
3
7
  //#region src/schema/create.d.ts
4
8
  type AnySchema = Schema<Record<string, AnyTable>>;
@@ -18,6 +22,20 @@ type TableSubOperation = {
18
22
  name: string;
19
23
  columns: string[];
20
24
  unique: boolean;
25
+ } | {
26
+ type: "rename-column";
27
+ from: string;
28
+ to: string;
29
+ } | {
30
+ type: "drop-column";
31
+ name: string;
32
+ } | {
33
+ type: "update-column";
34
+ columnName: string;
35
+ column: AnyColumn;
36
+ updateNullable: boolean;
37
+ updateDefault: boolean;
38
+ updateDataType: boolean;
21
39
  } | {
22
40
  type: "add-foreign-key";
23
41
  name: string;
@@ -51,6 +69,7 @@ type SchemaOperation = {
51
69
  table: string;
52
70
  column: string;
53
71
  };
72
+ foreignKey?: boolean;
54
73
  };
55
74
  };
56
75
  interface ForeignKey {
@@ -65,7 +84,10 @@ declare class RelationInit<TRelationType extends RelationType, TTables extends R
65
84
  referencedTable: TTables[TTableName];
66
85
  referencer: AnyTable;
67
86
  on: [string, string][];
68
- constructor(type: TRelationType, referencedTable: TTables[TTableName], referencer: AnyTable);
87
+ foreignKey: boolean;
88
+ constructor(type: TRelationType, referencedTable: TTables[TTableName], referencer: AnyTable, options?: {
89
+ foreignKey?: boolean;
90
+ });
69
91
  }
70
92
  interface Index<TColumns extends AnyColumn[] = AnyColumn[], TColumnNames extends readonly string[] = readonly string[]> {
71
93
  name: string;
@@ -74,22 +96,39 @@ interface Index<TColumns extends AnyColumn[] = AnyColumn[], TColumnNames extends
74
96
  unique: boolean;
75
97
  }
76
98
  declare class ExplicitRelationInit<TRelationType extends RelationType, TTables extends Record<string, AnyTable>, TTableName extends keyof TTables> extends RelationInit<TRelationType, TTables, TTableName> {
77
- init(ormName: string): Relation<TRelationType, TTables[TTableName]>;
99
+ init(name: string): Relation<TRelationType, TTables[TTableName]>;
78
100
  }
79
101
  interface Relation<TRelationType extends RelationType = RelationType, TTable extends AnyTable = AnyTable> {
80
102
  id: string;
81
103
  name: string;
82
104
  type: TRelationType;
105
+ foreignKey?: boolean;
83
106
  table: TTable;
84
107
  referencer: AnyTable;
85
108
  on: [string, string][];
86
109
  }
110
+ type PickNullable<T> = { [P in keyof T as null extends T[P] ? P : never]: T[P] };
111
+ type PickNotNullable<T> = { [P in keyof T as null extends T[P] ? never : P]: T[P] };
112
+ type RawInsertValuesFromColumns<TColumns extends Record<string, AnyColumn>> = { [K in keyof TColumns as string extends K ? never : K]: TColumns[K]["$in"] };
113
+ type TableInsertValuesFromColumns<TColumns extends Record<string, AnyColumn>> = Prettify<Partial<PickNullable<RawInsertValuesFromColumns<TColumns>>> & PickNotNullable<RawInsertValuesFromColumns<TColumns>>>;
114
+ type TableInsertValues<T extends AnyTable> = TableInsertValuesFromColumns<T["columns"]>;
115
+ type TableUnknownKeysMode = "strip" | "strict";
116
+ type TableValidationOptions = {
117
+ unknownKeys?: TableUnknownKeysMode;
118
+ };
87
119
  interface Table<TColumns extends Record<string, AnyColumn> = Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation> = Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>> {
120
+ /**
121
+ * Standard Schema-compatible validator for insert values.
122
+ */
123
+ "~standard": StandardSchemaV1.Props<TableInsertValuesFromColumns<TColumns>, TableInsertValuesFromColumns<TColumns>>;
88
124
  name: string;
89
- ormName: string;
90
125
  columns: TColumns;
91
126
  relations: TRelations;
92
127
  indexes: TIndexes;
128
+ /**
129
+ * Validate insert values at runtime.
130
+ */
131
+ validate: (value: unknown, options?: TableValidationOptions) => TableInsertValuesFromColumns<TColumns>;
93
132
  /**
94
133
  * Get column by name
95
134
  */
@@ -146,24 +185,23 @@ type TypeMap = {
146
185
  date: Date;
147
186
  timestamp: Date;
148
187
  } & Record<`varchar(${number})`, string>;
149
- declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown> {
150
- type: TType;
188
+ declare class Column<TType$1 extends keyof TypeMap, TIn$1 = unknown, TOut$1 = unknown> {
189
+ type: TType$1;
151
190
  name: string;
152
- ormName: string;
153
191
  isNullable: boolean;
154
192
  role: "external-id" | "internal-id" | "version" | "reference" | "regular";
155
193
  isHidden: boolean;
156
194
  default?: {
157
- value: TypeMap[TType];
195
+ value: TypeMap[TType$1];
158
196
  } | {
159
197
  dbSpecial: "now";
160
198
  } | {
161
- runtime: "cuid" | "now" | (() => TypeMap[TType]);
199
+ runtime: "cuid" | "now" | (() => TypeMap[TType$1]);
162
200
  };
163
201
  tableName: string;
164
- constructor(type: TType);
165
- nullable<TNullable extends boolean = true>(nullable?: TNullable): Column<TType, TNullable extends true ? TIn | null : Exclude<TIn, null>, TNullable extends true ? TOut | null : Exclude<TOut, null>>;
166
- hidden<THidden extends boolean = true>(hidden?: THidden): Column<TType, null, null>;
202
+ constructor(type: TType$1);
203
+ nullable<TNullable extends boolean = true>(nullable?: TNullable): Column<TType$1, TNullable extends true ? TIn$1 | null : Exclude<TIn$1, null>, TNullable extends true ? TOut$1 | null : Exclude<TOut$1, null>>;
204
+ hidden<THidden extends boolean = true>(hidden?: THidden): Column<TType$1, null, null>;
167
205
  /**
168
206
  * Generate default value at runtime in application code (not in the database).
169
207
  *
@@ -186,7 +224,7 @@ declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown>
186
224
  * column("integer").defaultTo$((b) => Math.floor(Math.random() * 100)) // Custom function
187
225
  * ```
188
226
  */
189
- defaultTo$(value: TypeMap[TType] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType])): Column<TType, TIn | null, TOut>;
227
+ defaultTo$(value: TypeMap[TType$1] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType$1])): Column<TType$1, TIn$1 | null, TOut$1>;
190
228
  /**
191
229
  * Set a database-level default value (generated by the database, not application code).
192
230
  *
@@ -209,34 +247,34 @@ declare class Column<TType extends keyof TypeMap, TIn = unknown, TOut = unknown>
209
247
  * column("timestamp").defaultTo((b) => b.now())
210
248
  * ```
211
249
  */
212
- defaultTo(value: TypeMap[TType] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType])): Column<TType, TIn | null, TOut>;
250
+ defaultTo(value: TypeMap[TType$1] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType$1])): Column<TType$1, TIn$1 | null, TOut$1>;
213
251
  /**
214
252
  * Generate default value for the column at runtime.
215
253
  * Used for both runtime defaults (defaultTo$) and fallback generation for
216
254
  * database defaults (defaultTo) when the database doesn't support them.
217
255
  */
218
- generateDefaultValue(): TypeMap[TType] | undefined;
256
+ generateDefaultValue(): TypeMap[TType$1] | undefined;
219
257
  /**
220
258
  * @description This is used for type inference only. Runtime value will be undefined.
221
259
  * @internal
222
260
  */
223
- get $in(): TIn;
261
+ get $in(): TIn$1;
224
262
  /**
225
263
  * @description This is used for type inference only. Runtime value will be undefined.
226
264
  * @internal
227
265
  */
228
- get $out(): TOut;
266
+ get $out(): TOut$1;
229
267
  }
230
- declare class IdColumn<TType extends IdColumnType = IdColumnType, TIn = unknown, TOut = unknown> extends Column<TType, TIn, TOut> {
268
+ declare class IdColumn<TType$1 extends IdColumnType = IdColumnType, TIn$1 = unknown, TOut$1 = unknown> extends Column<TType$1, TIn$1, TOut$1> {
231
269
  id: boolean;
232
- defaultTo$(value: TypeMap[TType] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType])): IdColumn<TType, TIn | null, TOut>;
233
- defaultTo(value: TypeMap[TType] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType])): IdColumn<TType, TIn | null, TOut>;
270
+ defaultTo$(value: TypeMap[TType$1] | ((builder: RuntimeDefaultBuilder) => RuntimeSpecial | TypeMap[TType$1])): IdColumn<TType$1, TIn$1 | null, TOut$1>;
271
+ defaultTo(value: TypeMap[TType$1] | ((builder: DefaultBuilder) => DBSpecial | TypeMap[TType$1])): IdColumn<TType$1, TIn$1 | null, TOut$1>;
234
272
  }
235
273
  /**
236
274
  * Internal ID column - used for database-native joins and foreign keys.
237
275
  * Hidden from user API by default.
238
276
  */
239
- declare class InternalIdColumn<TIn = unknown, TOut = unknown> extends Column<"bigint", TIn, TOut> {
277
+ declare class InternalIdColumn<TIn$1 = unknown, TOut$1 = unknown> extends Column<"bigint", TIn$1, TOut$1> {
240
278
  role: "internal-id";
241
279
  constructor();
242
280
  }
@@ -244,11 +282,12 @@ declare class InternalIdColumn<TIn = unknown, TOut = unknown> extends Column<"bi
244
282
  * Version column - used for optimistic concurrency control.
245
283
  * Automatically incremented on each update.
246
284
  */
247
- declare class VersionColumn<TIn = unknown, TOut = unknown> extends Column<"integer", TIn, TOut> {
285
+ declare class VersionColumn<TIn$1 = unknown, TOut$1 = unknown> extends Column<"integer", TIn$1, TOut$1> {
248
286
  role: "version";
249
287
  constructor();
250
288
  }
251
- declare function column<TType extends keyof TypeMap>(type: TType): Column<TType, TypeMap[TType], TypeMap[TType]>;
289
+ type ColumnInput<TType$1 extends keyof TypeMap> = TypeMap[TType$1] | (TType$1 extends "timestamp" | "date" ? DbNow : never);
290
+ declare function column<TType$1 extends keyof TypeMap>(type: TType$1): Column<TType$1, ColumnInput<TType$1>, TypeMap[TType$1]>;
252
291
  /**
253
292
  * Create a reference column that points to another table's internal ID.
254
293
  * This is used for foreign key relationships.
@@ -260,7 +299,7 @@ declare function referenceColumn(): Column<"bigint", string | bigint | FragnoId
260
299
  * This is a CUID string that can be auto-generated or user-provided.
261
300
  * Input accepts string | FragnoId | null, output returns FragnoId.
262
301
  */
263
- declare function idColumn(): IdColumn<"varchar(30)", string | FragnoId | null, FragnoId>;
302
+ declare function idColumn(): IdColumn<"varchar(128)", string | FragnoId | null, FragnoId>;
264
303
  /**
265
304
  * Create an internal ID column (database-native, hidden from user API).
266
305
  * Used for joins and foreign keys.
@@ -342,11 +381,15 @@ declare class TableBuilder<TColumns extends Record<string, AnyColumn> = Record<s
342
381
  /**
343
382
  * Add a column to the table.
344
383
  */
345
- addColumn<TColumnName extends string, TColumn extends AnyColumn>(ormName: TColumnName, col: TColumn): TableBuilder<TColumns & Record<TColumnName, TColumn>, TRelations, TIndexes>;
384
+ addColumn<TColumnName extends string, TColumn extends AnyColumn>(name: TColumnName, col: TColumn): TableBuilder<TColumns & Record<TColumnName, TColumn>, TRelations, TIndexes>;
346
385
  /**
347
386
  * Add a column to the table with simplified syntax.
348
387
  */
349
- addColumn<TColumnName extends string, TType extends keyof TypeMap>(ormName: TColumnName, type: TType): TableBuilder<TColumns & Record<TColumnName, Column<TType, TypeMap[TType], TypeMap[TType]>>, TRelations, TIndexes>;
388
+ addColumn<TColumnName extends string, TType$1 extends keyof TypeMap>(name: TColumnName, type: TType$1): TableBuilder<TColumns & Record<TColumnName, Column<TType$1, ColumnInput<TType$1>, TypeMap[TType$1]>>, TRelations, TIndexes>;
389
+ /**
390
+ * Alter an existing column.
391
+ */
392
+ alterColumn<TColumnName extends NonIdColumnName<TColumns>>(name: TColumnName): ColumnAlterer<TColumns, TRelations, TIndexes, TColumnName>;
350
393
  /**
351
394
  * Create an index on the specified columns.
352
395
  */
@@ -359,6 +402,10 @@ declare class TableBuilder<TColumns extends Record<string, AnyColumn> = Record<s
359
402
  build(): Table<TColumns, TRelations, TIndexes>;
360
403
  }
361
404
  interface Schema<TTables extends Record<string, AnyTable> = Record<string, AnyTable>> {
405
+ /**
406
+ * @description The name of the schema (required).
407
+ */
408
+ name: string;
362
409
  /**
363
410
  * @description The version of the schema, automatically incremented on each change.
364
411
  */
@@ -385,16 +432,22 @@ type UpdateTable<TTables extends Record<string, AnyTable>, TTableName extends ke
385
432
  * Map an array of column names to a tuple of their actual column types
386
433
  */
387
434
  type ColumnsToTuple<TColumns extends Record<string, AnyColumn>, TColumnNames extends readonly (keyof TColumns)[]> = { [K in keyof TColumnNames]: TColumnNames[K] extends keyof TColumns ? TColumns[TColumnNames[K]] : never } & AnyColumn[];
435
+ type UpdateColumn<TColumns extends Record<string, AnyColumn>, TColumnName extends keyof TColumns, TUpdatedColumn extends AnyColumn> = Prettify<Omit<TColumns, TColumnName> & Record<TColumnName, TUpdatedColumn>>;
436
+ type NonIdColumnName<TColumns extends Record<string, AnyColumn>> = { [K in keyof TColumns]: TColumns[K] extends IdColumn<IdColumnType, unknown, unknown> | InternalIdColumn<unknown, unknown> | VersionColumn<unknown, unknown> ? never : K }[keyof TColumns];
437
+ type NullableColumn<TColumn extends AnyColumn, TNullable extends boolean> = TColumn extends Column<infer TType, infer TIn, infer TOut> ? Column<TType, TNullable extends true ? TIn | null : Exclude<TIn, null>, TNullable extends true ? TOut | null : Exclude<TOut, null>> : TColumn;
438
+ type ColumnAlterer<TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index>, TColumnName extends keyof TColumns> = {
439
+ nullable<TNullable extends boolean = true>(nullable?: TNullable): TableBuilder<UpdateColumn<TColumns, TColumnName, NullableColumn<TColumns[TColumnName], TNullable>>, TRelations, TIndexes>;
440
+ };
388
441
  declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
389
442
  #private;
390
- constructor(existingSchema?: Schema<TTables>);
443
+ constructor(name: string, existingSchema?: Schema<TTables>);
391
444
  /**
392
445
  * Add an existing schema to this builder.
393
446
  * Merges tables and operations from the provided schema.
394
447
  *
395
448
  * @example
396
449
  * ```ts
397
- * const builder = new SchemaBuilder()
450
+ * const builder = new SchemaBuilder("combined")
398
451
  * .add(userSchema)
399
452
  * .add(postSchema)
400
453
  * .addTable("comments", ...);
@@ -404,7 +457,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
404
457
  /**
405
458
  * Add a table to the schema. Increments the version counter.
406
459
  */
407
- addTable<TTableName extends string, TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>>(ormName: TTableName, callback: (builder: TableBuilder<Record<string, AnyColumn>, Record<string, AnyRelation>, Record<string, Index>>) => TableBuilder<TColumns, TRelations, TIndexes>): SchemaBuilder<TTables & Record<TTableName, Table<TColumns, TRelations, TIndexes>>>;
460
+ addTable<TTableName extends string, TColumns extends Record<string, AnyColumn>, TRelations extends Record<string, AnyRelation>, TIndexes extends Record<string, Index> = Record<string, Index>>(name: TTableName, callback: (builder: TableBuilder<{}, Record<string, AnyRelation>, Record<string, Index>>) => TableBuilder<TColumns, TRelations, TIndexes>): SchemaBuilder<TTables & Record<TTableName, Table<TColumns, TRelations, TIndexes>>>;
408
461
  /**
409
462
  * Add a relation between two tables.
410
463
  *
@@ -414,7 +467,7 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
414
467
  * @example
415
468
  * ```ts
416
469
  * // One-to-one or many-to-one: post -> user
417
- * schema(s => s
470
+ * schema("blog", s => s
418
471
  * .addTable("users", t => t.addColumn("id", idColumn()))
419
472
  * .addTable("posts", t => t
420
473
  * .addColumn("id", idColumn())
@@ -439,6 +492,14 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
439
492
  * from: { table: "users", column: "invitedBy" },
440
493
  * to: { table: "users", column: "id" },
441
494
  * })
495
+ *
496
+ * // Join-only relation (no foreign key)
497
+ * .addReference("invitedUser", {
498
+ * type: "one",
499
+ * from: { table: "invitations", column: "email" },
500
+ * to: { table: "users", column: "email" },
501
+ * foreignKey: false,
502
+ * })
442
503
  * ```
443
504
  */
444
505
  addReference<TFromTableName extends string & keyof TTables, TToTableName extends string & keyof TTables, TReferenceName extends string, TRelationType extends RelationType>(referenceName: TReferenceName, config: {
@@ -451,10 +512,16 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
451
512
  table: TToTableName;
452
513
  column: keyof TTables[TToTableName]["columns"];
453
514
  };
515
+ /**
516
+ * When false, defines a join-only relation without foreign key migrations.
517
+ * References to external-id columns still coerce to `_internalId`
518
+ * (including left-side external IDs for join-only).
519
+ */
520
+ foreignKey?: boolean;
454
521
  }): SchemaBuilder<UpdateTableRelations<TTables, TFromTableName, TReferenceName, TToTableName, TRelationType>>;
455
522
  /**
456
- * Alter an existing table by adding columns or indexes.
457
- * This is used for append-only schema modifications.
523
+ * Alter an existing table by adding columns, altering columns, or adding indexes.
524
+ * This is used for forward-only schema modifications.
458
525
  *
459
526
  * @param tableName - The name of the table to modify
460
527
  * @param callback - A callback that receives a table builder for adding columns/indexes
@@ -462,11 +529,12 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
462
529
  * @example
463
530
  * ```ts
464
531
  * // Add a new column to an existing table
465
- * schema(s => s
532
+ * schema("blog", s => s
466
533
  * .addTable("users", t => t
467
534
  * .addColumn("id", idColumn())
468
535
  * .addColumn("name", column("string")))
469
536
  * .alterTable("users", t => t
537
+ * .alterColumn("name").nullable()
470
538
  * .addColumn("email", column("string"))
471
539
  * .addColumn("age", column("integer").nullable())
472
540
  * .createIndex("idx_email", ["email"]))
@@ -486,8 +554,8 @@ declare class SchemaBuilder<TTables extends Record<string, AnyTable> = {}> {
486
554
  /**
487
555
  * Create a new schema with callback pattern.
488
556
  */
489
- declare function schema<const TTables extends Record<string, AnyTable> = {}>(callback: (builder: SchemaBuilder<{}>) => SchemaBuilder<TTables>): Schema<TTables>;
490
- declare function compileForeignKey(key: ForeignKey, nameType?: "sql" | "orm"): {
557
+ declare function schema<const TTables extends Record<string, AnyTable> = {}>(name: string, callback: (builder: SchemaBuilder<{}>) => SchemaBuilder<TTables>): Schema<TTables>;
558
+ declare function compileForeignKey(key: ForeignKey): {
491
559
  name: string;
492
560
  table: string;
493
561
  referencedTable: string;
@@ -495,5 +563,5 @@ declare function compileForeignKey(key: ForeignKey, nameType?: "sql" | "orm"): {
495
563
  columns: string[];
496
564
  };
497
565
  //#endregion
498
- export { AnyColumn, AnyRelation, AnySchema, AnyTable, Column, DefaultBuilder, ExplicitRelationInit, ForeignKey, FragnoId, FragnoReference, IdColumn, Index, InternalIdColumn, Relation, RuntimeDefaultBuilder, Schema, SchemaBuilder, SchemaOperation, Table, TableBuilder, TableSubOperation, TypeMap, VersionColumn, column, compileForeignKey, generateId, idColumn, internalIdColumn, referenceColumn, schema, versionColumn };
566
+ export { AnyColumn, AnyRelation, AnySchema, AnyTable, Column, DefaultBuilder, ExplicitRelationInit, ForeignKey, FragnoDbValidationError, FragnoId, FragnoReference, IdColumn, Index, InternalIdColumn, Relation, RuntimeDefaultBuilder, Schema, SchemaBuilder, SchemaOperation, Table, TableBuilder, TableInsertValues, TableSubOperation, TableUnknownKeysMode, TableValidationOptions, TypeMap, VersionColumn, column, compileForeignKey, generateId, idColumn, internalIdColumn, referenceColumn, schema, versionColumn };
499
567
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"create.d.ts","names":[],"sources":["../../src/schema/create.ts"],"sourcesContent":[],"mappings":"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"}