@warlock.js/cascade 5.29.0 → 5.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/cjs/index.cjs +101 -101
  3. package/cjs/index.cjs.map +1 -1
  4. package/esm/context/database-data-source-context.d.mts +1 -1
  5. package/esm/context/database-data-source-context.d.mts.map +1 -1
  6. package/esm/context/database-data-source-context.mjs +1 -1
  7. package/esm/context/database-data-source-context.mjs.map +1 -1
  8. package/esm/context/database-transaction-context.d.mts +1 -1
  9. package/esm/context/database-transaction-context.d.mts.map +1 -1
  10. package/esm/context/database-transaction-context.mjs +1 -1
  11. package/esm/context/database-transaction-context.mjs.map +1 -1
  12. package/esm/contracts/database-driver.contract.d.mts +1 -1
  13. package/esm/contracts/database-driver.contract.d.mts.map +1 -1
  14. package/esm/contracts/database-id-generator.contract.d.mts +1 -1
  15. package/esm/contracts/database-id-generator.contract.d.mts.map +1 -1
  16. package/esm/contracts/database-remover.contract.d.mts +1 -1
  17. package/esm/contracts/database-remover.contract.d.mts.map +1 -1
  18. package/esm/contracts/database-restorer.contract.d.mts +1 -1
  19. package/esm/contracts/database-restorer.contract.d.mts.map +1 -1
  20. package/esm/contracts/database-writer.contract.d.mts +1 -1
  21. package/esm/contracts/database-writer.contract.d.mts.map +1 -1
  22. package/esm/contracts/driver-blueprint.contract.d.mts +1 -1
  23. package/esm/contracts/driver-blueprint.contract.d.mts.map +1 -1
  24. package/esm/contracts/migration-driver.contract.d.mts +1 -1
  25. package/esm/contracts/migration-driver.contract.d.mts.map +1 -1
  26. package/esm/contracts/query-builder.contract.d.mts +1 -1
  27. package/esm/contracts/query-builder.contract.d.mts.map +1 -1
  28. package/esm/contracts/sync-adapter.contract.d.mts +1 -1
  29. package/esm/contracts/sync-adapter.contract.d.mts.map +1 -1
  30. package/esm/data-source/data-source-registry.d.mts +1 -1
  31. package/esm/data-source/data-source-registry.d.mts.map +1 -1
  32. package/esm/data-source/data-source-registry.mjs +1 -1
  33. package/esm/data-source/data-source-registry.mjs.map +1 -1
  34. package/esm/data-source/data-source.d.mts +1 -1
  35. package/esm/data-source/data-source.d.mts.map +1 -1
  36. package/esm/data-source/data-source.mjs +1 -1
  37. package/esm/data-source/data-source.mjs.map +1 -1
  38. package/esm/database-dirty-tracker.d.mts +1 -1
  39. package/esm/database-dirty-tracker.d.mts.map +1 -1
  40. package/esm/database-dirty-tracker.mjs +1 -1
  41. package/esm/database-dirty-tracker.mjs.map +1 -1
  42. package/esm/drivers/mongodb/mongodb-blueprint.mjs +1 -1
  43. package/esm/drivers/mongodb/mongodb-blueprint.mjs.map +1 -1
  44. package/esm/drivers/mongodb/mongodb-driver.d.mts +1 -1
  45. package/esm/drivers/mongodb/mongodb-driver.d.mts.map +1 -1
  46. package/esm/drivers/mongodb/mongodb-driver.mjs +1 -1
  47. package/esm/drivers/mongodb/mongodb-driver.mjs.map +1 -1
  48. package/esm/drivers/mongodb/mongodb-id-generator.d.mts +1 -1
  49. package/esm/drivers/mongodb/mongodb-id-generator.d.mts.map +1 -1
  50. package/esm/drivers/mongodb/mongodb-id-generator.mjs +1 -1
  51. package/esm/drivers/mongodb/mongodb-id-generator.mjs.map +1 -1
  52. package/esm/drivers/mongodb/mongodb-migration-driver.d.mts +1 -1
  53. package/esm/drivers/mongodb/mongodb-migration-driver.d.mts.map +1 -1
  54. package/esm/drivers/mongodb/mongodb-migration-driver.mjs +1 -1
  55. package/esm/drivers/mongodb/mongodb-migration-driver.mjs.map +1 -1
  56. package/esm/drivers/mongodb/mongodb-query-builder.d.mts +1 -1
  57. package/esm/drivers/mongodb/mongodb-query-builder.d.mts.map +1 -1
  58. package/esm/drivers/mongodb/mongodb-query-builder.mjs +1 -1
  59. package/esm/drivers/mongodb/mongodb-query-builder.mjs.map +1 -1
  60. package/esm/drivers/mongodb/mongodb-query-operations.d.mts +1 -1
  61. package/esm/drivers/mongodb/mongodb-query-operations.d.mts.map +1 -1
  62. package/esm/drivers/mongodb/mongodb-query-operations.mjs +1 -1
  63. package/esm/drivers/mongodb/mongodb-query-operations.mjs.map +1 -1
  64. package/esm/drivers/mongodb/mongodb-query-parser.d.mts +1 -1
  65. package/esm/drivers/mongodb/mongodb-query-parser.d.mts.map +1 -1
  66. package/esm/drivers/mongodb/mongodb-query-parser.mjs +1 -1
  67. package/esm/drivers/mongodb/mongodb-query-parser.mjs.map +1 -1
  68. package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts +1 -1
  69. package/esm/drivers/mongodb/mongodb-sync-adapter.d.mts.map +1 -1
  70. package/esm/drivers/mongodb/mongodb-sync-adapter.mjs +1 -1
  71. package/esm/drivers/mongodb/mongodb-sync-adapter.mjs.map +1 -1
  72. package/esm/drivers/mongodb/mongodb-update-translator.mjs +1 -1
  73. package/esm/drivers/mongodb/mongodb-update-translator.mjs.map +1 -1
  74. package/esm/drivers/mongodb/pipeline-stage-object.mjs +1 -1
  75. package/esm/drivers/mongodb/pipeline-stage-object.mjs.map +1 -1
  76. package/esm/drivers/mongodb/types.d.mts +1 -1
  77. package/esm/drivers/mongodb/types.d.mts.map +1 -1
  78. package/esm/drivers/postgres/naming.mjs +1 -1
  79. package/esm/drivers/postgres/naming.mjs.map +1 -1
  80. package/esm/drivers/postgres/postgres-blueprint.d.mts +1 -1
  81. package/esm/drivers/postgres/postgres-blueprint.d.mts.map +1 -1
  82. package/esm/drivers/postgres/postgres-blueprint.mjs +1 -1
  83. package/esm/drivers/postgres/postgres-blueprint.mjs.map +1 -1
  84. package/esm/drivers/postgres/postgres-dialect.d.mts +1 -1
  85. package/esm/drivers/postgres/postgres-dialect.d.mts.map +1 -1
  86. package/esm/drivers/postgres/postgres-dialect.mjs +1 -1
  87. package/esm/drivers/postgres/postgres-dialect.mjs.map +1 -1
  88. package/esm/drivers/postgres/postgres-driver.d.mts +1 -1
  89. package/esm/drivers/postgres/postgres-driver.d.mts.map +1 -1
  90. package/esm/drivers/postgres/postgres-driver.mjs +1 -1
  91. package/esm/drivers/postgres/postgres-driver.mjs.map +1 -1
  92. package/esm/drivers/postgres/postgres-migration-driver.d.mts +1 -1
  93. package/esm/drivers/postgres/postgres-migration-driver.d.mts.map +1 -1
  94. package/esm/drivers/postgres/postgres-migration-driver.mjs +1 -1
  95. package/esm/drivers/postgres/postgres-migration-driver.mjs.map +1 -1
  96. package/esm/drivers/postgres/postgres-query-builder.d.mts +1 -1
  97. package/esm/drivers/postgres/postgres-query-builder.d.mts.map +1 -1
  98. package/esm/drivers/postgres/postgres-query-builder.mjs +1 -1
  99. package/esm/drivers/postgres/postgres-query-builder.mjs.map +1 -1
  100. package/esm/drivers/postgres/postgres-query-parser.d.mts +1 -1
  101. package/esm/drivers/postgres/postgres-query-parser.d.mts.map +1 -1
  102. package/esm/drivers/postgres/postgres-query-parser.mjs +1 -1
  103. package/esm/drivers/postgres/postgres-query-parser.mjs.map +1 -1
  104. package/esm/drivers/postgres/postgres-sql-serializer.mjs +1 -1
  105. package/esm/drivers/postgres/postgres-sql-serializer.mjs.map +1 -1
  106. package/esm/drivers/postgres/postgres-ttl-purge.mjs +1 -1
  107. package/esm/drivers/postgres/postgres-ttl-purge.mjs.map +1 -1
  108. package/esm/drivers/postgres/postgres-type-converters.mjs +1 -1
  109. package/esm/drivers/postgres/postgres-type-converters.mjs.map +1 -1
  110. package/esm/drivers/postgres/postgres-update-validator.mjs +1 -1
  111. package/esm/drivers/postgres/postgres-update-validator.mjs.map +1 -1
  112. package/esm/drivers/postgres/types.d.mts +1 -1
  113. package/esm/drivers/postgres/types.d.mts.map +1 -1
  114. package/esm/drivers/sql/sql-dialect.contract.d.mts +1 -1
  115. package/esm/drivers/sql/sql-dialect.contract.d.mts.map +1 -1
  116. package/esm/drivers/sql/sql-types.d.mts +1 -1
  117. package/esm/drivers/sql/sql-types.d.mts.map +1 -1
  118. package/esm/errors/missing-data-source.error.d.mts +1 -1
  119. package/esm/errors/missing-data-source.error.d.mts.map +1 -1
  120. package/esm/errors/missing-data-source.error.mjs +1 -1
  121. package/esm/errors/missing-data-source.error.mjs.map +1 -1
  122. package/esm/errors/transaction-rollback.error.d.mts +1 -1
  123. package/esm/errors/transaction-rollback.error.d.mts.map +1 -1
  124. package/esm/errors/transaction-rollback.error.mjs +1 -1
  125. package/esm/errors/transaction-rollback.error.mjs.map +1 -1
  126. package/esm/errors/undefined-where-value.error.d.mts +1 -1
  127. package/esm/errors/undefined-where-value.error.d.mts.map +1 -1
  128. package/esm/errors/undefined-where-value.error.mjs +1 -1
  129. package/esm/errors/undefined-where-value.error.mjs.map +1 -1
  130. package/esm/errors/unsafe-filter.error.d.mts +1 -1
  131. package/esm/errors/unsafe-filter.error.d.mts.map +1 -1
  132. package/esm/errors/unsafe-filter.error.mjs +1 -1
  133. package/esm/errors/unsafe-filter.error.mjs.map +1 -1
  134. package/esm/errors/unsafe-raw-expression.error.d.mts +1 -1
  135. package/esm/errors/unsafe-raw-expression.error.d.mts.map +1 -1
  136. package/esm/errors/unsafe-raw-expression.error.mjs +1 -1
  137. package/esm/errors/unsafe-raw-expression.error.mjs.map +1 -1
  138. package/esm/errors/unsupported-lean-operation.error.d.mts +1 -1
  139. package/esm/errors/unsupported-lean-operation.error.d.mts.map +1 -1
  140. package/esm/errors/unsupported-lean-operation.error.mjs +1 -1
  141. package/esm/errors/unsupported-lean-operation.error.mjs.map +1 -1
  142. package/esm/errors/unsupported-lock-for-update.error.d.mts +1 -1
  143. package/esm/errors/unsupported-lock-for-update.error.d.mts.map +1 -1
  144. package/esm/errors/unsupported-lock-for-update.error.mjs +1 -1
  145. package/esm/errors/unsupported-lock-for-update.error.mjs.map +1 -1
  146. package/esm/errors/unsupported-query-operation.error.d.mts +1 -1
  147. package/esm/errors/unsupported-query-operation.error.d.mts.map +1 -1
  148. package/esm/errors/unsupported-query-operation.error.mjs +1 -1
  149. package/esm/errors/unsupported-query-operation.error.mjs.map +1 -1
  150. package/esm/errors/unsupported-update-operation.error.d.mts +1 -1
  151. package/esm/errors/unsupported-update-operation.error.d.mts.map +1 -1
  152. package/esm/errors/unsupported-update-operation.error.mjs +1 -1
  153. package/esm/errors/unsupported-update-operation.error.mjs.map +1 -1
  154. package/esm/events/model-events.d.mts +1 -1
  155. package/esm/events/model-events.d.mts.map +1 -1
  156. package/esm/events/model-events.mjs +1 -1
  157. package/esm/events/model-events.mjs.map +1 -1
  158. package/esm/expressions/aggregate-expressions.d.mts +1 -1
  159. package/esm/expressions/aggregate-expressions.d.mts.map +1 -1
  160. package/esm/expressions/aggregate-expressions.mjs +1 -1
  161. package/esm/expressions/aggregate-expressions.mjs.map +1 -1
  162. package/esm/expressions/column-expressions.d.mts +1 -1
  163. package/esm/expressions/column-expressions.d.mts.map +1 -1
  164. package/esm/expressions/column-expressions.mjs +1 -1
  165. package/esm/expressions/column-expressions.mjs.map +1 -1
  166. package/esm/migration/column-builder.d.mts +1 -1
  167. package/esm/migration/column-builder.d.mts.map +1 -1
  168. package/esm/migration/column-builder.mjs +1 -1
  169. package/esm/migration/column-builder.mjs.map +1 -1
  170. package/esm/migration/column-helpers.d.mts +1 -1
  171. package/esm/migration/column-helpers.d.mts.map +1 -1
  172. package/esm/migration/column-helpers.mjs +1 -1
  173. package/esm/migration/column-helpers.mjs.map +1 -1
  174. package/esm/migration/foreign-key-builder.d.mts +1 -1
  175. package/esm/migration/foreign-key-builder.d.mts.map +1 -1
  176. package/esm/migration/foreign-key-builder.mjs +1 -1
  177. package/esm/migration/foreign-key-builder.mjs.map +1 -1
  178. package/esm/migration/migration-order.mjs +1 -1
  179. package/esm/migration/migration-order.mjs.map +1 -1
  180. package/esm/migration/migration-runner.d.mts +1 -1
  181. package/esm/migration/migration-runner.d.mts.map +1 -1
  182. package/esm/migration/migration-runner.mjs +1 -1
  183. package/esm/migration/migration-runner.mjs.map +1 -1
  184. package/esm/migration/migration.d.mts +1 -1
  185. package/esm/migration/migration.d.mts.map +1 -1
  186. package/esm/migration/migration.mjs +1 -1
  187. package/esm/migration/migration.mjs.map +1 -1
  188. package/esm/migration/parse-created-at.mjs +1 -1
  189. package/esm/migration/parse-created-at.mjs.map +1 -1
  190. package/esm/migration/sql-grammar.mjs +1 -1
  191. package/esm/migration/sql-grammar.mjs.map +1 -1
  192. package/esm/migration/sql-serializer.d.mts +1 -1
  193. package/esm/migration/sql-serializer.d.mts.map +1 -1
  194. package/esm/migration/sql-serializer.mjs +1 -1
  195. package/esm/migration/sql-serializer.mjs.map +1 -1
  196. package/esm/migration/types.d.mts +1 -1
  197. package/esm/migration/types.d.mts.map +1 -1
  198. package/esm/model/generate-model-id.mjs +1 -1
  199. package/esm/model/generate-model-id.mjs.map +1 -1
  200. package/esm/model/methods/accessor-methods.mjs +1 -1
  201. package/esm/model/methods/accessor-methods.mjs.map +1 -1
  202. package/esm/model/methods/delete-methods.mjs +1 -1
  203. package/esm/model/methods/delete-methods.mjs.map +1 -1
  204. package/esm/model/methods/dirty-methods.mjs +1 -1
  205. package/esm/model/methods/dirty-methods.mjs.map +1 -1
  206. package/esm/model/methods/hydration-methods.mjs +1 -1
  207. package/esm/model/methods/hydration-methods.mjs.map +1 -1
  208. package/esm/model/methods/instance-event-methods.mjs +1 -1
  209. package/esm/model/methods/instance-event-methods.mjs.map +1 -1
  210. package/esm/model/methods/meta-methods.mjs +1 -1
  211. package/esm/model/methods/meta-methods.mjs.map +1 -1
  212. package/esm/model/methods/pivot-methods.mjs +1 -1
  213. package/esm/model/methods/pivot-methods.mjs.map +1 -1
  214. package/esm/model/methods/query-methods.mjs +1 -1
  215. package/esm/model/methods/query-methods.mjs.map +1 -1
  216. package/esm/model/methods/restore-methods.mjs +1 -1
  217. package/esm/model/methods/restore-methods.mjs.map +1 -1
  218. package/esm/model/methods/scope-methods.mjs +1 -1
  219. package/esm/model/methods/scope-methods.mjs.map +1 -1
  220. package/esm/model/methods/serialization-methods.mjs +1 -1
  221. package/esm/model/methods/serialization-methods.mjs.map +1 -1
  222. package/esm/model/methods/static-event-methods.mjs +1 -1
  223. package/esm/model/methods/static-event-methods.mjs.map +1 -1
  224. package/esm/model/methods/write-methods.d.mts +1 -1
  225. package/esm/model/methods/write-methods.d.mts.map +1 -1
  226. package/esm/model/methods/write-methods.mjs +1 -1
  227. package/esm/model/methods/write-methods.mjs.map +1 -1
  228. package/esm/model/model.d.mts +1 -1
  229. package/esm/model/model.d.mts.map +1 -1
  230. package/esm/model/model.mjs +1 -1
  231. package/esm/model/model.mjs.map +1 -1
  232. package/esm/model/model.types.d.mts +1 -1
  233. package/esm/model/model.types.d.mts.map +1 -1
  234. package/esm/model/register-model.d.mts +1 -1
  235. package/esm/model/register-model.d.mts.map +1 -1
  236. package/esm/model/register-model.mjs +1 -1
  237. package/esm/model/register-model.mjs.map +1 -1
  238. package/esm/model/relation-decorators.d.mts +1 -1
  239. package/esm/model/relation-decorators.d.mts.map +1 -1
  240. package/esm/model/relation-decorators.mjs +1 -1
  241. package/esm/model/relation-decorators.mjs.map +1 -1
  242. package/esm/operations/database.d.mts +1 -1
  243. package/esm/operations/database.d.mts.map +1 -1
  244. package/esm/operations/database.mjs +1 -1
  245. package/esm/operations/database.mjs.map +1 -1
  246. package/esm/operations/migrations.d.mts +1 -1
  247. package/esm/operations/migrations.d.mts.map +1 -1
  248. package/esm/operations/migrations.mjs +1 -1
  249. package/esm/operations/migrations.mjs.map +1 -1
  250. package/esm/query-builder/lean-records.mjs +1 -1
  251. package/esm/query-builder/lean-records.mjs.map +1 -1
  252. package/esm/query-builder/query-builder.d.mts +1 -1
  253. package/esm/query-builder/query-builder.d.mts.map +1 -1
  254. package/esm/query-builder/query-builder.mjs +1 -1
  255. package/esm/query-builder/query-builder.mjs.map +1 -1
  256. package/esm/relations/key-conventions.mjs +1 -1
  257. package/esm/relations/key-conventions.mjs.map +1 -1
  258. package/esm/relations/pivot-operations.d.mts +1 -1
  259. package/esm/relations/pivot-operations.d.mts.map +1 -1
  260. package/esm/relations/pivot-operations.mjs +1 -1
  261. package/esm/relations/pivot-operations.mjs.map +1 -1
  262. package/esm/relations/relation-hydrator.d.mts +1 -1
  263. package/esm/relations/relation-hydrator.d.mts.map +1 -1
  264. package/esm/relations/relation-hydrator.mjs +1 -1
  265. package/esm/relations/relation-hydrator.mjs.map +1 -1
  266. package/esm/relations/relation-loader.d.mts +1 -1
  267. package/esm/relations/relation-loader.d.mts.map +1 -1
  268. package/esm/relations/relation-loader.mjs +1 -1
  269. package/esm/relations/relation-loader.mjs.map +1 -1
  270. package/esm/relations/types.d.mts +1 -1
  271. package/esm/relations/types.d.mts.map +1 -1
  272. package/esm/remover/database-remover.d.mts +1 -1
  273. package/esm/remover/database-remover.d.mts.map +1 -1
  274. package/esm/remover/database-remover.mjs +1 -1
  275. package/esm/remover/database-remover.mjs.map +1 -1
  276. package/esm/restorer/database-restorer.d.mts +1 -1
  277. package/esm/restorer/database-restorer.d.mts.map +1 -1
  278. package/esm/restorer/database-restorer.mjs +1 -1
  279. package/esm/restorer/database-restorer.mjs.map +1 -1
  280. package/esm/sql-database-dirty-tracker.d.mts +1 -1
  281. package/esm/sql-database-dirty-tracker.d.mts.map +1 -1
  282. package/esm/sql-database-dirty-tracker.mjs +1 -1
  283. package/esm/sql-database-dirty-tracker.mjs.map +1 -1
  284. package/esm/sync/model-events.mjs +1 -1
  285. package/esm/sync/model-events.mjs.map +1 -1
  286. package/esm/sync/model-sync-operation.d.mts +1 -1
  287. package/esm/sync/model-sync-operation.d.mts.map +1 -1
  288. package/esm/sync/model-sync-operation.mjs +1 -1
  289. package/esm/sync/model-sync-operation.mjs.map +1 -1
  290. package/esm/sync/model-sync.d.mts +1 -1
  291. package/esm/sync/model-sync.d.mts.map +1 -1
  292. package/esm/sync/model-sync.mjs +1 -1
  293. package/esm/sync/model-sync.mjs.map +1 -1
  294. package/esm/sync/sync-context.d.mts +1 -1
  295. package/esm/sync/sync-context.d.mts.map +1 -1
  296. package/esm/sync/sync-context.mjs +1 -1
  297. package/esm/sync/sync-context.mjs.map +1 -1
  298. package/esm/sync/sync-fanout.mjs +1 -1
  299. package/esm/sync/sync-fanout.mjs.map +1 -1
  300. package/esm/sync/sync-manager.d.mts +1 -1
  301. package/esm/sync/sync-manager.d.mts.map +1 -1
  302. package/esm/sync/sync-manager.mjs +1 -1
  303. package/esm/sync/sync-manager.mjs.map +1 -1
  304. package/esm/sync/types.d.mts +1 -1
  305. package/esm/sync/types.d.mts.map +1 -1
  306. package/esm/transactions/after-commit.d.mts +1 -1
  307. package/esm/transactions/after-commit.d.mts.map +1 -1
  308. package/esm/transactions/after-commit.mjs +1 -1
  309. package/esm/transactions/after-commit.mjs.map +1 -1
  310. package/esm/types.d.mts +1 -1
  311. package/esm/types.d.mts.map +1 -1
  312. package/esm/utils/connect-to-database.d.mts +1 -1
  313. package/esm/utils/connect-to-database.d.mts.map +1 -1
  314. package/esm/utils/connect-to-database.mjs +1 -1
  315. package/esm/utils/connect-to-database.mjs.map +1 -1
  316. package/esm/utils/database-writer.utils.d.mts +1 -1
  317. package/esm/utils/database-writer.utils.d.mts.map +1 -1
  318. package/esm/utils/database-writer.utils.mjs +1 -1
  319. package/esm/utils/database-writer.utils.mjs.map +1 -1
  320. package/esm/utils/define-model.d.mts +1 -1
  321. package/esm/utils/define-model.d.mts.map +1 -1
  322. package/esm/utils/define-model.mjs +1 -1
  323. package/esm/utils/define-model.mjs.map +1 -1
  324. package/esm/utils/escape-regex.d.mts +1 -1
  325. package/esm/utils/escape-regex.d.mts.map +1 -1
  326. package/esm/utils/escape-regex.mjs +1 -1
  327. package/esm/utils/escape-regex.mjs.map +1 -1
  328. package/esm/utils/is-valid-date-value.mjs +1 -1
  329. package/esm/utils/is-valid-date-value.mjs.map +1 -1
  330. package/esm/utils/once-connected.d.mts +1 -1
  331. package/esm/utils/once-connected.d.mts.map +1 -1
  332. package/esm/utils/once-connected.mjs +1 -1
  333. package/esm/utils/once-connected.mjs.map +1 -1
  334. package/esm/utils/prune-empty-parents.mjs +1 -1
  335. package/esm/utils/prune-empty-parents.mjs.map +1 -1
  336. package/esm/utils/sanitize-filter.d.mts +1 -1
  337. package/esm/utils/sanitize-filter.d.mts.map +1 -1
  338. package/esm/utils/sanitize-filter.mjs +1 -1
  339. package/esm/utils/sanitize-filter.mjs.map +1 -1
  340. package/esm/validation/database-seal-plugins.mjs +1 -1
  341. package/esm/validation/database-seal-plugins.mjs.map +1 -1
  342. package/esm/validation/database-writer-validation-error.d.mts +1 -1
  343. package/esm/validation/database-writer-validation-error.d.mts.map +1 -1
  344. package/esm/validation/database-writer-validation-error.mjs +1 -1
  345. package/esm/validation/database-writer-validation-error.mjs.map +1 -1
  346. package/esm/validation/mutators/embed-mutator.mjs +1 -1
  347. package/esm/validation/mutators/embed-mutator.mjs.map +1 -1
  348. package/esm/validation/plugins/database-rules-plugin.d.mts +1 -1
  349. package/esm/validation/plugins/database-rules-plugin.d.mts.map +1 -1
  350. package/esm/validation/plugins/database-rules-plugin.mjs +1 -1
  351. package/esm/validation/plugins/database-rules-plugin.mjs.map +1 -1
  352. package/esm/validation/plugins/embed-validator-plugin.d.mts +1 -1
  353. package/esm/validation/plugins/embed-validator-plugin.d.mts.map +1 -1
  354. package/esm/validation/plugins/embed-validator-plugin.mjs +1 -1
  355. package/esm/validation/plugins/embed-validator-plugin.mjs.map +1 -1
  356. package/esm/validation/rules/database-model-rule.mjs +1 -1
  357. package/esm/validation/rules/database-model-rule.mjs.map +1 -1
  358. package/esm/validation/rules/exists-rule.mjs +1 -1
  359. package/esm/validation/rules/exists-rule.mjs.map +1 -1
  360. package/esm/validation/rules/unique-rule.mjs +1 -1
  361. package/esm/validation/rules/unique-rule.mjs.map +1 -1
  362. package/esm/validation/transformers/embed-model-transformer.mjs +1 -1
  363. package/esm/validation/transformers/embed-model-transformer.mjs.map +1 -1
  364. package/esm/validation/types.d.mts +1 -1
  365. package/esm/validation/types.d.mts.map +1 -1
  366. package/esm/validation/validators/embed-validator.d.mts +1 -1
  367. package/esm/validation/validators/embed-validator.d.mts.map +1 -1
  368. package/esm/validation/validators/embed-validator.mjs +1 -1
  369. package/esm/validation/validators/embed-validator.mjs.map +1 -1
  370. package/esm/writer/database-writer.d.mts +1 -1
  371. package/esm/writer/database-writer.d.mts.map +1 -1
  372. package/esm/writer/database-writer.mjs +1 -1
  373. package/esm/writer/database-writer.mjs.map +1 -1
  374. package/package.json +7 -6
@@ -1,6 +1,6 @@
1
1
  import { capitalize } from "@mongez/reinforcements";
2
2
 
3
- //#region ../cascade/src/model/relation-decorators.ts
3
+ //#region ../../packages/cascade/src/model/relation-decorators.ts
4
4
  /**
5
5
  * @fileoverview TC39 Stage 3 class field decorators for declaring model
6
6
  * relations directly on the field.
@@ -1 +1 @@
1
- {"version":3,"file":"relation-decorators.mjs","names":[],"sources":["../../../../../../../cascade/src/model/relation-decorators.ts"],"sourcesContent":["/**\n * @fileoverview TC39 Stage 3 class field decorators for declaring model\n * relations directly on the field.\n *\n * Replaces the legacy `static relations = { name: hasMany(\"Foo\") }` shape\n * with co-located, single-declaration syntax:\n *\n * @example\n * ```ts\n * @RegisterModel()\n * class User extends Model {\n * @BelongsTo(\"Organization\") organization?: Organization;\n * @HasOne(\"Profile\") profile?: Profile;\n * @HasMany(\"Post\") posts?: Post[];\n * @BelongsToMany(\"Group\") groups?: Group[];\n * }\n * ```\n *\n * Foreign keys, local keys, and pivot tables are inferred from model names\n * via the convention helpers in `relations/key-conventions.ts`. Inline\n * options on the decorator override the conventions per relation.\n *\n * @module @warlock.js/cascade/model/relation-decorators\n */\n\nimport { capitalize, type Lazy } from \"@mongez/reinforcements\";\nimport type {\n BelongsToManyOptions,\n BelongsToOptions,\n HasManyOptions,\n HasOneOptions,\n RelationDefinition,\n RelationType,\n} from \"../relations/types\";\nimport type { ChildModel, Model } from \"./model\";\n\n// ============================================================================\n// INTERNAL — REGISTRATION\n// ============================================================================\n\n/**\n * Type-erased options bag — each relation type accepts a different subset\n * but the registration helper treats them uniformly.\n */\ntype AnyRelationOptions =\n | (BelongsToOptions & { localKey?: string; pivot?: string })\n | HasManyOptions\n | HasOneOptions\n | BelongsToManyOptions;\n\n/**\n * Map raw decorator inputs into a `RelationDefinition` of the canonical\n * shape consumed by the relation loader, pivot operations, etc.\n *\n * Note: foreign-key / pivot-table defaults are NOT resolved here — they\n * live on each runtime resolution path (`RelationLoader`, `PivotOperations`,\n * the postgres query builder) and read from `key-conventions.ts`. Recording\n * `undefined` here keeps a single source of truth for the inference logic.\n */\nfunction buildRelationDefinition(\n type: RelationType,\n model: string | ChildModel<Model> | Lazy<unknown>,\n options?: AnyRelationOptions,\n): RelationDefinition {\n // BelongsTo stores its \"owner key\" in the shared `localKey` slot. Other\n // types just pass `localKey` through.\n const localKey =\n type === \"belongsTo\"\n ? (options as BelongsToOptions)?.ownerKey\n : (options as HasManyOptions)?.localKey;\n\n return {\n type,\n model,\n foreignKey: options?.foreignKey,\n localKey,\n pivot: (options as BelongsToManyOptions)?.pivot,\n pivotLocalKey: (options as BelongsToManyOptions)?.pivotLocalKey,\n pivotForeignKey: (options as BelongsToManyOptions)?.pivotForeignKey,\n select: options?.select,\n };\n}\n\n/**\n * Stash a relation definition into the class-level decorator metadata bag.\n *\n * **Why metadata, not addInitializer?** `context.addInitializer` on a\n * *field* decorator fires per-instance, not per-class — so it only runs\n * when `new ModelClass(...)` is called. Class-level operations like\n * `Organization.withCount(\"users\")` never construct instances, which means\n * an initializer-based registration would leave `Organization.relations`\n * permanently empty.\n *\n * TC39 stage 3 `context.metadata` is the right tool: a shared object across\n * every decorator on the same class declaration. Field decorators write\n * into it during decoration; `@RegisterModel` (a class decorator that runs\n * AFTER all field decorators) reads it back and copies the relations onto\n * the class's static `relations` map.\n *\n * The metadata object also prototype-chains to the parent class's metadata\n * (per spec), so a subclass naturally inherits its parent's relations.\n */\nfunction stashRelationInMetadata(\n metadata: DecoratorMetadataObject,\n relationName: string,\n definition: RelationDefinition,\n): void {\n let relations = metadata[RELATION_METADATA_KEY] as Record<string, RelationDefinition> | undefined;\n\n // Promote inherited relations to an own property before mutating, so\n // writing on the subclass doesn't leak into the parent's bag.\n if (!Object.prototype.hasOwnProperty.call(metadata, RELATION_METADATA_KEY)) {\n relations = { ...(relations ?? {}) };\n metadata[RELATION_METADATA_KEY] = relations;\n }\n\n relations![relationName] = definition;\n}\n\n/**\n * Key used to stash relation definitions on the decorator metadata object.\n * Exported so `@RegisterModel` (in `register-model.ts`) can read it back.\n */\nexport const RELATION_METADATA_KEY = Symbol.for(\"@warlock.js/cascade:relations\");\n\n// ============================================================================\n// INTERNAL — DECORATOR FACTORY\n// ============================================================================\n\n/**\n * Builds a TC39 stage 3 class-field decorator that registers a relation\n * of the given `type`. Each public decorator (`@BelongsTo`, `@HasMany`,\n * etc.) is a thin specialisation of this factory.\n */\nfunction makeRelationDecorator<Options extends AnyRelationOptions | undefined>(type: RelationType) {\n return function (\n modelRelation: string | ChildModel<Model> | Lazy<unknown>,\n options?: Options | string,\n ) {\n return function <This>(_value: undefined, context: ClassFieldDecoratorContext<This>): void {\n if (context.kind !== \"field\") {\n throw new Error(\n `@${capitalize(type)} can only be applied to class fields — got \"${context.kind}\".`,\n );\n }\n\n const relationName = String(context.name);\n const resolvedOptions = resolveOptions(options);\n const definition = buildRelationDefinition(type, modelRelation, resolvedOptions);\n\n if (context.metadata) {\n stashRelationInMetadata(context.metadata, relationName, definition);\n }\n };\n };\n}\n\n/**\n * Normalise the decorator's second argument.\n *\n * Accepts three shapes:\n * - Omitted (`undefined`): all defaults come from the runtime convention\n * helpers (`inferBelongsToForeignKey`, `inferHasForeignKey`, …) per\n * relation type. We must NOT pre-fill `foreignKey` here — the right\n * convention depends on the relation type AND the *owner* model name,\n * which the decorator doesn't know.\n * - String: shorthand for `{ foreignKey: <string> }`, matching the legacy\n * `belongsTo(\"Foo\", \"fk_col\")` helper.\n * - Object: passed through as-is.\n */\nfunction resolveOptions(\n options: AnyRelationOptions | string | undefined,\n): AnyRelationOptions | undefined {\n if (typeof options === \"string\") {\n return { foreignKey: options } as AnyRelationOptions;\n }\n\n return options;\n}\n\n// ============================================================================\n// PUBLIC — RELATION DECORATORS\n// ============================================================================\n\n/**\n * Declares a `belongsTo` relation on a model field.\n *\n * The foreign key lives on **this** model and points at the related\n * model's primary key. Defaults: FK column inferred as `{relationName}_id`\n * (snake-cased) — e.g. `organization_id` for `organization?: Organization`.\n *\n * @param model - The related model, in any of three forms:\n * - `\"User\"` — registered name (requires `@RegisterModel()` on target).\n * - `User` — direct class reference (cleanest for non-cycle relations).\n * - `lazy(() => User)` — typed but cycle-safe (use when the two model\n * files import each other).\n * @param options - Inline overrides for FK / owner key / column select\n *\n * @example\n * ```ts\n * import { lazy } from \"@mongez/reinforcements\";\n *\n * class User extends Model {\n * @BelongsTo(Organization) public organization?: Organization;\n * @BelongsTo(\"User\", { foreignKey: \"manager_id\" }) public manager?: User;\n * @BelongsTo(lazy(() => Team)) public team?: Team; // cycle case\n * }\n * ```\n */\nexport const BelongsTo = makeRelationDecorator<BelongsToOptions>(\"belongsTo\");\n\n/**\n * Declares a `hasOne` relation on a model field.\n *\n * The foreign key lives on the **related** model and points back at this\n * model's primary key. Defaults: FK column inferred as\n * `{thisModelSnakeName}_id` (e.g. `user_id` on the `Profile` table).\n *\n * @example\n * ```ts\n * class User extends Model {\n * @HasOne(\"Profile\") profile?: Profile;\n * @HasOne(\"UserSettings\", { foreignKey: \"owner_id\" }) settings?: UserSettings;\n * }\n * ```\n */\nexport const HasOne = makeRelationDecorator<HasOneOptions>(\"hasOne\");\n\n/**\n * Declares a `hasMany` relation on a model field.\n *\n * Same shape as `@HasOne` but loads an array. The foreign key lives on\n * the related model. Defaults: FK column inferred as\n * `{thisModelSnakeName}_id`.\n *\n * @example\n * ```ts\n * class User extends Model {\n * @HasMany(\"Post\") posts?: Post[];\n * @HasMany(\"Comment\", { foreignKey: \"author_id\" }) comments?: Comment[];\n * }\n * ```\n */\nexport const HasMany = makeRelationDecorator<HasManyOptions>(\"hasMany\");\n\n/**\n * Declares a `belongsToMany` relation on a model field.\n *\n * Defaults: pivot table inferred as the alphabetical snake-case join of\n * the two model names (`Post` + `Tag` → `post_tag`); pivot columns\n * inferred as `{modelSnakeName}_id` on each side.\n *\n * @example\n * ```ts\n * class Post extends Model {\n * @BelongsToMany(\"Tag\") tags?: Tag[];\n * @BelongsToMany(\"User\", { pivot: \"post_collaborators\" }) collaborators?: User[];\n * }\n * ```\n */\nexport const BelongsToMany = makeRelationDecorator<BelongsToManyOptions>(\"belongsToMany\");\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,SAAS,wBACP,MACA,OACA,SACoB;CAGpB,MAAM,WACJ,SAAS,cACJ,SAA8B,WAC9B,SAA4B;CAEnC,OAAO;EACL;EACA;EACA,YAAY,SAAS;EACrB;EACA,OAAQ,SAAkC;EAC1C,eAAgB,SAAkC;EAClD,iBAAkB,SAAkC;EACpD,QAAQ,SAAS;CACnB;AACF;;;;;;;;;;;;;;;;;;;;AAqBA,SAAS,wBACP,UACA,cACA,YACM;CACN,IAAI,YAAY,SAAS;CAIzB,IAAI,CAAC,OAAO,UAAU,eAAe,KAAK,UAAU,qBAAqB,GAAG;EAC1E,YAAY,EAAE,GAAI,aAAa,CAAC,EAAG;EACnC,SAAS,yBAAyB;CACpC;CAEA,UAAW,gBAAgB;AAC7B;;;;;AAMA,MAAa,wBAAwB,OAAO,IAAI,+BAA+B;;;;;;AAW/E,SAAS,sBAAsE,MAAoB;CACjG,OAAO,SACL,eACA,SACA;EACA,OAAO,SAAgB,QAAmB,SAAiD;GACzF,IAAI,QAAQ,SAAS,SACnB,MAAM,IAAI,MACR,IAAI,WAAW,IAAI,EAAE,8CAA8C,QAAQ,KAAK,GAClF;GAGF,MAAM,eAAe,OAAO,QAAQ,IAAI;GAExC,MAAM,aAAa,wBAAwB,MAAM,eADzB,eAAe,OACuC,CAAC;GAE/E,IAAI,QAAQ,UACV,wBAAwB,QAAQ,UAAU,cAAc,UAAU;EAEtE;CACF;AACF;;;;;;;;;;;;;;AAeA,SAAS,eACP,SACgC;CAChC,IAAI,OAAO,YAAY,UACrB,OAAO,EAAE,YAAY,QAAQ;CAG/B,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAa,YAAY,sBAAwC,WAAW;;;;;;;;;;;;;;;;AAiB5E,MAAa,SAAS,sBAAqC,QAAQ;;;;;;;;;;;;;;;;AAiBnE,MAAa,UAAU,sBAAsC,SAAS;;;;;;;;;;;;;;;;AAiBtE,MAAa,gBAAgB,sBAA4C,eAAe"}
1
+ {"version":3,"file":"relation-decorators.mjs","names":[],"sources":["../../../../../../../../packages/cascade/src/model/relation-decorators.ts"],"sourcesContent":["/**\n * @fileoverview TC39 Stage 3 class field decorators for declaring model\n * relations directly on the field.\n *\n * Replaces the legacy `static relations = { name: hasMany(\"Foo\") }` shape\n * with co-located, single-declaration syntax:\n *\n * @example\n * ```ts\n * @RegisterModel()\n * class User extends Model {\n * @BelongsTo(\"Organization\") organization?: Organization;\n * @HasOne(\"Profile\") profile?: Profile;\n * @HasMany(\"Post\") posts?: Post[];\n * @BelongsToMany(\"Group\") groups?: Group[];\n * }\n * ```\n *\n * Foreign keys, local keys, and pivot tables are inferred from model names\n * via the convention helpers in `relations/key-conventions.ts`. Inline\n * options on the decorator override the conventions per relation.\n *\n * @module @warlock.js/cascade/model/relation-decorators\n */\n\nimport { capitalize, type Lazy } from \"@mongez/reinforcements\";\nimport type {\n BelongsToManyOptions,\n BelongsToOptions,\n HasManyOptions,\n HasOneOptions,\n RelationDefinition,\n RelationType,\n} from \"../relations/types\";\nimport type { ChildModel, Model } from \"./model\";\n\n// ============================================================================\n// INTERNAL — REGISTRATION\n// ============================================================================\n\n/**\n * Type-erased options bag — each relation type accepts a different subset\n * but the registration helper treats them uniformly.\n */\ntype AnyRelationOptions =\n | (BelongsToOptions & { localKey?: string; pivot?: string })\n | HasManyOptions\n | HasOneOptions\n | BelongsToManyOptions;\n\n/**\n * Map raw decorator inputs into a `RelationDefinition` of the canonical\n * shape consumed by the relation loader, pivot operations, etc.\n *\n * Note: foreign-key / pivot-table defaults are NOT resolved here — they\n * live on each runtime resolution path (`RelationLoader`, `PivotOperations`,\n * the postgres query builder) and read from `key-conventions.ts`. Recording\n * `undefined` here keeps a single source of truth for the inference logic.\n */\nfunction buildRelationDefinition(\n type: RelationType,\n model: string | ChildModel<Model> | Lazy<unknown>,\n options?: AnyRelationOptions,\n): RelationDefinition {\n // BelongsTo stores its \"owner key\" in the shared `localKey` slot. Other\n // types just pass `localKey` through.\n const localKey =\n type === \"belongsTo\"\n ? (options as BelongsToOptions)?.ownerKey\n : (options as HasManyOptions)?.localKey;\n\n return {\n type,\n model,\n foreignKey: options?.foreignKey,\n localKey,\n pivot: (options as BelongsToManyOptions)?.pivot,\n pivotLocalKey: (options as BelongsToManyOptions)?.pivotLocalKey,\n pivotForeignKey: (options as BelongsToManyOptions)?.pivotForeignKey,\n select: options?.select,\n };\n}\n\n/**\n * Stash a relation definition into the class-level decorator metadata bag.\n *\n * **Why metadata, not addInitializer?** `context.addInitializer` on a\n * *field* decorator fires per-instance, not per-class — so it only runs\n * when `new ModelClass(...)` is called. Class-level operations like\n * `Organization.withCount(\"users\")` never construct instances, which means\n * an initializer-based registration would leave `Organization.relations`\n * permanently empty.\n *\n * TC39 stage 3 `context.metadata` is the right tool: a shared object across\n * every decorator on the same class declaration. Field decorators write\n * into it during decoration; `@RegisterModel` (a class decorator that runs\n * AFTER all field decorators) reads it back and copies the relations onto\n * the class's static `relations` map.\n *\n * The metadata object also prototype-chains to the parent class's metadata\n * (per spec), so a subclass naturally inherits its parent's relations.\n */\nfunction stashRelationInMetadata(\n metadata: DecoratorMetadataObject,\n relationName: string,\n definition: RelationDefinition,\n): void {\n let relations = metadata[RELATION_METADATA_KEY] as Record<string, RelationDefinition> | undefined;\n\n // Promote inherited relations to an own property before mutating, so\n // writing on the subclass doesn't leak into the parent's bag.\n if (!Object.prototype.hasOwnProperty.call(metadata, RELATION_METADATA_KEY)) {\n relations = { ...(relations ?? {}) };\n metadata[RELATION_METADATA_KEY] = relations;\n }\n\n relations![relationName] = definition;\n}\n\n/**\n * Key used to stash relation definitions on the decorator metadata object.\n * Exported so `@RegisterModel` (in `register-model.ts`) can read it back.\n */\nexport const RELATION_METADATA_KEY = Symbol.for(\"@warlock.js/cascade:relations\");\n\n// ============================================================================\n// INTERNAL — DECORATOR FACTORY\n// ============================================================================\n\n/**\n * Builds a TC39 stage 3 class-field decorator that registers a relation\n * of the given `type`. Each public decorator (`@BelongsTo`, `@HasMany`,\n * etc.) is a thin specialisation of this factory.\n */\nfunction makeRelationDecorator<Options extends AnyRelationOptions | undefined>(type: RelationType) {\n return function (\n modelRelation: string | ChildModel<Model> | Lazy<unknown>,\n options?: Options | string,\n ) {\n return function <This>(_value: undefined, context: ClassFieldDecoratorContext<This>): void {\n if (context.kind !== \"field\") {\n throw new Error(\n `@${capitalize(type)} can only be applied to class fields — got \"${context.kind}\".`,\n );\n }\n\n const relationName = String(context.name);\n const resolvedOptions = resolveOptions(options);\n const definition = buildRelationDefinition(type, modelRelation, resolvedOptions);\n\n if (context.metadata) {\n stashRelationInMetadata(context.metadata, relationName, definition);\n }\n };\n };\n}\n\n/**\n * Normalise the decorator's second argument.\n *\n * Accepts three shapes:\n * - Omitted (`undefined`): all defaults come from the runtime convention\n * helpers (`inferBelongsToForeignKey`, `inferHasForeignKey`, …) per\n * relation type. We must NOT pre-fill `foreignKey` here — the right\n * convention depends on the relation type AND the *owner* model name,\n * which the decorator doesn't know.\n * - String: shorthand for `{ foreignKey: <string> }`, matching the legacy\n * `belongsTo(\"Foo\", \"fk_col\")` helper.\n * - Object: passed through as-is.\n */\nfunction resolveOptions(\n options: AnyRelationOptions | string | undefined,\n): AnyRelationOptions | undefined {\n if (typeof options === \"string\") {\n return { foreignKey: options } as AnyRelationOptions;\n }\n\n return options;\n}\n\n// ============================================================================\n// PUBLIC — RELATION DECORATORS\n// ============================================================================\n\n/**\n * Declares a `belongsTo` relation on a model field.\n *\n * The foreign key lives on **this** model and points at the related\n * model's primary key. Defaults: FK column inferred as `{relationName}_id`\n * (snake-cased) — e.g. `organization_id` for `organization?: Organization`.\n *\n * @param model - The related model, in any of three forms:\n * - `\"User\"` — registered name (requires `@RegisterModel()` on target).\n * - `User` — direct class reference (cleanest for non-cycle relations).\n * - `lazy(() => User)` — typed but cycle-safe (use when the two model\n * files import each other).\n * @param options - Inline overrides for FK / owner key / column select\n *\n * @example\n * ```ts\n * import { lazy } from \"@mongez/reinforcements\";\n *\n * class User extends Model {\n * @BelongsTo(Organization) public organization?: Organization;\n * @BelongsTo(\"User\", { foreignKey: \"manager_id\" }) public manager?: User;\n * @BelongsTo(lazy(() => Team)) public team?: Team; // cycle case\n * }\n * ```\n */\nexport const BelongsTo = makeRelationDecorator<BelongsToOptions>(\"belongsTo\");\n\n/**\n * Declares a `hasOne` relation on a model field.\n *\n * The foreign key lives on the **related** model and points back at this\n * model's primary key. Defaults: FK column inferred as\n * `{thisModelSnakeName}_id` (e.g. `user_id` on the `Profile` table).\n *\n * @example\n * ```ts\n * class User extends Model {\n * @HasOne(\"Profile\") profile?: Profile;\n * @HasOne(\"UserSettings\", { foreignKey: \"owner_id\" }) settings?: UserSettings;\n * }\n * ```\n */\nexport const HasOne = makeRelationDecorator<HasOneOptions>(\"hasOne\");\n\n/**\n * Declares a `hasMany` relation on a model field.\n *\n * Same shape as `@HasOne` but loads an array. The foreign key lives on\n * the related model. Defaults: FK column inferred as\n * `{thisModelSnakeName}_id`.\n *\n * @example\n * ```ts\n * class User extends Model {\n * @HasMany(\"Post\") posts?: Post[];\n * @HasMany(\"Comment\", { foreignKey: \"author_id\" }) comments?: Comment[];\n * }\n * ```\n */\nexport const HasMany = makeRelationDecorator<HasManyOptions>(\"hasMany\");\n\n/**\n * Declares a `belongsToMany` relation on a model field.\n *\n * Defaults: pivot table inferred as the alphabetical snake-case join of\n * the two model names (`Post` + `Tag` → `post_tag`); pivot columns\n * inferred as `{modelSnakeName}_id` on each side.\n *\n * @example\n * ```ts\n * class Post extends Model {\n * @BelongsToMany(\"Tag\") tags?: Tag[];\n * @BelongsToMany(\"User\", { pivot: \"post_collaborators\" }) collaborators?: User[];\n * }\n * ```\n */\nexport const BelongsToMany = makeRelationDecorator<BelongsToManyOptions>(\"belongsToMany\");\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,SAAS,wBACP,MACA,OACA,SACoB;CAGpB,MAAM,WACJ,SAAS,cACJ,SAA8B,WAC9B,SAA4B;CAEnC,OAAO;EACL;EACA;EACA,YAAY,SAAS;EACrB;EACA,OAAQ,SAAkC;EAC1C,eAAgB,SAAkC;EAClD,iBAAkB,SAAkC;EACpD,QAAQ,SAAS;CACnB;AACF;;;;;;;;;;;;;;;;;;;;AAqBA,SAAS,wBACP,UACA,cACA,YACM;CACN,IAAI,YAAY,SAAS;CAIzB,IAAI,CAAC,OAAO,UAAU,eAAe,KAAK,UAAU,qBAAqB,GAAG;EAC1E,YAAY,EAAE,GAAI,aAAa,CAAC,EAAG;EACnC,SAAS,yBAAyB;CACpC;CAEA,UAAW,gBAAgB;AAC7B;;;;;AAMA,MAAa,wBAAwB,OAAO,IAAI,+BAA+B;;;;;;AAW/E,SAAS,sBAAsE,MAAoB;CACjG,OAAO,SACL,eACA,SACA;EACA,OAAO,SAAgB,QAAmB,SAAiD;GACzF,IAAI,QAAQ,SAAS,SACnB,MAAM,IAAI,MACR,IAAI,WAAW,IAAI,EAAE,8CAA8C,QAAQ,KAAK,GAClF;GAGF,MAAM,eAAe,OAAO,QAAQ,IAAI;GAExC,MAAM,aAAa,wBAAwB,MAAM,eADzB,eAAe,OACuC,CAAC;GAE/E,IAAI,QAAQ,UACV,wBAAwB,QAAQ,UAAU,cAAc,UAAU;EAEtE;CACF;AACF;;;;;;;;;;;;;;AAeA,SAAS,eACP,SACgC;CAChC,IAAI,OAAO,YAAY,UACrB,OAAO,EAAE,YAAY,QAAQ;CAG/B,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAa,YAAY,sBAAwC,WAAW;;;;;;;;;;;;;;;;AAiB5E,MAAa,SAAS,sBAAqC,QAAQ;;;;;;;;;;;;;;;;AAiBnE,MAAa,UAAU,sBAAsC,SAAS;;;;;;;;;;;;;;;;AAiBtE,MAAa,gBAAgB,sBAA4C,eAAe"}
@@ -1,4 +1,4 @@
1
- //#region ../cascade/src/operations/database.d.ts
1
+ //#region ../../packages/cascade/src/operations/database.d.ts
2
2
  /**
3
3
  * Selects which data source the operation runs against. Shared between every
4
4
  * function in this module — kept internal because it carries no semantic
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.mts","names":[],"sources":["../../../../../../../cascade/src/operations/database.ts"],"mappings":";;;;;;KAOK,kBAAA;EAQO,mFAND,UAAU;AAAA;;AAUN;AAMf;KAVY,oBAAA;kFAED,OAAA,WAYO;EAAA,SAVP,IAAI;AAAA;;;;KAMH,mBAAA;EAmBF,uFAjBC,MAAA,YAeT;EAAA,SAbS,OAAO;AAAA;;;;AAea;AAgB/B;;;;;iBAnBsB,cAAA,CACpB,IAAA,UACA,OAAA,GAAS,kBAAA,GACR,OAAA,CAAQ,oBAAA;;;;;;;;AAkBmB;;iBAFR,aAAA,CACpB,OAAA,GAAS,kBAAA,GACR,OAAA,CAAQ,mBAAA"}
1
+ {"version":3,"file":"database.d.mts","names":[],"sources":["../../../../../../../../packages/cascade/src/operations/database.ts"],"mappings":";;;;;;KAOK,kBAAA;EAQO,mFAND,UAAU;AAAA;;AAUN;AAMf;KAVY,oBAAA;kFAED,OAAA,WAYO;EAAA,SAVP,IAAI;AAAA;;;;KAMH,mBAAA;EAmBF,uFAjBC,MAAA,YAeT;EAAA,SAbS,OAAO;AAAA;;;;AAea;AAgB/B;;;;;iBAnBsB,cAAA,CACpB,IAAA,UACA,OAAA,GAAS,kBAAA,GACR,OAAA,CAAQ,oBAAA;;;;;;;;AAkBmB;;iBAFR,aAAA,CACpB,OAAA,GAAS,kBAAA,GACR,OAAA,CAAQ,mBAAA"}
@@ -1,6 +1,6 @@
1
1
  import { dataSourceRegistry } from "../data-source/data-source-registry.mjs";
2
2
 
3
- //#region ../cascade/src/operations/database.ts
3
+ //#region ../../packages/cascade/src/operations/database.ts
4
4
  /**
5
5
  * Create a database on the configured data source. Returns `created: false`
6
6
  * when the database already exists — drivers are responsible for the
@@ -1 +1 @@
1
- {"version":3,"file":"database.mjs","names":[],"sources":["../../../../../../../cascade/src/operations/database.ts"],"sourcesContent":["import { dataSourceRegistry } from \"../data-source/data-source-registry\";\n\n/**\n * Selects which data source the operation runs against. Shared between every\n * function in this module — kept internal because it carries no semantic\n * beyond \"look up by registry name\".\n */\ntype DataSourceSelector = {\n /** Data source name from the registry. Omit to use the default source. */\n readonly connection?: string;\n};\n\n/**\n * Result of {@link createDatabase}.\n */\nexport type CreateDatabaseResult = {\n /** True if a new database was created; false if it already existed. */\n readonly created: boolean;\n /** The database name that was passed to the operation. */\n readonly name: string;\n};\n\n/**\n * Result of {@link dropAllTables}.\n */\nexport type DropAllTablesResult = {\n /** Names of tables that were dropped, in the order returned by the driver. */\n readonly tables: string[];\n /** Count of dropped tables (equal to `tables.length`). */\n readonly dropped: number;\n};\n\n/**\n * Create a database on the configured data source. Returns `created: false`\n * when the database already exists — drivers are responsible for the\n * idempotency check.\n *\n * @example\n * await createDatabase(\"analytics\");\n * await createDatabase(\"analytics\", { connection: \"warehouse\" });\n */\nexport async function createDatabase(\n name: string,\n options: DataSourceSelector = {},\n): Promise<CreateDatabaseResult> {\n const dataSource = dataSourceRegistry.get(options.connection);\n const created = await dataSource.driver.createDatabase(name);\n\n return { created, name };\n}\n\n/**\n * Drop every table on the configured data source. Lists tables first so the\n * caller receives the names that were affected — useful for printing,\n * confirmation prompts, or audit logging at the call site.\n *\n * @example\n * const { tables, dropped } = await dropAllTables();\n * console.log(`Dropped ${dropped} tables: ${tables.join(\", \")}`);\n */\nexport async function dropAllTables(\n options: DataSourceSelector = {},\n): Promise<DropAllTablesResult> {\n const dataSource = dataSourceRegistry.get(options.connection);\n const driver = dataSource.driver;\n\n const tables = await driver.blueprint.listTables();\n await driver.dropAllTables();\n\n return { tables, dropped: tables.length };\n}\n"],"mappings":";;;;;;;;;;;;AAyCA,eAAsB,eACpB,MACA,UAA8B,CAAC,GACA;CAI/B,OAAO;EAAE,eAHU,mBAAmB,IAAI,QAAQ,UACnB,CAAC,CAAC,OAAO,eAAe,IAAI;EAEzC;CAAK;AACzB;;;;;;;;;;AAWA,eAAsB,cACpB,UAA8B,CAAC,GACD;CAE9B,MAAM,SADa,mBAAmB,IAAI,QAAQ,UAC1B,CAAC,CAAC;CAE1B,MAAM,SAAS,MAAM,OAAO,UAAU,WAAW;CACjD,MAAM,OAAO,cAAc;CAE3B,OAAO;EAAE;EAAQ,SAAS,OAAO;CAAO;AAC1C"}
1
+ {"version":3,"file":"database.mjs","names":[],"sources":["../../../../../../../../packages/cascade/src/operations/database.ts"],"sourcesContent":["import { dataSourceRegistry } from \"../data-source/data-source-registry\";\n\n/**\n * Selects which data source the operation runs against. Shared between every\n * function in this module — kept internal because it carries no semantic\n * beyond \"look up by registry name\".\n */\ntype DataSourceSelector = {\n /** Data source name from the registry. Omit to use the default source. */\n readonly connection?: string;\n};\n\n/**\n * Result of {@link createDatabase}.\n */\nexport type CreateDatabaseResult = {\n /** True if a new database was created; false if it already existed. */\n readonly created: boolean;\n /** The database name that was passed to the operation. */\n readonly name: string;\n};\n\n/**\n * Result of {@link dropAllTables}.\n */\nexport type DropAllTablesResult = {\n /** Names of tables that were dropped, in the order returned by the driver. */\n readonly tables: string[];\n /** Count of dropped tables (equal to `tables.length`). */\n readonly dropped: number;\n};\n\n/**\n * Create a database on the configured data source. Returns `created: false`\n * when the database already exists — drivers are responsible for the\n * idempotency check.\n *\n * @example\n * await createDatabase(\"analytics\");\n * await createDatabase(\"analytics\", { connection: \"warehouse\" });\n */\nexport async function createDatabase(\n name: string,\n options: DataSourceSelector = {},\n): Promise<CreateDatabaseResult> {\n const dataSource = dataSourceRegistry.get(options.connection);\n const created = await dataSource.driver.createDatabase(name);\n\n return { created, name };\n}\n\n/**\n * Drop every table on the configured data source. Lists tables first so the\n * caller receives the names that were affected — useful for printing,\n * confirmation prompts, or audit logging at the call site.\n *\n * @example\n * const { tables, dropped } = await dropAllTables();\n * console.log(`Dropped ${dropped} tables: ${tables.join(\", \")}`);\n */\nexport async function dropAllTables(\n options: DataSourceSelector = {},\n): Promise<DropAllTablesResult> {\n const dataSource = dataSourceRegistry.get(options.connection);\n const driver = dataSource.driver;\n\n const tables = await driver.blueprint.listTables();\n await driver.dropAllTables();\n\n return { tables, dropped: tables.length };\n}\n"],"mappings":";;;;;;;;;;;;AAyCA,eAAsB,eACpB,MACA,UAA8B,CAAC,GACA;CAI/B,OAAO;EAAE,eAHU,mBAAmB,IAAI,QAAQ,UACnB,CAAC,CAAC,OAAO,eAAe,IAAI;EAEzC;CAAK;AACzB;;;;;;;;;;AAWA,eAAsB,cACpB,UAA8B,CAAC,GACD;CAE9B,MAAM,SADa,mBAAmB,IAAI,QAAQ,UAC1B,CAAC,CAAC;CAE1B,MAAM,SAAS,MAAM,OAAO,UAAU,WAAW;CACjD,MAAM,OAAO,cAAc;CAE3B,OAAO;EAAE;EAAQ,SAAS,OAAO;CAAO;AAC1C"}
@@ -1,6 +1,6 @@
1
1
  import { MigrationRecord, MigrationResult } from "../migration/types.mjs";
2
2
 
3
- //#region ../cascade/src/operations/migrations.d.ts
3
+ //#region ../../packages/cascade/src/operations/migrations.d.ts
4
4
  /**
5
5
  * Options for exporting migrations as SQL files.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.mts","names":[],"sources":["../../../../../../../cascade/src/operations/migrations.ts"],"mappings":";;;;;AAMA;KAAY,0BAAA;0FAED,WAAA,YAEO;EAAA,SAAP,OAAO;AAAA;;;AAUA;KAJN,yBAAA;EAkBuB,kFAhBxB,GAAA,YAgB4B;EAAA,SAd5B,OAAO;AAAA;;;;;;;;;;;;iBAcI,aAAA,IAAiB,OAAO,CAAC,eAAA;AAgBrB;AAkB1B;;;;AAA6D;AAY7D;;;;AA9B0B,iBAFJ,kBAAA,CACpB,OAAA,GAAS,yBAAA,GACR,OAAA,CAAQ,eAAA;;;;AAgCD;AAaV;;;;iBA3BsB,YAAA,IAAgB,OAAO,CAAC,eAAA;AAmC9C;;;;AAIoB;AAkBpB;;;AAtBA,iBAvBsB,mBAAA,CACpB,OAAA,GAAS,0BAAA,GACR,OAAO;AA2C6D;;;;;;;;;AAAA,iBA9BjD,sBAAA,IAA0B,OAAO,CAAC,eAAA;;;;;KAQ5C,gBAAA;kFAED,IAAA;WAEA,SAAS;AAAA;;;;;;;;;;;;;;;;iBAkBE,qBAAA,IAAyB,OAAO,CAAC,gBAAA"}
1
+ {"version":3,"file":"migrations.d.mts","names":[],"sources":["../../../../../../../../packages/cascade/src/operations/migrations.ts"],"mappings":";;;;;AAMA;KAAY,0BAAA;0FAED,WAAA,YAEO;EAAA,SAAP,OAAO;AAAA;;;AAUA;KAJN,yBAAA;EAkBuB,kFAhBxB,GAAA,YAgB4B;EAAA,SAd5B,OAAO;AAAA;;;;;;;;;;;;iBAcI,aAAA,IAAiB,OAAO,CAAC,eAAA;AAgBrB;AAkB1B;;;;AAA6D;AAY7D;;;;AA9B0B,iBAFJ,kBAAA,CACpB,OAAA,GAAS,yBAAA,GACR,OAAA,CAAQ,eAAA;;;;AAgCD;AAaV;;;;iBA3BsB,YAAA,IAAgB,OAAO,CAAC,eAAA;AAmC9C;;;;AAIoB;AAkBpB;;;AAtBA,iBAvBsB,mBAAA,CACpB,OAAA,GAAS,0BAAA,GACR,OAAO;AA2C6D;;;;;;;;;AAAA,iBA9BjD,sBAAA,IAA0B,OAAO,CAAC,eAAA;;;;;KAQ5C,gBAAA;kFAED,IAAA;WAEA,SAAS;AAAA;;;;;;;;;;;;;;;;iBAkBE,qBAAA,IAAyB,OAAO,CAAC,gBAAA"}
@@ -1,6 +1,6 @@
1
1
  import { migrationRunner } from "../migration/migration-runner.mjs";
2
2
 
3
- //#region ../cascade/src/operations/migrations.ts
3
+ //#region ../../packages/cascade/src/operations/migrations.ts
4
4
  /**
5
5
  * Run every pending migration registered on the migration runner.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.mjs","names":[],"sources":["../../../../../../../cascade/src/operations/migrations.ts"],"sourcesContent":["import { migrationRunner } from \"../migration/migration-runner\";\nimport type { MigrationRecord, MigrationResult } from \"../migration/types\";\n\n/**\n * Options for exporting migrations as SQL files.\n */\nexport type ExportMigrationsSQLOptions = {\n /** Export only pending migrations. Default: false (exports all registered). */\n readonly pendingOnly?: boolean;\n /** Strip generated block comments and blank lines from the output. */\n readonly compact?: boolean;\n};\n\n/**\n * Options for rolling back migrations.\n */\nexport type RollbackMigrationsOptions = {\n /** Roll back every executed migration. Overrides `batches` when true. */\n readonly all?: boolean;\n /** Number of batches to roll back when `all` is not set. Default: 1. */\n readonly batches?: number;\n};\n\n/**\n * Run every pending migration registered on the migration runner.\n *\n * Caller is responsible for registering migration classes first via\n * `migrationRunner.register()` / `migrationRunner.registerMany()`. Returns one\n * result entry per executed migration.\n *\n * @example\n * migrationRunner.registerMany([CreateUsersTable, AddEmailIndex]);\n * const results = await runMigrations();\n */\nexport async function runMigrations(): Promise<MigrationResult[]> {\n return migrationRunner.runAll();\n}\n\n/**\n * Roll back executed migrations. By default rolls back the most recent batch;\n * pass `all: true` to undo every executed migration, or `batches: N` to undo\n * the last N batches.\n *\n * @example\n * await rollbackMigrations(); // last batch\n * await rollbackMigrations({ batches: 3 }); // last three batches\n * await rollbackMigrations({ all: true }); // everything\n */\nexport async function rollbackMigrations(\n options: RollbackMigrationsOptions = {},\n): Promise<MigrationResult[]> {\n if (options.all) {\n return migrationRunner.rollbackAll();\n }\n\n const batches = options.batches ?? 1;\n\n return migrationRunner.rollbackBatches(batches);\n}\n\n/**\n * Roll back every executed migration, then run every registered migration.\n * Equivalent to `rollbackMigrations({ all: true })` followed by\n * `runMigrations()`.\n *\n * @example\n * await freshMigrate();\n */\nexport async function freshMigrate(): Promise<MigrationResult[]> {\n return migrationRunner.fresh();\n}\n\n/**\n * Export registered migrations as phase-ordered `.up.sql` and `.down.sql`\n * files under `<cwd>/database/sql/`.\n *\n * @example\n * await exportMigrationsSQL();\n * await exportMigrationsSQL({ pendingOnly: true, compact: true });\n */\nexport async function exportMigrationsSQL(\n options: ExportMigrationsSQLOptions = {},\n): Promise<void> {\n return migrationRunner.exportSQL(options);\n}\n\n/**\n * Return the migration records persisted in the migrations table — one entry\n * per migration that has ever been executed against the configured data\n * source.\n *\n * @example\n * const executed = await listExecutedMigrations();\n * console.log(executed.map((record) => record.name));\n */\nexport async function listExecutedMigrations(): Promise<MigrationRecord[]> {\n return migrationRunner.getExecutedMigrations();\n}\n\n/**\n * A registered migration that has not yet been executed against the configured\n * data source.\n */\nexport type PendingMigration = {\n /** Migration name/identifier, as it will be recorded once executed. */\n readonly name: string;\n /** Creation timestamp, when the migration carries one. */\n readonly createdAt?: string;\n};\n\n/**\n * Return the registered migrations that have NOT been executed, **in the order\n * they will execute**. The order is the point: it makes the result a dry run\n * rather than a set.\n *\n * ⚠️ Only registered migrations can be pending. Register them first — via\n * `migrationRunner.register()` / `registerMany()`, or whatever the host\n * framework's loader does — or this returns `[]`, which reads as \"nothing\n * pending\" and is not the same thing.\n *\n * @example\n * migrationRunner.registerMany([CreateUsersTable, AddEmailIndex]);\n * const pending = await listPendingMigrations();\n * console.log(pending.map((migration) => migration.name));\n */\nexport async function listPendingMigrations(): Promise<PendingMigration[]> {\n const pending = await migrationRunner.getPendingMigrations();\n\n return pending.map((MigrationClass) => ({\n name: MigrationClass.migrationName,\n createdAt: MigrationClass.createdAt,\n }));\n}\n"],"mappings":";;;;;;;;;;;;;;AAkCA,eAAsB,gBAA4C;CAChE,OAAO,gBAAgB,OAAO;AAChC;;;;;;;;;;;AAYA,eAAsB,mBACpB,UAAqC,CAAC,GACV;CAC5B,IAAI,QAAQ,KACV,OAAO,gBAAgB,YAAY;CAGrC,MAAM,UAAU,QAAQ,WAAW;CAEnC,OAAO,gBAAgB,gBAAgB,OAAO;AAChD;;;;;;;;;AAUA,eAAsB,eAA2C;CAC/D,OAAO,gBAAgB,MAAM;AAC/B;;;;;;;;;AAUA,eAAsB,oBACpB,UAAsC,CAAC,GACxB;CACf,OAAO,gBAAgB,UAAU,OAAO;AAC1C;;;;;;;;;;AAWA,eAAsB,yBAAqD;CACzE,OAAO,gBAAgB,sBAAsB;AAC/C;;;;;;;;;;;;;;;;AA4BA,eAAsB,wBAAqD;CAGzE,QAAO,MAFe,gBAAgB,qBAAqB,EAE7C,CAAC,KAAK,oBAAoB;EACtC,MAAM,eAAe;EACrB,WAAW,eAAe;CAC5B,EAAE;AACJ"}
1
+ {"version":3,"file":"migrations.mjs","names":[],"sources":["../../../../../../../../packages/cascade/src/operations/migrations.ts"],"sourcesContent":["import { migrationRunner } from \"../migration/migration-runner\";\nimport type { MigrationRecord, MigrationResult } from \"../migration/types\";\n\n/**\n * Options for exporting migrations as SQL files.\n */\nexport type ExportMigrationsSQLOptions = {\n /** Export only pending migrations. Default: false (exports all registered). */\n readonly pendingOnly?: boolean;\n /** Strip generated block comments and blank lines from the output. */\n readonly compact?: boolean;\n};\n\n/**\n * Options for rolling back migrations.\n */\nexport type RollbackMigrationsOptions = {\n /** Roll back every executed migration. Overrides `batches` when true. */\n readonly all?: boolean;\n /** Number of batches to roll back when `all` is not set. Default: 1. */\n readonly batches?: number;\n};\n\n/**\n * Run every pending migration registered on the migration runner.\n *\n * Caller is responsible for registering migration classes first via\n * `migrationRunner.register()` / `migrationRunner.registerMany()`. Returns one\n * result entry per executed migration.\n *\n * @example\n * migrationRunner.registerMany([CreateUsersTable, AddEmailIndex]);\n * const results = await runMigrations();\n */\nexport async function runMigrations(): Promise<MigrationResult[]> {\n return migrationRunner.runAll();\n}\n\n/**\n * Roll back executed migrations. By default rolls back the most recent batch;\n * pass `all: true` to undo every executed migration, or `batches: N` to undo\n * the last N batches.\n *\n * @example\n * await rollbackMigrations(); // last batch\n * await rollbackMigrations({ batches: 3 }); // last three batches\n * await rollbackMigrations({ all: true }); // everything\n */\nexport async function rollbackMigrations(\n options: RollbackMigrationsOptions = {},\n): Promise<MigrationResult[]> {\n if (options.all) {\n return migrationRunner.rollbackAll();\n }\n\n const batches = options.batches ?? 1;\n\n return migrationRunner.rollbackBatches(batches);\n}\n\n/**\n * Roll back every executed migration, then run every registered migration.\n * Equivalent to `rollbackMigrations({ all: true })` followed by\n * `runMigrations()`.\n *\n * @example\n * await freshMigrate();\n */\nexport async function freshMigrate(): Promise<MigrationResult[]> {\n return migrationRunner.fresh();\n}\n\n/**\n * Export registered migrations as phase-ordered `.up.sql` and `.down.sql`\n * files under `<cwd>/database/sql/`.\n *\n * @example\n * await exportMigrationsSQL();\n * await exportMigrationsSQL({ pendingOnly: true, compact: true });\n */\nexport async function exportMigrationsSQL(\n options: ExportMigrationsSQLOptions = {},\n): Promise<void> {\n return migrationRunner.exportSQL(options);\n}\n\n/**\n * Return the migration records persisted in the migrations table — one entry\n * per migration that has ever been executed against the configured data\n * source.\n *\n * @example\n * const executed = await listExecutedMigrations();\n * console.log(executed.map((record) => record.name));\n */\nexport async function listExecutedMigrations(): Promise<MigrationRecord[]> {\n return migrationRunner.getExecutedMigrations();\n}\n\n/**\n * A registered migration that has not yet been executed against the configured\n * data source.\n */\nexport type PendingMigration = {\n /** Migration name/identifier, as it will be recorded once executed. */\n readonly name: string;\n /** Creation timestamp, when the migration carries one. */\n readonly createdAt?: string;\n};\n\n/**\n * Return the registered migrations that have NOT been executed, **in the order\n * they will execute**. The order is the point: it makes the result a dry run\n * rather than a set.\n *\n * ⚠️ Only registered migrations can be pending. Register them first — via\n * `migrationRunner.register()` / `registerMany()`, or whatever the host\n * framework's loader does — or this returns `[]`, which reads as \"nothing\n * pending\" and is not the same thing.\n *\n * @example\n * migrationRunner.registerMany([CreateUsersTable, AddEmailIndex]);\n * const pending = await listPendingMigrations();\n * console.log(pending.map((migration) => migration.name));\n */\nexport async function listPendingMigrations(): Promise<PendingMigration[]> {\n const pending = await migrationRunner.getPendingMigrations();\n\n return pending.map((MigrationClass) => ({\n name: MigrationClass.migrationName,\n createdAt: MigrationClass.createdAt,\n }));\n}\n"],"mappings":";;;;;;;;;;;;;;AAkCA,eAAsB,gBAA4C;CAChE,OAAO,gBAAgB,OAAO;AAChC;;;;;;;;;;;AAYA,eAAsB,mBACpB,UAAqC,CAAC,GACV;CAC5B,IAAI,QAAQ,KACV,OAAO,gBAAgB,YAAY;CAGrC,MAAM,UAAU,QAAQ,WAAW;CAEnC,OAAO,gBAAgB,gBAAgB,OAAO;AAChD;;;;;;;;;AAUA,eAAsB,eAA2C;CAC/D,OAAO,gBAAgB,MAAM;AAC/B;;;;;;;;;AAUA,eAAsB,oBACpB,UAAsC,CAAC,GACxB;CACf,OAAO,gBAAgB,UAAU,OAAO;AAC1C;;;;;;;;;;AAWA,eAAsB,yBAAqD;CACzE,OAAO,gBAAgB,sBAAsB;AAC/C;;;;;;;;;;;;;;;;AA4BA,eAAsB,wBAAqD;CAGzE,QAAO,MAFe,gBAAgB,qBAAqB,EAE7C,CAAC,KAAK,oBAAoB;EACtC,MAAM,eAAe;EACrB,WAAW,eAAe;CAC5B,EAAE;AACJ"}
@@ -1,6 +1,6 @@
1
1
  import { UnsupportedLeanOperationError } from "../errors/unsupported-lean-operation.error.mjs";
2
2
 
3
- //#region ../cascade/src/query-builder/lean-records.ts
3
+ //#region ../../packages/cascade/src/query-builder/lean-records.ts
4
4
  /**
5
5
  * Throw when a lean query also asks for eager-loaded relations.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"lean-records.mjs","names":[],"sources":["../../../../../../../cascade/src/query-builder/lean-records.ts"],"sourcesContent":["import { UnsupportedLeanOperationError } from \"../errors/unsupported-lean-operation.error\";\n\n/**\n * The builder state lean mode has to inspect before a query runs.\n */\nexport type LeanQueryState = {\n readonly eagerLoadRelations: ReadonlyMap<string, unknown>;\n readonly joinRelations?: ReadonlyMap<string, unknown>;\n};\n\n/**\n * Throw when a lean query also asks for eager-loaded relations.\n *\n * Called before the query executes, so nothing is fetched for a request that\n * cannot be answered.\n *\n * @throws UnsupportedLeanOperationError\n */\nexport function assertLeanCompatible(state: LeanQueryState): void {\n if (state.eagerLoadRelations.size > 0) {\n throw new UnsupportedLeanOperationError(\"with\");\n }\n\n if (state.joinRelations && state.joinRelations.size > 0) {\n throw new UnsupportedLeanOperationError(\"joinWith\");\n }\n}\n\n/**\n * Remove the model's `static hidden` top-level fields from lean rows, in place.\n *\n * The rows are fresh objects the driver just built, so mutating them is safe\n * and avoids a copy per row. Returns the same array.\n */\nexport function stripHiddenFromLeanRecords<TRecord>(\n records: TRecord[],\n modelClass?: { hidden?: string[] },\n): TRecord[] {\n const hidden = modelClass?.hidden;\n\n if (!hidden || hidden.length === 0) {\n return records;\n }\n\n for (const record of records) {\n if (record === null || typeof record !== \"object\") {\n continue;\n }\n\n for (const field of hidden) {\n delete (record as Record<string, unknown>)[field];\n }\n }\n\n return records;\n}\n"],"mappings":";;;;;;;;;;;AAkBA,SAAgB,qBAAqB,OAA6B;CAChE,IAAI,MAAM,mBAAmB,OAAO,GAClC,MAAM,IAAI,8BAA8B,MAAM;CAGhD,IAAI,MAAM,iBAAiB,MAAM,cAAc,OAAO,GACpD,MAAM,IAAI,8BAA8B,UAAU;AAEtD;;;;;;;AAQA,SAAgB,2BACd,SACA,YACW;CACX,MAAM,SAAS,YAAY;CAE3B,IAAI,CAAC,UAAU,OAAO,WAAW,GAC/B,OAAO;CAGT,KAAK,MAAM,UAAU,SAAS;EAC5B,IAAI,WAAW,QAAQ,OAAO,WAAW,UACvC;EAGF,KAAK,MAAM,SAAS,QAClB,OAAQ,OAAmC;CAE/C;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"lean-records.mjs","names":[],"sources":["../../../../../../../../packages/cascade/src/query-builder/lean-records.ts"],"sourcesContent":["import { UnsupportedLeanOperationError } from \"../errors/unsupported-lean-operation.error\";\n\n/**\n * The builder state lean mode has to inspect before a query runs.\n */\nexport type LeanQueryState = {\n readonly eagerLoadRelations: ReadonlyMap<string, unknown>;\n readonly joinRelations?: ReadonlyMap<string, unknown>;\n};\n\n/**\n * Throw when a lean query also asks for eager-loaded relations.\n *\n * Called before the query executes, so nothing is fetched for a request that\n * cannot be answered.\n *\n * @throws UnsupportedLeanOperationError\n */\nexport function assertLeanCompatible(state: LeanQueryState): void {\n if (state.eagerLoadRelations.size > 0) {\n throw new UnsupportedLeanOperationError(\"with\");\n }\n\n if (state.joinRelations && state.joinRelations.size > 0) {\n throw new UnsupportedLeanOperationError(\"joinWith\");\n }\n}\n\n/**\n * Remove the model's `static hidden` top-level fields from lean rows, in place.\n *\n * The rows are fresh objects the driver just built, so mutating them is safe\n * and avoids a copy per row. Returns the same array.\n */\nexport function stripHiddenFromLeanRecords<TRecord>(\n records: TRecord[],\n modelClass?: { hidden?: string[] },\n): TRecord[] {\n const hidden = modelClass?.hidden;\n\n if (!hidden || hidden.length === 0) {\n return records;\n }\n\n for (const record of records) {\n if (record === null || typeof record !== \"object\") {\n continue;\n }\n\n for (const field of hidden) {\n delete (record as Record<string, unknown>)[field];\n }\n }\n\n return records;\n}\n"],"mappings":";;;;;;;;;;;AAkBA,SAAgB,qBAAqB,OAA6B;CAChE,IAAI,MAAM,mBAAmB,OAAO,GAClC,MAAM,IAAI,8BAA8B,MAAM;CAGhD,IAAI,MAAM,iBAAiB,MAAM,cAAc,OAAO,GACpD,MAAM,IAAI,8BAA8B,UAAU;AAEtD;;;;;;;AAQA,SAAgB,2BACd,SACA,YACW;CACX,MAAM,SAAS,YAAY;CAE3B,IAAI,CAAC,UAAU,OAAO,WAAW,GAC/B,OAAO;CAGT,KAAK,MAAM,UAAU,SAAS;EAC5B,IAAI,WAAW,QAAQ,OAAO,WAAW,UACvC;EAGF,KAAK,MAAM,SAAS,QAClB,OAAQ,OAAmC;CAE/C;CAEA,OAAO;AACT"}
@@ -1,6 +1,6 @@
1
1
  import { GroupByInput, HavingInput, JoinOptions, LeanDocument, LockForUpdateOptions, OrderDirection, RawExpression, WhereCallback, WhereObject, WhereOperator } from "../contracts/query-builder.contract.mjs";
2
2
 
3
- //#region ../cascade/src/query-builder/query-builder.d.ts
3
+ //#region ../../packages/cascade/src/query-builder/query-builder.d.ts
4
4
  /**
5
5
  * A single recorded query operation.
6
6
  * `type` is the discriminator; `data` carries all parameters.
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.d.mts","names":[],"sources":["../../../../../../../cascade/src/query-builder/query-builder.ts"],"mappings":"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"}
1
+ {"version":3,"file":"query-builder.d.mts","names":[],"sources":["../../../../../../../../packages/cascade/src/query-builder/query-builder.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { assertDefined, sanitizeFilter, sanitizeFilterValue } from "../utils/sanitize-filter.mjs";
2
2
 
3
- //#region ../cascade/src/query-builder/query-builder.ts
3
+ //#region ../../packages/cascade/src/query-builder/query-builder.ts
4
4
  /**
5
5
  * Pure, driver-agnostic query builder.
6
6
  *