@warlock.js/cascade 4.8.2 → 4.9.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 (318) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/cjs/index.cjs +160 -124
  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/types.d.mts +1 -1
  73. package/esm/drivers/mongodb/types.d.mts.map +1 -1
  74. package/esm/drivers/postgres/postgres-blueprint.d.mts +1 -1
  75. package/esm/drivers/postgres/postgres-blueprint.d.mts.map +1 -1
  76. package/esm/drivers/postgres/postgres-blueprint.mjs +1 -1
  77. package/esm/drivers/postgres/postgres-blueprint.mjs.map +1 -1
  78. package/esm/drivers/postgres/postgres-dialect.d.mts +1 -1
  79. package/esm/drivers/postgres/postgres-dialect.d.mts.map +1 -1
  80. package/esm/drivers/postgres/postgres-dialect.mjs +1 -1
  81. package/esm/drivers/postgres/postgres-dialect.mjs.map +1 -1
  82. package/esm/drivers/postgres/postgres-driver.d.mts +1 -1
  83. package/esm/drivers/postgres/postgres-driver.d.mts.map +1 -1
  84. package/esm/drivers/postgres/postgres-driver.mjs +1 -1
  85. package/esm/drivers/postgres/postgres-driver.mjs.map +1 -1
  86. package/esm/drivers/postgres/postgres-migration-driver.d.mts +1 -1
  87. package/esm/drivers/postgres/postgres-migration-driver.d.mts.map +1 -1
  88. package/esm/drivers/postgres/postgres-migration-driver.mjs +1 -1
  89. package/esm/drivers/postgres/postgres-migration-driver.mjs.map +1 -1
  90. package/esm/drivers/postgres/postgres-query-builder.d.mts +1 -1
  91. package/esm/drivers/postgres/postgres-query-builder.d.mts.map +1 -1
  92. package/esm/drivers/postgres/postgres-query-builder.mjs +1 -1
  93. package/esm/drivers/postgres/postgres-query-builder.mjs.map +1 -1
  94. package/esm/drivers/postgres/postgres-query-parser.d.mts +1 -1
  95. package/esm/drivers/postgres/postgres-query-parser.d.mts.map +1 -1
  96. package/esm/drivers/postgres/postgres-query-parser.mjs +1 -1
  97. package/esm/drivers/postgres/postgres-query-parser.mjs.map +1 -1
  98. package/esm/drivers/postgres/postgres-sql-serializer.mjs +1 -1
  99. package/esm/drivers/postgres/postgres-sql-serializer.mjs.map +1 -1
  100. package/esm/drivers/postgres/postgres-sync-adapter.d.mts +1 -1
  101. package/esm/drivers/postgres/postgres-sync-adapter.d.mts.map +1 -1
  102. package/esm/drivers/postgres/postgres-sync-adapter.mjs +1 -1
  103. package/esm/drivers/postgres/postgres-sync-adapter.mjs.map +1 -1
  104. package/esm/drivers/postgres/types.d.mts +1 -1
  105. package/esm/drivers/postgres/types.d.mts.map +1 -1
  106. package/esm/drivers/sql/sql-dialect.contract.d.mts +1 -1
  107. package/esm/drivers/sql/sql-dialect.contract.d.mts.map +1 -1
  108. package/esm/drivers/sql/sql-types.d.mts +1 -1
  109. package/esm/drivers/sql/sql-types.d.mts.map +1 -1
  110. package/esm/errors/missing-data-source.error.d.mts +1 -1
  111. package/esm/errors/missing-data-source.error.d.mts.map +1 -1
  112. package/esm/errors/missing-data-source.error.mjs +1 -1
  113. package/esm/errors/missing-data-source.error.mjs.map +1 -1
  114. package/esm/errors/transaction-rollback.error.d.mts +1 -1
  115. package/esm/errors/transaction-rollback.error.d.mts.map +1 -1
  116. package/esm/errors/transaction-rollback.error.mjs +1 -1
  117. package/esm/errors/transaction-rollback.error.mjs.map +1 -1
  118. package/esm/events/model-events.d.mts +1 -1
  119. package/esm/events/model-events.d.mts.map +1 -1
  120. package/esm/events/model-events.mjs +1 -1
  121. package/esm/events/model-events.mjs.map +1 -1
  122. package/esm/expressions/aggregate-expressions.d.mts +1 -1
  123. package/esm/expressions/aggregate-expressions.d.mts.map +1 -1
  124. package/esm/expressions/aggregate-expressions.mjs +1 -1
  125. package/esm/expressions/aggregate-expressions.mjs.map +1 -1
  126. package/esm/expressions/column-expressions.d.mts +1 -1
  127. package/esm/expressions/column-expressions.d.mts.map +1 -1
  128. package/esm/expressions/column-expressions.mjs +1 -1
  129. package/esm/expressions/column-expressions.mjs.map +1 -1
  130. package/esm/migration/column-builder.d.mts +1 -1
  131. package/esm/migration/column-builder.d.mts.map +1 -1
  132. package/esm/migration/column-builder.mjs +1 -1
  133. package/esm/migration/column-builder.mjs.map +1 -1
  134. package/esm/migration/column-helpers.d.mts +1 -1
  135. package/esm/migration/column-helpers.d.mts.map +1 -1
  136. package/esm/migration/column-helpers.mjs +1 -1
  137. package/esm/migration/column-helpers.mjs.map +1 -1
  138. package/esm/migration/foreign-key-builder.d.mts +1 -1
  139. package/esm/migration/foreign-key-builder.d.mts.map +1 -1
  140. package/esm/migration/foreign-key-builder.mjs +1 -1
  141. package/esm/migration/foreign-key-builder.mjs.map +1 -1
  142. package/esm/migration/migration-runner.d.mts +1 -1
  143. package/esm/migration/migration-runner.d.mts.map +1 -1
  144. package/esm/migration/migration-runner.mjs +4 -40
  145. package/esm/migration/migration-runner.mjs.map +1 -1
  146. package/esm/migration/migration.d.mts +1 -1
  147. package/esm/migration/migration.d.mts.map +1 -1
  148. package/esm/migration/migration.mjs +1 -1
  149. package/esm/migration/migration.mjs.map +1 -1
  150. package/esm/migration/parse-created-at.mjs +67 -0
  151. package/esm/migration/parse-created-at.mjs.map +1 -0
  152. package/esm/migration/sql-grammar.mjs +16 -6
  153. package/esm/migration/sql-grammar.mjs.map +1 -1
  154. package/esm/migration/sql-serializer.d.mts +1 -1
  155. package/esm/migration/sql-serializer.d.mts.map +1 -1
  156. package/esm/migration/sql-serializer.mjs +1 -1
  157. package/esm/migration/sql-serializer.mjs.map +1 -1
  158. package/esm/migration/types.d.mts +1 -1
  159. package/esm/migration/types.d.mts.map +1 -1
  160. package/esm/model/methods/accessor-methods.mjs +1 -1
  161. package/esm/model/methods/accessor-methods.mjs.map +1 -1
  162. package/esm/model/methods/delete-methods.mjs +1 -1
  163. package/esm/model/methods/delete-methods.mjs.map +1 -1
  164. package/esm/model/methods/dirty-methods.mjs +1 -1
  165. package/esm/model/methods/dirty-methods.mjs.map +1 -1
  166. package/esm/model/methods/hydration-methods.mjs +1 -1
  167. package/esm/model/methods/hydration-methods.mjs.map +1 -1
  168. package/esm/model/methods/instance-event-methods.mjs +1 -1
  169. package/esm/model/methods/instance-event-methods.mjs.map +1 -1
  170. package/esm/model/methods/meta-methods.mjs +1 -1
  171. package/esm/model/methods/meta-methods.mjs.map +1 -1
  172. package/esm/model/methods/pivot-methods.mjs +1 -1
  173. package/esm/model/methods/pivot-methods.mjs.map +1 -1
  174. package/esm/model/methods/query-methods.mjs +1 -1
  175. package/esm/model/methods/query-methods.mjs.map +1 -1
  176. package/esm/model/methods/restore-methods.mjs +1 -1
  177. package/esm/model/methods/restore-methods.mjs.map +1 -1
  178. package/esm/model/methods/scope-methods.mjs +1 -1
  179. package/esm/model/methods/scope-methods.mjs.map +1 -1
  180. package/esm/model/methods/serialization-methods.mjs +1 -1
  181. package/esm/model/methods/serialization-methods.mjs.map +1 -1
  182. package/esm/model/methods/static-event-methods.mjs +1 -1
  183. package/esm/model/methods/static-event-methods.mjs.map +1 -1
  184. package/esm/model/methods/write-methods.d.mts +1 -1
  185. package/esm/model/methods/write-methods.d.mts.map +1 -1
  186. package/esm/model/methods/write-methods.mjs +1 -1
  187. package/esm/model/methods/write-methods.mjs.map +1 -1
  188. package/esm/model/model.d.mts +1 -1
  189. package/esm/model/model.d.mts.map +1 -1
  190. package/esm/model/model.mjs +1 -1
  191. package/esm/model/model.mjs.map +1 -1
  192. package/esm/model/model.types.d.mts +1 -1
  193. package/esm/model/model.types.d.mts.map +1 -1
  194. package/esm/model/register-model.d.mts +1 -1
  195. package/esm/model/register-model.d.mts.map +1 -1
  196. package/esm/model/register-model.mjs +1 -1
  197. package/esm/model/register-model.mjs.map +1 -1
  198. package/esm/model/relation-decorators.d.mts +1 -1
  199. package/esm/model/relation-decorators.d.mts.map +1 -1
  200. package/esm/model/relation-decorators.mjs +1 -1
  201. package/esm/model/relation-decorators.mjs.map +1 -1
  202. package/esm/operations/database.d.mts +1 -1
  203. package/esm/operations/database.d.mts.map +1 -1
  204. package/esm/operations/database.mjs +1 -1
  205. package/esm/operations/database.mjs.map +1 -1
  206. package/esm/operations/migrations.d.mts +1 -1
  207. package/esm/operations/migrations.d.mts.map +1 -1
  208. package/esm/operations/migrations.mjs +1 -1
  209. package/esm/operations/migrations.mjs.map +1 -1
  210. package/esm/query-builder/query-builder.d.mts +1 -1
  211. package/esm/query-builder/query-builder.d.mts.map +1 -1
  212. package/esm/query-builder/query-builder.mjs +1 -1
  213. package/esm/query-builder/query-builder.mjs.map +1 -1
  214. package/esm/relations/key-conventions.mjs +1 -1
  215. package/esm/relations/key-conventions.mjs.map +1 -1
  216. package/esm/relations/pivot-operations.d.mts +1 -1
  217. package/esm/relations/pivot-operations.d.mts.map +1 -1
  218. package/esm/relations/pivot-operations.mjs +1 -1
  219. package/esm/relations/pivot-operations.mjs.map +1 -1
  220. package/esm/relations/relation-hydrator.d.mts +1 -1
  221. package/esm/relations/relation-hydrator.d.mts.map +1 -1
  222. package/esm/relations/relation-hydrator.mjs +1 -1
  223. package/esm/relations/relation-hydrator.mjs.map +1 -1
  224. package/esm/relations/relation-loader.d.mts +1 -1
  225. package/esm/relations/relation-loader.d.mts.map +1 -1
  226. package/esm/relations/relation-loader.mjs +1 -1
  227. package/esm/relations/relation-loader.mjs.map +1 -1
  228. package/esm/relations/types.d.mts +1 -1
  229. package/esm/relations/types.d.mts.map +1 -1
  230. package/esm/remover/database-remover.d.mts +1 -1
  231. package/esm/remover/database-remover.d.mts.map +1 -1
  232. package/esm/remover/database-remover.mjs +1 -1
  233. package/esm/remover/database-remover.mjs.map +1 -1
  234. package/esm/restorer/database-restorer.d.mts +1 -1
  235. package/esm/restorer/database-restorer.d.mts.map +1 -1
  236. package/esm/restorer/database-restorer.mjs +1 -1
  237. package/esm/restorer/database-restorer.mjs.map +1 -1
  238. package/esm/sql-database-dirty-tracker.d.mts +1 -1
  239. package/esm/sql-database-dirty-tracker.d.mts.map +1 -1
  240. package/esm/sql-database-dirty-tracker.mjs +1 -1
  241. package/esm/sql-database-dirty-tracker.mjs.map +1 -1
  242. package/esm/sync/model-events.mjs +1 -1
  243. package/esm/sync/model-events.mjs.map +1 -1
  244. package/esm/sync/model-sync-operation.d.mts +1 -1
  245. package/esm/sync/model-sync-operation.d.mts.map +1 -1
  246. package/esm/sync/model-sync-operation.mjs +1 -1
  247. package/esm/sync/model-sync-operation.mjs.map +1 -1
  248. package/esm/sync/model-sync.d.mts +1 -1
  249. package/esm/sync/model-sync.d.mts.map +1 -1
  250. package/esm/sync/model-sync.mjs +1 -1
  251. package/esm/sync/model-sync.mjs.map +1 -1
  252. package/esm/sync/sync-context.d.mts +1 -1
  253. package/esm/sync/sync-context.d.mts.map +1 -1
  254. package/esm/sync/sync-context.mjs +1 -1
  255. package/esm/sync/sync-context.mjs.map +1 -1
  256. package/esm/sync/sync-manager.d.mts +1 -1
  257. package/esm/sync/sync-manager.d.mts.map +1 -1
  258. package/esm/sync/sync-manager.mjs +1 -1
  259. package/esm/sync/sync-manager.mjs.map +1 -1
  260. package/esm/sync/types.d.mts +1 -1
  261. package/esm/sync/types.d.mts.map +1 -1
  262. package/esm/types.d.mts +1 -1
  263. package/esm/types.d.mts.map +1 -1
  264. package/esm/utils/connect-to-database.d.mts +1 -1
  265. package/esm/utils/connect-to-database.d.mts.map +1 -1
  266. package/esm/utils/connect-to-database.mjs +1 -1
  267. package/esm/utils/connect-to-database.mjs.map +1 -1
  268. package/esm/utils/database-writer.utils.d.mts +1 -1
  269. package/esm/utils/database-writer.utils.d.mts.map +1 -1
  270. package/esm/utils/database-writer.utils.mjs +1 -1
  271. package/esm/utils/database-writer.utils.mjs.map +1 -1
  272. package/esm/utils/define-model.d.mts +1 -1
  273. package/esm/utils/define-model.d.mts.map +1 -1
  274. package/esm/utils/define-model.mjs +1 -1
  275. package/esm/utils/define-model.mjs.map +1 -1
  276. package/esm/utils/is-valid-date-value.mjs +1 -1
  277. package/esm/utils/is-valid-date-value.mjs.map +1 -1
  278. package/esm/utils/once-connected.d.mts +1 -1
  279. package/esm/utils/once-connected.d.mts.map +1 -1
  280. package/esm/utils/once-connected.mjs +1 -1
  281. package/esm/utils/once-connected.mjs.map +1 -1
  282. package/esm/validation/database-seal-plugins.mjs +1 -1
  283. package/esm/validation/database-seal-plugins.mjs.map +1 -1
  284. package/esm/validation/database-writer-validation-error.d.mts +1 -1
  285. package/esm/validation/database-writer-validation-error.d.mts.map +1 -1
  286. package/esm/validation/database-writer-validation-error.mjs +1 -1
  287. package/esm/validation/database-writer-validation-error.mjs.map +1 -1
  288. package/esm/validation/mutators/embed-mutator.mjs +1 -1
  289. package/esm/validation/mutators/embed-mutator.mjs.map +1 -1
  290. package/esm/validation/plugins/database-rules-plugin.d.mts +1 -1
  291. package/esm/validation/plugins/database-rules-plugin.d.mts.map +1 -1
  292. package/esm/validation/plugins/database-rules-plugin.mjs +1 -1
  293. package/esm/validation/plugins/database-rules-plugin.mjs.map +1 -1
  294. package/esm/validation/plugins/embed-validator-plugin.d.mts +1 -1
  295. package/esm/validation/plugins/embed-validator-plugin.d.mts.map +1 -1
  296. package/esm/validation/plugins/embed-validator-plugin.mjs +1 -1
  297. package/esm/validation/plugins/embed-validator-plugin.mjs.map +1 -1
  298. package/esm/validation/rules/database-model-rule.mjs +1 -1
  299. package/esm/validation/rules/database-model-rule.mjs.map +1 -1
  300. package/esm/validation/rules/exists-rule.mjs +1 -1
  301. package/esm/validation/rules/exists-rule.mjs.map +1 -1
  302. package/esm/validation/rules/unique-rule.mjs +1 -1
  303. package/esm/validation/rules/unique-rule.mjs.map +1 -1
  304. package/esm/validation/transformers/embed-model-transformer.mjs +1 -1
  305. package/esm/validation/transformers/embed-model-transformer.mjs.map +1 -1
  306. package/esm/validation/types.d.mts +1 -1
  307. package/esm/validation/types.d.mts.map +1 -1
  308. package/esm/validation/validators/embed-validator.d.mts +1 -1
  309. package/esm/validation/validators/embed-validator.d.mts.map +1 -1
  310. package/esm/validation/validators/embed-validator.mjs +1 -1
  311. package/esm/validation/validators/embed-validator.mjs.map +1 -1
  312. package/esm/writer/database-writer.d.mts +1 -1
  313. package/esm/writer/database-writer.d.mts.map +1 -1
  314. package/esm/writer/database-writer.mjs +1 -1
  315. package/esm/writer/database-writer.mjs.map +1 -1
  316. package/llms-full.txt +14 -0
  317. package/package.json +4 -4
  318. package/skills/write-migration/SKILL.md +14 -0
@@ -1,7 +1,7 @@
1
1
  import { DataSource } from "../data-source/data-source.mjs";
2
2
  import { Context } from "@warlock.js/context";
3
3
 
4
- //#region ../@warlock.js/cascade/src/context/database-data-source-context.d.ts
4
+ //#region ../cascade/src/context/database-data-source-context.d.ts
5
5
  type DataSourceContextValue = string | DataSource;
6
6
  type DataSourceContextStore = {
7
7
  dataSource?: DataSourceContextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"database-data-source-context.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/context/database-data-source-context.ts"],"mappings":";;;;KAGK,sBAAA,YAAkC,UAAU;AAAA,KAE5C,sBAAA;EACH,UAAA,GAAa,sBAAsB;AAAA;;;AAHY;AAAA;;;cAY3C,yBAAA,SAAkC,OAAA,CAAQ,sBAAA;EATX;AAAA;;EAa5B,aAAA,IAAiB,sBAAA;EAJsB;;;EAWvC,aAAA,CAAc,UAAA,EAAY,sBAAA;EAXK;;;EAkB/B,UAAA,IAAc,sBAAA;AAAA;AAAA,cAKV,yBAAA,EAAyB,yBAAkC"}
1
+ {"version":3,"file":"database-data-source-context.d.mts","names":[],"sources":["../../../../../../../cascade/src/context/database-data-source-context.ts"],"mappings":";;;;KAGK,sBAAA,YAAkC,UAAU;AAAA,KAE5C,sBAAA;EACH,UAAA,GAAa,sBAAsB;AAAA;;;AAHY;AAAA;;;cAY3C,yBAAA,SAAkC,OAAA,CAAQ,sBAAA;EATX;AAAA;;EAa5B,aAAA,IAAiB,sBAAA;EAJsB;;;EAWvC,aAAA,CAAc,UAAA,EAAY,sBAAA;EAXK;;;EAkB/B,UAAA,IAAc,sBAAA;AAAA;AAAA,cAKV,yBAAA,EAAyB,yBAAkC"}
@@ -1,6 +1,6 @@
1
1
  import { Context, contextManager } from "@warlock.js/context";
2
2
 
3
- //#region ../@warlock.js/cascade/src/context/database-data-source-context.ts
3
+ //#region ../cascade/src/context/database-data-source-context.ts
4
4
  /**
5
5
  * Database DataSource Context
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"database-data-source-context.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/context/database-data-source-context.ts"],"sourcesContent":["import { Context, contextManager } from \"@warlock.js/context\";\nimport type { DataSource } from \"../data-source/data-source\";\n\ntype DataSourceContextValue = string | DataSource;\n\ntype DataSourceContextStore = {\n dataSource?: DataSourceContextValue;\n};\n\n/**\n * Database DataSource Context\n *\n * Manages the active database connection/data source using AsyncLocalStorage.\n * Extends the base Context class for consistent API.\n */\nclass DatabaseDataSourceContext extends Context<DataSourceContextStore> {\n /**\n * Get the current data source\n */\n public getDataSource(): DataSourceContextValue | undefined {\n return this.get(\"dataSource\");\n }\n\n /**\n * Set the data source in context\n */\n public setDataSource(dataSource: DataSourceContextValue): void {\n this.set(\"dataSource\", dataSource);\n }\n\n /**\n * Build the initial data source store with defaults\n */\n public buildStore(): DataSourceContextStore {\n return { dataSource: undefined };\n }\n}\n\nexport const databaseDataSourceContext = new DatabaseDataSourceContext();\n\ncontextManager.register(\"db.datasource\", databaseDataSourceContext);\n"],"mappings":";;;;;;;;;AAeA,IAAM,4BAAN,cAAwC,QAAgC;;;;CAItE,AAAO,gBAAoD;EACzD,OAAO,KAAK,IAAI,YAAY;CAC9B;;;;CAKA,AAAO,cAAc,YAA0C;EAC7D,KAAK,IAAI,cAAc,UAAU;CACnC;;;;CAKA,AAAO,aAAqC;EAC1C,OAAO,EAAE,YAAY,OAAU;CACjC;AACF;AAEA,MAAa,4BAA4B,IAAI,0BAA0B;AAEvE,eAAe,SAAS,iBAAiB,yBAAyB"}
1
+ {"version":3,"file":"database-data-source-context.mjs","names":[],"sources":["../../../../../../../cascade/src/context/database-data-source-context.ts"],"sourcesContent":["import { Context, contextManager } from \"@warlock.js/context\";\nimport type { DataSource } from \"../data-source/data-source\";\n\ntype DataSourceContextValue = string | DataSource;\n\ntype DataSourceContextStore = {\n dataSource?: DataSourceContextValue;\n};\n\n/**\n * Database DataSource Context\n *\n * Manages the active database connection/data source using AsyncLocalStorage.\n * Extends the base Context class for consistent API.\n */\nclass DatabaseDataSourceContext extends Context<DataSourceContextStore> {\n /**\n * Get the current data source\n */\n public getDataSource(): DataSourceContextValue | undefined {\n return this.get(\"dataSource\");\n }\n\n /**\n * Set the data source in context\n */\n public setDataSource(dataSource: DataSourceContextValue): void {\n this.set(\"dataSource\", dataSource);\n }\n\n /**\n * Build the initial data source store with defaults\n */\n public buildStore(): DataSourceContextStore {\n return { dataSource: undefined };\n }\n}\n\nexport const databaseDataSourceContext = new DatabaseDataSourceContext();\n\ncontextManager.register(\"db.datasource\", databaseDataSourceContext);\n"],"mappings":";;;;;;;;;AAeA,IAAM,4BAAN,cAAwC,QAAgC;;;;CAItE,AAAO,gBAAoD;EACzD,OAAO,KAAK,IAAI,YAAY;CAC9B;;;;CAKA,AAAO,cAAc,YAA0C;EAC7D,KAAK,IAAI,cAAc,UAAU;CACnC;;;;CAKA,AAAO,aAAqC;EAC1C,OAAO,EAAE,YAAY,OAAU;CACjC;AACF;AAEA,MAAa,4BAA4B,IAAI,0BAA0B;AAEvE,eAAe,SAAS,iBAAiB,yBAAyB"}
@@ -1,6 +1,6 @@
1
1
  import { Context } from "@warlock.js/context";
2
2
 
3
- //#region ../@warlock.js/cascade/src/context/database-transaction-context.d.ts
3
+ //#region ../cascade/src/context/database-transaction-context.d.ts
4
4
  interface TransactionContextStore {
5
5
  session?: unknown;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database-transaction-context.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/context/database-transaction-context.ts"],"mappings":";;;UAEU,uBAAA;EACR,OAAO;AAAA;;;;AAAA;AAAA;;cASH,0BAAA,SAAmC,OAAA,CAAQ,uBAAA;EAAA;;;EAIxC,UAAA,wBAAkC,QAAA;EAJK;;;EAWvC,oBAAA;EAPA;;;EAcA,UAAA,CAAW,OAAA;EAAX;;;EAOA,IAAA;EAOc;;AAAuB;EAArC,UAAA,IAAc,uBAAA;AAAA;AAAA,cAKV,0BAAA,EAA0B,0BAAmC"}
1
+ {"version":3,"file":"database-transaction-context.d.mts","names":[],"sources":["../../../../../../../cascade/src/context/database-transaction-context.ts"],"mappings":";;;UAEU,uBAAA;EACR,OAAO;AAAA;;;;AAAA;AAAA;;cASH,0BAAA,SAAmC,OAAA,CAAQ,uBAAA;EAAA;;;EAIxC,UAAA,wBAAkC,QAAA;EAJK;;;EAWvC,oBAAA;EAPA;;;EAcA,UAAA,CAAW,OAAA;EAAX;;;EAOA,IAAA;EAOc;;AAAuB;EAArC,UAAA,IAAc,uBAAA;AAAA;AAAA,cAKV,0BAAA,EAA0B,0BAAmC"}
@@ -1,6 +1,6 @@
1
1
  import { Context, contextManager } from "@warlock.js/context";
2
2
 
3
- //#region ../@warlock.js/cascade/src/context/database-transaction-context.ts
3
+ //#region ../cascade/src/context/database-transaction-context.ts
4
4
  /**
5
5
  * Database Transaction Context
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"database-transaction-context.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/context/database-transaction-context.ts"],"sourcesContent":["import { Context, contextManager } from \"@warlock.js/context\";\n\ninterface TransactionContextStore {\n session?: unknown;\n}\n\n/**\n * Database Transaction Context\n *\n * Manages database transaction sessions using AsyncLocalStorage.\n * Extends the base Context class for consistent API.\n */\nclass DatabaseTransactionContext extends Context<TransactionContextStore> {\n /**\n * Get the current transaction session\n */\n public getSession<TSession = unknown>(): TSession | undefined {\n return this.get(\"session\") as TSession | undefined;\n }\n\n /**\n * Check if there's an active transaction in the current context\n */\n public hasActiveTransaction(): boolean {\n return this.getSession() !== undefined;\n }\n\n /**\n * Set the transaction session in context\n */\n public setSession(session: unknown): void {\n this.set(\"session\", session);\n }\n\n /**\n * Exit the transaction context\n */\n public exit(): void {\n this.clear();\n }\n\n /**\n * Build the initial transaction store with defaults\n */\n public buildStore(): TransactionContextStore {\n return { session: undefined };\n }\n}\n\nexport const databaseTransactionContext = new DatabaseTransactionContext();\n\ncontextManager.register(\"db.transaction\", databaseTransactionContext);\n"],"mappings":";;;;;;;;;AAYA,IAAM,6BAAN,cAAyC,QAAiC;;;;CAIxE,AAAO,aAAuD;EAC5D,OAAO,KAAK,IAAI,SAAS;CAC3B;;;;CAKA,AAAO,uBAAgC;EACrC,OAAO,KAAK,WAAW,MAAM;CAC/B;;;;CAKA,AAAO,WAAW,SAAwB;EACxC,KAAK,IAAI,WAAW,OAAO;CAC7B;;;;CAKA,AAAO,OAAa;EAClB,KAAK,MAAM;CACb;;;;CAKA,AAAO,aAAsC;EAC3C,OAAO,EAAE,SAAS,OAAU;CAC9B;AACF;AAEA,MAAa,6BAA6B,IAAI,2BAA2B;AAEzE,eAAe,SAAS,kBAAkB,0BAA0B"}
1
+ {"version":3,"file":"database-transaction-context.mjs","names":[],"sources":["../../../../../../../cascade/src/context/database-transaction-context.ts"],"sourcesContent":["import { Context, contextManager } from \"@warlock.js/context\";\n\ninterface TransactionContextStore {\n session?: unknown;\n}\n\n/**\n * Database Transaction Context\n *\n * Manages database transaction sessions using AsyncLocalStorage.\n * Extends the base Context class for consistent API.\n */\nclass DatabaseTransactionContext extends Context<TransactionContextStore> {\n /**\n * Get the current transaction session\n */\n public getSession<TSession = unknown>(): TSession | undefined {\n return this.get(\"session\") as TSession | undefined;\n }\n\n /**\n * Check if there's an active transaction in the current context\n */\n public hasActiveTransaction(): boolean {\n return this.getSession() !== undefined;\n }\n\n /**\n * Set the transaction session in context\n */\n public setSession(session: unknown): void {\n this.set(\"session\", session);\n }\n\n /**\n * Exit the transaction context\n */\n public exit(): void {\n this.clear();\n }\n\n /**\n * Build the initial transaction store with defaults\n */\n public buildStore(): TransactionContextStore {\n return { session: undefined };\n }\n}\n\nexport const databaseTransactionContext = new DatabaseTransactionContext();\n\ncontextManager.register(\"db.transaction\", databaseTransactionContext);\n"],"mappings":";;;;;;;;;AAYA,IAAM,6BAAN,cAAyC,QAAiC;;;;CAIxE,AAAO,aAAuD;EAC5D,OAAO,KAAK,IAAI,SAAS;CAC3B;;;;CAKA,AAAO,uBAAgC;EACrC,OAAO,KAAK,WAAW,MAAM;CAC/B;;;;CAKA,AAAO,WAAW,SAAwB;EACxC,KAAK,IAAI,WAAW,OAAO;CAC7B;;;;CAKA,AAAO,OAAa;EAClB,KAAK,MAAM;CACb;;;;CAKA,AAAO,aAAsC;EAC3C,OAAO,EAAE,SAAS,OAAU;CAC9B;AACF;AAEA,MAAa,6BAA6B,IAAI,2BAA2B;AAEzE,eAAe,SAAS,kBAAkB,0BAA0B"}
@@ -7,7 +7,7 @@ import { SQLSerializer } from "../migration/sql-serializer.mjs";
7
7
  import { QueryBuilderContract } from "./query-builder.contract.mjs";
8
8
  import { SyncAdapterContract } from "./sync-adapter.contract.mjs";
9
9
 
10
- //#region ../@warlock.js/cascade/src/contracts/database-driver.contract.d.ts
10
+ //#region ../cascade/src/contracts/database-driver.contract.d.ts
11
11
  /** Supported driver lifecycle events. */
12
12
  type DriverEvent = "connected" | "disconnected" | string;
13
13
  /** Listener signature for driver lifecycle events. */
@@ -1 +1 @@
1
- {"version":3,"file":"database-driver.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/database-driver.contract.ts"],"mappings":"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"}
1
+ {"version":3,"file":"database-driver.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/database-driver.contract.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- //#region ../@warlock.js/cascade/src/contracts/database-id-generator.contract.d.ts
1
+ //#region ../cascade/src/contracts/database-id-generator.contract.d.ts
2
2
  /**
3
3
  * Options for generating the next ID.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"database-id-generator.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/database-id-generator.contract.ts"],"mappings":";;AAGA;;KAAY,iBAAA;EAAiB,gCAE3B,KAAA,UAEA;EAAA,SAAA,WAEa;EAAb,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyI6C;;;;UAvG9B,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;EAwBf,cAAA,CAAe,OAAA,EAAS,iBAAA,GAAoB,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC5C,eAAA,EAAiB,OAAA,EAAS,iBAAA;IAAsB,KAAA;EAAA,IAAkB,OAAA;;;;;;;;;;;;;;;EAgBlE,SAAA,CAAU,KAAA,WAAgB,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;EA0B1B,SAAA,CAAU,KAAA,UAAe,EAAA,WAAa,OAAA;AAAA"}
1
+ {"version":3,"file":"database-id-generator.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/database-id-generator.contract.ts"],"mappings":";;AAGA;;KAAY,iBAAA;EAAiB,gCAE3B,KAAA,UAEA;EAAA,SAAA,WAEa;EAAb,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyI6C;;;;UAvG9B,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;EAwBf,cAAA,CAAe,OAAA,EAAS,iBAAA,GAAoB,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC5C,eAAA,EAAiB,OAAA,EAAS,iBAAA;IAAsB,KAAA;EAAA,IAAkB,OAAA;;;;;;;;;;;;;;;EAgBlE,SAAA,CAAU,KAAA,WAAgB,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;EA0B1B,SAAA,CAAU,KAAA,UAAe,EAAA,WAAa,OAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { DeleteStrategy } from "../types.mjs";
2
2
 
3
- //#region ../@warlock.js/cascade/src/contracts/database-remover.contract.d.ts
3
+ //#region ../cascade/src/contracts/database-remover.contract.d.ts
4
4
  /**
5
5
  * Remover service contract for deleting models from the database.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"database-remover.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/database-remover.contract.ts"],"mappings":";;;;;AAuBA;;;;;;;;;;;;;;AA4B0D;AAM1D;;;;UAlCiB,eAAA;EAyCJ;;;;AAgBH;AAMV;;;;;;;;;;;AAuBsB;;;;;;;;;;;EA1DpB,OAAA,CAAQ,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;AAAA;;;;KAMjC,cAAA;;;;;;;EAOV,QAAA,GAAW,cAAc;;;;;;;EAQzB,UAAA;;;;;;;EAQA,QAAA;AAAA;;;;KAMU,aAAA;;;;EAIV,OAAA;;;;;;;EAQA,YAAA;;;;EAKA,QAAA,EAAU,cAAA;;;;;EAMV,WAAA,GAAc,MAAM;AAAA"}
1
+ {"version":3,"file":"database-remover.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/database-remover.contract.ts"],"mappings":";;;;;AAuBA;;;;;;;;;;;;;;AA4B0D;AAM1D;;;;UAlCiB,eAAA;EAyCJ;;;;AAgBH;AAMV;;;;;;;;;;;AAuBsB;;;;;;;;;;;EA1DpB,OAAA,CAAQ,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;AAAA;;;;KAMjC,cAAA;;;;;;;EAOV,QAAA,GAAW,cAAc;;;;;;;EAQzB,UAAA;;;;;;;EAQA,QAAA;AAAA;;;;KAMU,aAAA;;;;EAIV,OAAA;;;;;;;EAQA,YAAA;;;;EAKA,QAAA,EAAU,cAAA;;;;;EAMV,WAAA,GAAc,MAAM;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Model } from "../model/model.mjs";
2
2
 
3
- //#region ../@warlock.js/cascade/src/contracts/database-restorer.contract.d.ts
3
+ //#region ../cascade/src/contracts/database-restorer.contract.d.ts
4
4
  /**
5
5
  * Restorer service contract for restoring deleted models from the database.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"database-restorer.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/database-restorer.contract.ts"],"mappings":";;;;;AAsBA;;;;;;;;;;;;;;;;;;UAAiB,gBAAA;EAqDJ;;;;AAAkD;AAM/D;;;;;;;;AA2BY;AAMZ;;;;;;;;;;;;;;;EA9DE,OAAA,CACE,EAAA,mBACA,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,cAAA;EA8FC;;;;AAIJ;;;;;;;;;;;;;;EA9ER,UAAA,CAAW,OAAA,GAAU,eAAA,GAAkB,OAAA,CAAQ,cAAA;AAAA;;;;KAMrC,eAAA;;;;;;;;;EASV,QAAA;;;;;;;;;EAUA,YAAA;;;;;;;EAQA,UAAA;AAAA;;;;KAMU,cAAA;;;;EAIV,OAAA;;;;;;EAOA,aAAA;;;;;;EAOA,QAAA;;;;;EAMA,cAAA,GAAiB,KAAA;;;;EAKjB,eAAA,GAAkB,KAAA;;;;;EAMlB,SAAA,GAAY,KAAA;0CAEV,EAAA;IAEA,MAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"database-restorer.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/database-restorer.contract.ts"],"mappings":";;;;;AAsBA;;;;;;;;;;;;;;;;;;UAAiB,gBAAA;EAqDJ;;;;AAAkD;AAM/D;;;;;;;;AA2BY;AAMZ;;;;;;;;;;;;;;;EA9DE,OAAA,CACE,EAAA,mBACA,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,cAAA;EA8FC;;;;AAIJ;;;;;;;;;;;;;;EA9ER,UAAA,CAAW,OAAA,GAAU,eAAA,GAAkB,OAAA,CAAQ,cAAA;AAAA;;;;KAMrC,eAAA;;;;;;;;;EASV,QAAA;;;;;;;;;EAUA,YAAA;;;;;;;EAQA,UAAA;AAAA;;;;KAMU,cAAA;;;;EAIV,OAAA;;;;;;EAOA,aAAA;;;;;;EAOA,QAAA;;;;;EAMA,cAAA,GAAiB,KAAA;;;;EAKjB,eAAA,GAAkB,KAAA;;;;;EAMlB,SAAA,GAAY,KAAA;0CAEV,EAAA;IAEA,MAAA;EAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { UpdateOperations } from "./database-driver.contract.mjs";
2
2
 
3
- //#region ../@warlock.js/cascade/src/contracts/database-writer.contract.d.ts
3
+ //#region ../cascade/src/contracts/database-writer.contract.d.ts
4
4
  /**
5
5
  * Writer service contract for persisting models to the database.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"database-writer.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/database-writer.contract.ts"],"mappings":";;;;;AAuBA;;;;;;;;;;;;;;AA+BqD;AAMrD;;;;UArCiB,cAAA;EAoDf;;;;AAeO;AAMT;;;;;;;;;;AAuBe;AAQf;;;;AAA0D;;;;;;;;;;EAzExD,IAAA,CAAK,OAAA,GAAU,aAAA,GAAgB,OAAA,CAAQ,YAAA;AAAA;;;;KAM7B,aAAA;;;;;;;EAOV,cAAA;;;;;;;EAQA,UAAA;;;;;;;EAQA,QAAA;;;;;;EAOA,OAAA;AAAA;;;;KAMU,YAAA;;;;EAIV,OAAA;;;;;EAMA,QAAA,EAAU,MAAM;;;;;;EAOhB,KAAA;;;;;EAMA,aAAA;AAAA;;;;;;KAQU,2BAAA,GAA8B,gBAAgB"}
1
+ {"version":3,"file":"database-writer.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/database-writer.contract.ts"],"mappings":";;;;;AAuBA;;;;;;;;;;;;;;AA+BqD;AAMrD;;;;UArCiB,cAAA;EAoDf;;;;AAeO;AAMT;;;;;;;;;;AAuBe;AAQf;;;;AAA0D;;;;;;;;;;EAzExD,IAAA,CAAK,OAAA,GAAU,aAAA,GAAgB,OAAA,CAAQ,YAAA;AAAA;;;;KAM7B,aAAA;;;;;;;EAOV,cAAA;;;;;;;EAQA,UAAA;;;;;;;EAQA,QAAA;;;;;;EAOA,OAAA;AAAA;;;;KAMU,YAAA;;;;EAIV,OAAA;;;;;EAMA,QAAA,EAAU,MAAM;;;;;;EAOhB,KAAA;;;;;EAMA,aAAA;AAAA;;;;;;KAQU,2BAAA,GAA8B,gBAAgB"}
@@ -1,4 +1,4 @@
1
- //#region ../@warlock.js/cascade/src/contracts/driver-blueprint.contract.d.ts
1
+ //#region ../cascade/src/contracts/driver-blueprint.contract.d.ts
2
2
  interface DriverBlueprintContract {
3
3
  /**
4
4
  * Get tables list
@@ -1 +1 @@
1
- {"version":3,"file":"driver-blueprint.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/driver-blueprint.contract.ts"],"mappings":";UAAiB,uBAAA;EAAA;;;EAIf,UAAA,IAAc,OAAA;EAIsB;;;EAApC,WAAA,CAAY,KAAA,WAAgB,OAAA,CAAQ,qBAAA;EAeR;;;EAV5B,UAAA,IAAc,OAAA;EATA;;;EAcd,WAAA,CAAY,KAAA,WAAgB,OAAA;EAVQ;;;EAepC,WAAA,CAAY,KAAA,WAAgB,OAAA;AAAA;AAAA,KAGlB,qBAAA;EAHV;;;EAOA,IAAA;EAPmC;AAGrC;;EASE,OAAA;EAoBe;;;EAff,IAAA;EAKA;;;EAAA,MAAA;EAUe;AAAA;;EALf,OAAA;;;;EAKA,OAAA,EAAS,MAAM;AAAA"}
1
+ {"version":3,"file":"driver-blueprint.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/driver-blueprint.contract.ts"],"mappings":";UAAiB,uBAAA;EAAA;;;EAIf,UAAA,IAAc,OAAA;EAIsB;;;EAApC,WAAA,CAAY,KAAA,WAAgB,OAAA,CAAQ,qBAAA;EAeR;;;EAV5B,UAAA,IAAc,OAAA;EATA;;;EAcd,WAAA,CAAY,KAAA,WAAgB,OAAA;EAVQ;;;EAepC,WAAA,CAAY,KAAA,WAAgB,OAAA;AAAA;AAAA,KAGlB,qBAAA;EAHV;;;EAOA,IAAA;EAPmC;AAGrC;;EASE,OAAA;EAoBe;;;EAff,IAAA;EAKA;;;EAAA,MAAA;EAUe;AAAA;;EALf,OAAA;;;;EAKA,OAAA,EAAS,MAAM;AAAA"}
@@ -3,7 +3,7 @@ import { TableIndexInformation } from "./driver-blueprint.contract.mjs";
3
3
  import { DriverContract } from "./database-driver.contract.mjs";
4
4
  import { DataSource } from "../data-source/data-source.mjs";
5
5
 
6
- //#region ../@warlock.js/cascade/src/contracts/migration-driver.contract.d.ts
6
+ //#region ../cascade/src/contracts/migration-driver.contract.d.ts
7
7
  /**
8
8
  * Column data types supported across all database drivers.
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"migration-driver.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/migration-driver.contract.ts"],"mappings":"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"}
1
+ {"version":3,"file":"migration-driver.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/migration-driver.contract.ts"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { GlobalScopeDefinition, LocalScopeCallback } from "../model/model.types.mjs";
2
- //#region ../@warlock.js/cascade/src/contracts/query-builder.contract.d.ts
2
+ //#region ../cascade/src/contracts/query-builder.contract.d.ts
3
3
  /**
4
4
  * Ordering direction supported by query builders.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/query-builder.contract.ts"],"mappings":"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"}
1
+ {"version":3,"file":"query-builder.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/query-builder.contract.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- //#region ../@warlock.js/cascade/src/contracts/sync-adapter.contract.d.ts
1
+ //#region ../cascade/src/contracts/sync-adapter.contract.d.ts
2
2
  /**
3
3
  * Instruction for a sync operation.
4
4
  * Contains all information needed to perform a sync update.
@@ -1 +1 @@
1
- {"version":3,"file":"sync-adapter.contract.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/contracts/sync-adapter.contract.ts"],"mappings":";;AAIA;;;KAAY,eAAA;EAEV,mCAAA,WAAA,UAMA;EAHA,WAAA,UAMA;EAHA,MAAA,EAAQ,MAAA,mBAMR;EAHA,MAAA,EAAQ,MAAM,mBASd;EANA,KAAA,UAYA;EATA,KAAA,YAeA;EAZA,WAAA,UAee;EAZf,QAAA,mBAmBe;EAhBf,aAAA;EAGA,UAAA,WAoB+C;EAjB/C,eAAA,WAyB0C;EAtB1C,eAAA;AAAA;;;;;UAOe,mBAAA;EAOgC;;;;;;EAA/C,YAAA,CAAa,YAAA,EAAc,eAAA,KAAoB,OAAA;EAgB5B;;;AAAsC;;;EARzD,UAAA,CAAW,WAAA,EAAa,eAAA,GAAkB,OAAA;;;;;;;EAQ1C,kBAAA,CAAmB,WAAA,EAAa,eAAA,GAAkB,OAAA;AAAA"}
1
+ {"version":3,"file":"sync-adapter.contract.d.mts","names":[],"sources":["../../../../../../../cascade/src/contracts/sync-adapter.contract.ts"],"mappings":";;AAIA;;;KAAY,eAAA;EAEV,mCAAA,WAAA,UAMA;EAHA,WAAA,UAMA;EAHA,MAAA,EAAQ,MAAA,mBAMR;EAHA,MAAA,EAAQ,MAAM,mBASd;EANA,KAAA,UAYA;EATA,KAAA,YAeA;EAZA,WAAA,UAee;EAZf,QAAA,mBAmBe;EAhBf,aAAA;EAGA,UAAA,WAoB+C;EAjB/C,eAAA,WAyB0C;EAtB1C,eAAA;AAAA;;;;;UAOe,mBAAA;EAOgC;;;;;;EAA/C,YAAA,CAAa,YAAA,EAAc,eAAA,KAAoB,OAAA;EAgB5B;;;AAAsC;;;EARzD,UAAA,CAAW,WAAA,EAAa,eAAA,GAAkB,OAAA;;;;;;;EAQ1C,kBAAA,CAAmB,WAAA,EAAa,eAAA,GAAkB,OAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { DataSource, DataSourceOptions } from "./data-source.mjs";
2
2
 
3
- //#region ../@warlock.js/cascade/src/data-source/data-source-registry.d.ts
3
+ //#region ../cascade/src/data-source/data-source-registry.d.ts
4
4
  /**
5
5
  * Event types emitted by the DataSourceRegistry.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"data-source-registry.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/data-source/data-source-registry.ts"],"mappings":";;;;;AAaA;;;;AAAmC;AASnC;KATY,uBAAA;;;AASoD;KAApD,0BAAA,IAA8B,UAAsB,EAAV,UAAU;;cAG1D,kBAAA;EAAA,iBACa,OAAA;EAAA,QACT,aAAA;EAAA,iBACS,MAAA;EAkFmC;;;;;;;;;;;;;;;EAjE7C,QAAA,CAAS,OAAA,EAAS,iBAAA,GAAoB,UAAA;EA+BtC;;;EAAA,KAAA;EAkC6C;;;;;;;;;;;;;;;;;;AA8Ed;AAKxC;;;;AAA0D;;;;;;EAnFjD,EAAA,CAAG,KAAA,EAAO,uBAAA,EAAyB,QAAA,EAAU,0BAAA;;;;;;;;;EAY7C,IAAA,CAAK,KAAA,EAAO,uBAAA,EAAyB,QAAA,EAAU,0BAAA;;;;;;;EAU/C,GAAA,CAAI,KAAA,EAAO,uBAAA,EAAyB,QAAA,EAAU,0BAAA;;EAK9C,GAAA,CAAI,IAAA,YAAgB,UAAA;;;;;;;;;;;;;;;;;EAmDpB,iBAAA,IAAqB,UAAA;AAAA;AAAA,cAKjB,kBAAA,EAAkB,kBAA2B"}
1
+ {"version":3,"file":"data-source-registry.d.mts","names":[],"sources":["../../../../../../../cascade/src/data-source/data-source-registry.ts"],"mappings":";;;;;AAaA;;;;AAAmC;AASnC;KATY,uBAAA;;;AASoD;KAApD,0BAAA,IAA8B,UAAsB,EAAV,UAAU;;cAG1D,kBAAA;EAAA,iBACa,OAAA;EAAA,QACT,aAAA;EAAA,iBACS,MAAA;EAkFmC;;;;;;;;;;;;;;;EAjE7C,QAAA,CAAS,OAAA,EAAS,iBAAA,GAAoB,UAAA;EA+BtC;;;EAAA,KAAA;EAkC6C;;;;;;;;;;;;;;;;;;AA8Ed;AAKxC;;;;AAA0D;;;;;;EAnFjD,EAAA,CAAG,KAAA,EAAO,uBAAA,EAAyB,QAAA,EAAU,0BAAA;;;;;;;;;EAY7C,IAAA,CAAK,KAAA,EAAO,uBAAA,EAAyB,QAAA,EAAU,0BAAA;;;;;;;EAU/C,GAAA,CAAI,KAAA,EAAO,uBAAA,EAAyB,QAAA,EAAU,0BAAA;;EAK9C,GAAA,CAAI,IAAA,YAAgB,UAAA;;;;;;;;;;;;;;;;;EAmDpB,iBAAA,IAAqB,UAAA;AAAA;AAAA,cAKjB,kBAAA,EAAkB,kBAA2B"}
@@ -3,7 +3,7 @@ import { DataSource } from "./data-source.mjs";
3
3
  import { MissingDataSourceError } from "../errors/missing-data-source.error.mjs";
4
4
  import { EventEmitter } from "node:events";
5
5
 
6
- //#region ../@warlock.js/cascade/src/data-source/data-source-registry.ts
6
+ //#region ../cascade/src/data-source/data-source-registry.ts
7
7
  /** Maintains registry of named data sources. */
8
8
  var DataSourceRegistry = class {
9
9
  sources = /* @__PURE__ */ new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"data-source-registry.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/data-source/data-source-registry.ts"],"sourcesContent":["import { EventEmitter } from \"node:events\";\nimport { databaseDataSourceContext } from \"../context/database-data-source-context\";\nimport { MissingDataSourceError } from \"../errors/missing-data-source.error\";\nimport { DataSource, type DataSourceOptions } from \"./data-source\";\n\n/**\n * Event types emitted by the DataSourceRegistry.\n *\n * - `registered`: Emitted when any data source is registered\n * - `default-registered`: Emitted when a default data source is registered\n * - `connected`: Emitted when a data source's driver connects\n * - `disconnected`: Emitted when a data source's driver disconnects\n */\nexport type DataSourceRegistryEvent =\n | \"registered\"\n | \"default-registered\"\n | \"connected\"\n | \"disconnected\";\n\n/**\n * Callback signature for registry events.\n */\nexport type DataSourceRegistryListener = (dataSource: DataSource) => void;\n\n/** Maintains registry of named data sources. */\nclass DataSourceRegistry {\n private readonly sources = new Map<string, DataSource>();\n private defaultSource?: DataSource;\n private readonly events = new EventEmitter();\n\n /**\n * Register a new data source definition.\n *\n * Sets up event forwarding from the driver to the registry, allowing\n * centralized listening for connection state changes.\n *\n * **Emits:**\n * - `registered` - When the data source is registered\n * - `default-registered` - If this becomes the default data source\n * - `connected` - When the driver connects (forwarded from driver)\n * - `disconnected` - When the driver disconnects (forwarded from driver)\n *\n * @param options - Data source configuration\n * @returns The registered data source instance\n */\n public register(options: DataSourceOptions): DataSource {\n const source = new DataSource(options);\n this.sources.set(source.name, source);\n\n const isNewDefault = source.isDefault || !this.defaultSource;\n\n if (isNewDefault) {\n this.defaultSource = source;\n }\n\n // Emit registration events\n this.events.emit(\"registered\", source);\n\n if (isNewDefault) {\n this.events.emit(\"default-registered\", source);\n }\n\n source.driver.on(\"connected\", () => {\n this.events.emit(\"connected\", source);\n });\n\n source.driver.on(\"disconnected\", () => {\n this.events.emit(\"disconnected\", source);\n });\n\n return source;\n }\n\n /**\n * Clean up all data sources and default one\n */\n public clear() {\n this.defaultSource = undefined;\n this.sources.clear();\n }\n\n /**\n * Listen for data source registry events.\n *\n * @param event - The event to listen for\n * @param listener - Callback to execute when event fires\n *\n * @example\n * ```typescript\n * // Listen for registration\n * dataSourceRegistry.on(\"registered\", (ds) => {\n * console.log(`Data source \"${ds.name}\" registered`);\n * console.log(`Driver: ${ds.driver.name}`); // e.g., \"mongodb\"\n * });\n *\n * // Listen for default data source\n * dataSourceRegistry.on(\"default-registered\", (ds) => {\n * console.log(`Default data source set to \"${ds.name}\"`);\n * });\n *\n * // Listen for connection events (forwarded from drivers)\n * dataSourceRegistry.on(\"connected\", (ds) => {\n * console.log(`${ds.driver.name} data source \"${ds.name}\" connected`);\n * });\n *\n * dataSourceRegistry.on(\"disconnected\", (ds) => {\n * console.log(`${ds.driver.name} data source \"${ds.name}\" disconnected`);\n * });\n * ```\n */\n public on(event: DataSourceRegistryEvent, listener: DataSourceRegistryListener): void {\n this.events.on(event, listener);\n }\n\n /**\n * Listen for a data source registration event once.\n *\n * The listener is automatically removed after being called once.\n *\n * @param event - The event to listen for\n * @param listener - Callback to execute when event fires\n */\n public once(event: DataSourceRegistryEvent, listener: DataSourceRegistryListener): void {\n this.events.once(event, listener);\n }\n\n /**\n * Remove a listener for a data source registration event.\n *\n * @param event - The event to stop listening for\n * @param listener - The listener to remove\n */\n public off(event: DataSourceRegistryEvent, listener: DataSourceRegistryListener): void {\n this.events.off(event, listener);\n }\n\n /** Retrieve a data source either by name or the default one. */\n public get(name?: string): DataSource {\n const contextSource = name == null ? databaseDataSourceContext.getDataSource() : null;\n\n if (contextSource) {\n if (contextSource instanceof DataSource) {\n return contextSource;\n }\n\n const override = this.sources.get(contextSource);\n\n if (!override) {\n throw new MissingDataSourceError(\n `Data source \"${contextSource}\" is not registered (context override).`,\n contextSource,\n );\n }\n\n return override;\n }\n\n if (name != null) {\n const source = this.sources.get(name);\n if (!source) {\n throw new MissingDataSourceError(`Data source \"${name}\" is not registered.`, name);\n }\n return source;\n }\n\n if (!this.defaultSource) {\n throw new MissingDataSourceError(\"No default data source registered.\");\n }\n\n return this.defaultSource;\n }\n\n /**\n * Get all registered data sources.\n *\n * Useful for operations that need to iterate over all sources,\n * such as shutting down all connections.\n *\n * @returns Array of all registered data sources\n *\n * @example\n * ```typescript\n * // Shutdown all data sources\n * for (const dataSource of dataSourceRegistry.getAllDataSources()) {\n * await dataSource.driver.disconnect();\n * }\n * ```\n */\n public getAllDataSources(): DataSource[] {\n return Array.from(this.sources.values());\n }\n}\n\nexport const dataSourceRegistry = new DataSourceRegistry();\n"],"mappings":";;;;;;;AAyBA,IAAM,qBAAN,MAAyB;CACvB,AAAiB,0BAAU,IAAI,IAAwB;CACvD,AAAQ;CACR,AAAiB,SAAS,IAAI,aAAa;;;;;;;;;;;;;;;;CAiB3C,AAAO,SAAS,SAAwC;EACtD,MAAM,SAAS,IAAI,WAAW,OAAO;EACrC,KAAK,QAAQ,IAAI,OAAO,MAAM,MAAM;EAEpC,MAAM,eAAe,OAAO,aAAa,CAAC,KAAK;EAE/C,IAAI,cACF,KAAK,gBAAgB;EAIvB,KAAK,OAAO,KAAK,cAAc,MAAM;EAErC,IAAI,cACF,KAAK,OAAO,KAAK,sBAAsB,MAAM;EAG/C,OAAO,OAAO,GAAG,mBAAmB;GAClC,KAAK,OAAO,KAAK,aAAa,MAAM;EACtC,CAAC;EAED,OAAO,OAAO,GAAG,sBAAsB;GACrC,KAAK,OAAO,KAAK,gBAAgB,MAAM;EACzC,CAAC;EAED,OAAO;CACT;;;;CAKA,AAAO,QAAQ;EACb,KAAK,gBAAgB;EACrB,KAAK,QAAQ,MAAM;CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BA,AAAO,GAAG,OAAgC,UAA4C;EACpF,KAAK,OAAO,GAAG,OAAO,QAAQ;CAChC;;;;;;;;;CAUA,AAAO,KAAK,OAAgC,UAA4C;EACtF,KAAK,OAAO,KAAK,OAAO,QAAQ;CAClC;;;;;;;CAQA,AAAO,IAAI,OAAgC,UAA4C;EACrF,KAAK,OAAO,IAAI,OAAO,QAAQ;CACjC;;CAGA,AAAO,IAAI,MAA2B;EACpC,MAAM,gBAAgB,QAAQ,OAAO,0BAA0B,cAAc,IAAI;EAEjF,IAAI,eAAe;GACjB,IAAI,yBAAyB,YAC3B,OAAO;GAGT,MAAM,WAAW,KAAK,QAAQ,IAAI,aAAa;GAE/C,IAAI,CAAC,UACH,MAAM,IAAI,uBACR,gBAAgB,cAAc,0CAC9B,aACF;GAGF,OAAO;EACT;EAEA,IAAI,QAAQ,MAAM;GAChB,MAAM,SAAS,KAAK,QAAQ,IAAI,IAAI;GACpC,IAAI,CAAC,QACH,MAAM,IAAI,uBAAuB,gBAAgB,KAAK,uBAAuB,IAAI;GAEnF,OAAO;EACT;EAEA,IAAI,CAAC,KAAK,eACR,MAAM,IAAI,uBAAuB,oCAAoC;EAGvE,OAAO,KAAK;CACd;;;;;;;;;;;;;;;;;CAkBA,AAAO,oBAAkC;EACvC,OAAO,MAAM,KAAK,KAAK,QAAQ,OAAO,CAAC;CACzC;AACF;AAEA,MAAa,qBAAqB,IAAI,mBAAmB"}
1
+ {"version":3,"file":"data-source-registry.mjs","names":[],"sources":["../../../../../../../cascade/src/data-source/data-source-registry.ts"],"sourcesContent":["import { EventEmitter } from \"node:events\";\nimport { databaseDataSourceContext } from \"../context/database-data-source-context\";\nimport { MissingDataSourceError } from \"../errors/missing-data-source.error\";\nimport { DataSource, type DataSourceOptions } from \"./data-source\";\n\n/**\n * Event types emitted by the DataSourceRegistry.\n *\n * - `registered`: Emitted when any data source is registered\n * - `default-registered`: Emitted when a default data source is registered\n * - `connected`: Emitted when a data source's driver connects\n * - `disconnected`: Emitted when a data source's driver disconnects\n */\nexport type DataSourceRegistryEvent =\n | \"registered\"\n | \"default-registered\"\n | \"connected\"\n | \"disconnected\";\n\n/**\n * Callback signature for registry events.\n */\nexport type DataSourceRegistryListener = (dataSource: DataSource) => void;\n\n/** Maintains registry of named data sources. */\nclass DataSourceRegistry {\n private readonly sources = new Map<string, DataSource>();\n private defaultSource?: DataSource;\n private readonly events = new EventEmitter();\n\n /**\n * Register a new data source definition.\n *\n * Sets up event forwarding from the driver to the registry, allowing\n * centralized listening for connection state changes.\n *\n * **Emits:**\n * - `registered` - When the data source is registered\n * - `default-registered` - If this becomes the default data source\n * - `connected` - When the driver connects (forwarded from driver)\n * - `disconnected` - When the driver disconnects (forwarded from driver)\n *\n * @param options - Data source configuration\n * @returns The registered data source instance\n */\n public register(options: DataSourceOptions): DataSource {\n const source = new DataSource(options);\n this.sources.set(source.name, source);\n\n const isNewDefault = source.isDefault || !this.defaultSource;\n\n if (isNewDefault) {\n this.defaultSource = source;\n }\n\n // Emit registration events\n this.events.emit(\"registered\", source);\n\n if (isNewDefault) {\n this.events.emit(\"default-registered\", source);\n }\n\n source.driver.on(\"connected\", () => {\n this.events.emit(\"connected\", source);\n });\n\n source.driver.on(\"disconnected\", () => {\n this.events.emit(\"disconnected\", source);\n });\n\n return source;\n }\n\n /**\n * Clean up all data sources and default one\n */\n public clear() {\n this.defaultSource = undefined;\n this.sources.clear();\n }\n\n /**\n * Listen for data source registry events.\n *\n * @param event - The event to listen for\n * @param listener - Callback to execute when event fires\n *\n * @example\n * ```typescript\n * // Listen for registration\n * dataSourceRegistry.on(\"registered\", (ds) => {\n * console.log(`Data source \"${ds.name}\" registered`);\n * console.log(`Driver: ${ds.driver.name}`); // e.g., \"mongodb\"\n * });\n *\n * // Listen for default data source\n * dataSourceRegistry.on(\"default-registered\", (ds) => {\n * console.log(`Default data source set to \"${ds.name}\"`);\n * });\n *\n * // Listen for connection events (forwarded from drivers)\n * dataSourceRegistry.on(\"connected\", (ds) => {\n * console.log(`${ds.driver.name} data source \"${ds.name}\" connected`);\n * });\n *\n * dataSourceRegistry.on(\"disconnected\", (ds) => {\n * console.log(`${ds.driver.name} data source \"${ds.name}\" disconnected`);\n * });\n * ```\n */\n public on(event: DataSourceRegistryEvent, listener: DataSourceRegistryListener): void {\n this.events.on(event, listener);\n }\n\n /**\n * Listen for a data source registration event once.\n *\n * The listener is automatically removed after being called once.\n *\n * @param event - The event to listen for\n * @param listener - Callback to execute when event fires\n */\n public once(event: DataSourceRegistryEvent, listener: DataSourceRegistryListener): void {\n this.events.once(event, listener);\n }\n\n /**\n * Remove a listener for a data source registration event.\n *\n * @param event - The event to stop listening for\n * @param listener - The listener to remove\n */\n public off(event: DataSourceRegistryEvent, listener: DataSourceRegistryListener): void {\n this.events.off(event, listener);\n }\n\n /** Retrieve a data source either by name or the default one. */\n public get(name?: string): DataSource {\n const contextSource = name == null ? databaseDataSourceContext.getDataSource() : null;\n\n if (contextSource) {\n if (contextSource instanceof DataSource) {\n return contextSource;\n }\n\n const override = this.sources.get(contextSource);\n\n if (!override) {\n throw new MissingDataSourceError(\n `Data source \"${contextSource}\" is not registered (context override).`,\n contextSource,\n );\n }\n\n return override;\n }\n\n if (name != null) {\n const source = this.sources.get(name);\n if (!source) {\n throw new MissingDataSourceError(`Data source \"${name}\" is not registered.`, name);\n }\n return source;\n }\n\n if (!this.defaultSource) {\n throw new MissingDataSourceError(\"No default data source registered.\");\n }\n\n return this.defaultSource;\n }\n\n /**\n * Get all registered data sources.\n *\n * Useful for operations that need to iterate over all sources,\n * such as shutting down all connections.\n *\n * @returns Array of all registered data sources\n *\n * @example\n * ```typescript\n * // Shutdown all data sources\n * for (const dataSource of dataSourceRegistry.getAllDataSources()) {\n * await dataSource.driver.disconnect();\n * }\n * ```\n */\n public getAllDataSources(): DataSource[] {\n return Array.from(this.sources.values());\n }\n}\n\nexport const dataSourceRegistry = new DataSourceRegistry();\n"],"mappings":";;;;;;;AAyBA,IAAM,qBAAN,MAAyB;CACvB,AAAiB,0BAAU,IAAI,IAAwB;CACvD,AAAQ;CACR,AAAiB,SAAS,IAAI,aAAa;;;;;;;;;;;;;;;;CAiB3C,AAAO,SAAS,SAAwC;EACtD,MAAM,SAAS,IAAI,WAAW,OAAO;EACrC,KAAK,QAAQ,IAAI,OAAO,MAAM,MAAM;EAEpC,MAAM,eAAe,OAAO,aAAa,CAAC,KAAK;EAE/C,IAAI,cACF,KAAK,gBAAgB;EAIvB,KAAK,OAAO,KAAK,cAAc,MAAM;EAErC,IAAI,cACF,KAAK,OAAO,KAAK,sBAAsB,MAAM;EAG/C,OAAO,OAAO,GAAG,mBAAmB;GAClC,KAAK,OAAO,KAAK,aAAa,MAAM;EACtC,CAAC;EAED,OAAO,OAAO,GAAG,sBAAsB;GACrC,KAAK,OAAO,KAAK,gBAAgB,MAAM;EACzC,CAAC;EAED,OAAO;CACT;;;;CAKA,AAAO,QAAQ;EACb,KAAK,gBAAgB;EACrB,KAAK,QAAQ,MAAM;CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BA,AAAO,GAAG,OAAgC,UAA4C;EACpF,KAAK,OAAO,GAAG,OAAO,QAAQ;CAChC;;;;;;;;;CAUA,AAAO,KAAK,OAAgC,UAA4C;EACtF,KAAK,OAAO,KAAK,OAAO,QAAQ;CAClC;;;;;;;CAQA,AAAO,IAAI,OAAgC,UAA4C;EACrF,KAAK,OAAO,IAAI,OAAO,QAAQ;CACjC;;CAGA,AAAO,IAAI,MAA2B;EACpC,MAAM,gBAAgB,QAAQ,OAAO,0BAA0B,cAAc,IAAI;EAEjF,IAAI,eAAe;GACjB,IAAI,yBAAyB,YAC3B,OAAO;GAGT,MAAM,WAAW,KAAK,QAAQ,IAAI,aAAa;GAE/C,IAAI,CAAC,UACH,MAAM,IAAI,uBACR,gBAAgB,cAAc,0CAC9B,aACF;GAGF,OAAO;EACT;EAEA,IAAI,QAAQ,MAAM;GAChB,MAAM,SAAS,KAAK,QAAQ,IAAI,IAAI;GACpC,IAAI,CAAC,QACH,MAAM,IAAI,uBAAuB,gBAAgB,KAAK,uBAAuB,IAAI;GAEnF,OAAO;EACT;EAEA,IAAI,CAAC,KAAK,eACR,MAAM,IAAI,uBAAuB,oCAAoC;EAGvE,OAAO,KAAK;CACd;;;;;;;;;;;;;;;;;CAkBA,AAAO,oBAAkC;EACvC,OAAO,MAAM,KAAK,KAAK,QAAQ,OAAO,CAAC;CACzC;AACF;AAEA,MAAa,qBAAqB,IAAI,mBAAmB"}
@@ -1,7 +1,7 @@
1
1
  import { DeleteStrategy, MigrationDefaults, ModelDefaults, RelationDefaults } from "../types.mjs";
2
2
  import { DriverContract, RawQueryResult } from "../contracts/database-driver.contract.mjs";
3
3
  import { IdGeneratorContract } from "../contracts/database-id-generator.contract.mjs";
4
- //#region ../@warlock.js/cascade/src/data-source/data-source.d.ts
4
+ //#region ../cascade/src/data-source/data-source.d.ts
5
5
  /**
6
6
  * Configuration options used when registering a data source.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"data-source.d.mts","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/data-source/data-source.ts"],"mappings":";;;;;;;KAMY,iBAAA;EAAA,+CAEV,IAAA;EAEA,MAAA,EAAQ,cAAA,EAagB;EAXxB,SAAA;EAiCgB;;;;;;;;;;EAtBhB,qBAAA,GAAwB,cAAA;EAYxB;;;;;;;;;;EAAA,iBAAA;EAuDO;AAAA;AA8BT;;;;;;EA3EE,aAAA,GAAgB,OAAA,CAAQ,aAAA;EA+FY;;;;;;;;EArFpC,iBAAA,GAAoB,iBAAA;EAgKV;;;;;;;;;EArJV,gBAAA,GAAmB,gBAAA;EAuEqB;;;EAlExC,UAAA;IAwEmC;;;;;;;;;;;IA5DjC,aAAA;IAkIA;;;;;IA3HA,KAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8BS,UAAA;;WAEK,IAAA;;WAGA,MAAA,EAAQ,cAAA;;WAGR,SAAA;;WAGA,qBAAA,GAAwB,cAAA;;WAGxB,iBAAA;;WAGA,aAAA,GAAgB,OAAA,CAAQ,aAAA;;WAGxB,iBAAA,GAAoB,iBAAA;;WAGpB,gBAAA,GAAmB,gBAAA;;WAGnB,UAAA;IACd,aAAA;IACA,KAAA;EAAA;;;;;;cAQiB,OAAA,EAAS,iBAAA;;;;;;;;;;;;;;;;;MA4BjB,WAAA,IAAe,mBAAA;;;;;;;;;;;;;;;;;;;;EA4BnB,GAAA,KAAQ,MAAA,mBACb,GAAA,UACA,MAAA,eACC,OAAA,CAAQ,cAAA,CAAe,CAAA;AAAA"}
1
+ {"version":3,"file":"data-source.d.mts","names":[],"sources":["../../../../../../../cascade/src/data-source/data-source.ts"],"mappings":";;;;;;;KAMY,iBAAA;EAAA,+CAEV,IAAA;EAEA,MAAA,EAAQ,cAAA,EAagB;EAXxB,SAAA;EAiCgB;;;;;;;;;;EAtBhB,qBAAA,GAAwB,cAAA;EAYxB;;;;;;;;;;EAAA,iBAAA;EAuDO;AAAA;AA8BT;;;;;;EA3EE,aAAA,GAAgB,OAAA,CAAQ,aAAA;EA+FY;;;;;;;;EArFpC,iBAAA,GAAoB,iBAAA;EAgKV;;;;;;;;;EArJV,gBAAA,GAAmB,gBAAA;EAuEqB;;;EAlExC,UAAA;IAwEmC;;;;;;;;;;;IA5DjC,aAAA;IAkIA;;;;;IA3HA,KAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8BS,UAAA;;WAEK,IAAA;;WAGA,MAAA,EAAQ,cAAA;;WAGR,SAAA;;WAGA,qBAAA,GAAwB,cAAA;;WAGxB,iBAAA;;WAGA,aAAA,GAAgB,OAAA,CAAQ,aAAA;;WAGxB,iBAAA,GAAoB,iBAAA;;WAGpB,gBAAA,GAAmB,gBAAA;;WAGnB,UAAA;IACd,aAAA;IACA,KAAA;EAAA;;;;;;cAQiB,OAAA,EAAS,iBAAA;;;;;;;;;;;;;;;;;MA4BjB,WAAA,IAAe,mBAAA;;;;;;;;;;;;;;;;;;;;EA4BnB,GAAA,KAAQ,MAAA,mBACb,GAAA,UACA,MAAA,eACC,OAAA,CAAQ,cAAA,CAAe,CAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../@warlock.js/cascade/src/data-source/data-source.ts
1
+ //#region ../cascade/src/data-source/data-source.ts
2
2
  /**
3
3
  * Wrapper that couples a driver with its metadata.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"data-source.mjs","names":[],"sources":["../../../../../../../@warlock.js/cascade/src/data-source/data-source.ts"],"sourcesContent":["import type { DriverContract, IdGeneratorContract, RawQueryResult } from \"../contracts\";\nimport type { DeleteStrategy, MigrationDefaults, ModelDefaults, RelationDefaults } from \"../types\";\n\n/**\n * Configuration options used when registering a data source.\n */\nexport type DataSourceOptions = {\n /** Unique name identifying the data source. */\n name: string;\n /** Driver bound to the data source. */\n driver: DriverContract;\n /** Whether this data source should be considered the default one. */\n isDefault?: boolean;\n /**\n * Default delete strategy for models using this data source.\n *\n * - MongoDB: Typically `\"trash\"` (uses RecycleBin collection)\n * - PostgreSQL: Typically `\"permanent\"` or `\"soft\"`\n *\n * Can be overridden by model static property or destroy() options.\n *\n * @default undefined (falls back to \"permanent\")\n */\n defaultDeleteStrategy?: DeleteStrategy;\n\n /**\n * Default trash table/collection name for \"trash\" delete strategy.\n *\n * - MongoDB: Typically `\"RecycleBin\"`\n * - If not set, defaults to `{table}Trash` pattern\n *\n * Can be overridden by Model.trashTable static property.\n *\n * @default undefined (uses {table}Trash pattern)\n */\n defaultTrashTable?: string;\n\n /**\n * Default model configuration for all models using this data source.\n *\n * These defaults override driver defaults but are overridden by\n * individual model static properties.\n *\n * @default undefined\n */\n modelDefaults?: Partial<ModelDefaults>;\n\n /**\n * Migration-level defaults (UUID strategy, etc.).\n *\n * These defaults override driver migration defaults but can be\n * overridden by individual migration calls.\n *\n * @default undefined (uses driver defaults)\n */\n migrationDefaults?: MigrationDefaults;\n\n /**\n * Default relation conventions (FK suffix, pivot-table naming order).\n *\n * Consumed by the runtime convention helpers in\n * `relations/key-conventions.ts` whenever a relation definition omits\n * an explicit `foreignKey` / `pivot` / pivot-column override.\n *\n * @default undefined (uses framework defaults)\n */\n relationDefaults?: RelationDefaults;\n\n /**\n * Migration configuration options.\n */\n migrations?: {\n /**\n * Whether to wrap migrations in database transactions.\n *\n * Overrides driver defaults:\n * - PostgreSQL default: `true` (DDL is transactional)\n * - MongoDB default: `false` (DDL cannot be transactional)\n *\n * Individual migrations can override this with their own `transactional` property.\n *\n * @default undefined (uses driver default)\n */\n transactional?: boolean;\n\n /**\n * Name of the migrations tracking table/collection.\n *\n * @default \"_migrations\"\n */\n table?: string;\n };\n};\n\n/**\n * Wrapper that couples a driver with its metadata.\n *\n * A data source represents a database connection with all its associated services.\n * The ID generator (if needed) is provided by the driver itself.\n *\n * @example\n * ```typescript\n * // MongoDB with auto ID generation\n * const mongoDriver = new MongoDbDriver({\n * host: \"localhost\",\n * port: 27017,\n * database: \"myapp\",\n * autoGenerateId: true, // Driver creates its own ID generator\n * });\n *\n * const dataSource = new DataSource({\n * name: \"primary\",\n * driver: mongoDriver,\n * isDefault: true,\n * });\n *\n * // Access ID generator from driver\n * const idGenerator = dataSource.idGenerator;\n * ```\n */\nexport class DataSource {\n /** Unique name identifying this data source. */\n public readonly name: string;\n\n /** Database driver for executing queries. */\n public readonly driver: DriverContract;\n\n /** Whether this is the default data source. */\n public readonly isDefault: boolean;\n\n /** Default delete strategy for models using this data source. */\n public readonly defaultDeleteStrategy?: DeleteStrategy;\n\n /** Default trash table/collection name for \"trash\" delete strategy. */\n public readonly defaultTrashTable?: string;\n\n /** Default model configuration for all models using this data source. */\n public readonly modelDefaults?: Partial<ModelDefaults>;\n\n /** Migration-level defaults (UUID strategy, etc.). */\n public readonly migrationDefaults?: MigrationDefaults;\n\n /** Default relation conventions (FK suffix, pivot ordering). */\n public readonly relationDefaults?: RelationDefaults;\n\n /** Migration configuration options. */\n public readonly migrations?: {\n transactional?: boolean;\n table?: string;\n };\n\n /**\n * Create a new data source.\n *\n * @param options - Configuration options\n */\n public constructor(options: DataSourceOptions) {\n this.name = options.name;\n this.driver = options.driver;\n this.isDefault = Boolean(options.isDefault);\n this.defaultDeleteStrategy = options.defaultDeleteStrategy;\n this.defaultTrashTable = options.defaultTrashTable;\n this.modelDefaults = options.modelDefaults;\n this.migrationDefaults = options.migrationDefaults;\n this.relationDefaults = options.relationDefaults;\n this.migrations = options.migrations;\n }\n\n /**\n * Get the ID generator from the driver (if available).\n *\n * NoSQL drivers like MongoDB can provide their own ID generator.\n * SQL drivers return undefined as they use native AUTO_INCREMENT.\n *\n * @returns The ID generator instance, or undefined\n *\n * @example\n * ```typescript\n * const idGenerator = dataSource.idGenerator;\n * if (idGenerator) {\n * const id = await idGenerator.generateNextId({ table: \"users\" });\n * }\n * ```\n */\n public get idGenerator(): IdGeneratorContract | undefined {\n // Check if driver has a getIdGenerator method (duck typing)\n const driver = this.driver as any;\n if (typeof driver.getIdGenerator === \"function\") {\n return driver.getIdGenerator();\n }\n return undefined;\n }\n\n /**\n * Execute a raw query against this data source's driver.\n *\n * Thin passthrough to `driver.query`, so it is transaction-aware: inside a\n * `transaction()` scope the query auto-joins the active transaction\n * client/session.\n *\n * @typeParam T - The expected row shape.\n * @param sql - Raw SQL string (driver dialect).\n * @param params - Optional positional query parameters.\n * @returns The driver's raw query result (`rows` + `rowCount`).\n *\n * @example\n * ```typescript\n * const { rows } = await dataSource.raw<{ count: number }>(\n * \"SELECT COUNT(*)::int AS count FROM users\",\n * );\n * ```\n */\n public raw<T = Record<string, unknown>>(\n sql: string,\n params?: unknown[],\n ): Promise<RawQueryResult<T>> {\n return this.driver.query<T>(sql, params);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwHA,IAAa,aAAb,MAAwB;;CAEtB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;;;;;CAUhB,AAAO,YAAY,SAA4B;EAC7C,KAAK,OAAO,QAAQ;EACpB,KAAK,SAAS,QAAQ;EACtB,KAAK,YAAY,QAAQ,QAAQ,SAAS;EAC1C,KAAK,wBAAwB,QAAQ;EACrC,KAAK,oBAAoB,QAAQ;EACjC,KAAK,gBAAgB,QAAQ;EAC7B,KAAK,oBAAoB,QAAQ;EACjC,KAAK,mBAAmB,QAAQ;EAChC,KAAK,aAAa,QAAQ;CAC5B;;;;;;;;;;;;;;;;;CAkBA,IAAW,cAA+C;EAExD,MAAM,SAAS,KAAK;EACpB,IAAI,OAAO,OAAO,mBAAmB,YACnC,OAAO,OAAO,eAAe;CAGjC;;;;;;;;;;;;;;;;;;;;CAqBA,AAAO,IACL,KACA,QAC4B;EAC5B,OAAO,KAAK,OAAO,MAAS,KAAK,MAAM;CACzC;AACF"}
1
+ {"version":3,"file":"data-source.mjs","names":[],"sources":["../../../../../../../cascade/src/data-source/data-source.ts"],"sourcesContent":["import type { DriverContract, IdGeneratorContract, RawQueryResult } from \"../contracts\";\nimport type { DeleteStrategy, MigrationDefaults, ModelDefaults, RelationDefaults } from \"../types\";\n\n/**\n * Configuration options used when registering a data source.\n */\nexport type DataSourceOptions = {\n /** Unique name identifying the data source. */\n name: string;\n /** Driver bound to the data source. */\n driver: DriverContract;\n /** Whether this data source should be considered the default one. */\n isDefault?: boolean;\n /**\n * Default delete strategy for models using this data source.\n *\n * - MongoDB: Typically `\"trash\"` (uses RecycleBin collection)\n * - PostgreSQL: Typically `\"permanent\"` or `\"soft\"`\n *\n * Can be overridden by model static property or destroy() options.\n *\n * @default undefined (falls back to \"permanent\")\n */\n defaultDeleteStrategy?: DeleteStrategy;\n\n /**\n * Default trash table/collection name for \"trash\" delete strategy.\n *\n * - MongoDB: Typically `\"RecycleBin\"`\n * - If not set, defaults to `{table}Trash` pattern\n *\n * Can be overridden by Model.trashTable static property.\n *\n * @default undefined (uses {table}Trash pattern)\n */\n defaultTrashTable?: string;\n\n /**\n * Default model configuration for all models using this data source.\n *\n * These defaults override driver defaults but are overridden by\n * individual model static properties.\n *\n * @default undefined\n */\n modelDefaults?: Partial<ModelDefaults>;\n\n /**\n * Migration-level defaults (UUID strategy, etc.).\n *\n * These defaults override driver migration defaults but can be\n * overridden by individual migration calls.\n *\n * @default undefined (uses driver defaults)\n */\n migrationDefaults?: MigrationDefaults;\n\n /**\n * Default relation conventions (FK suffix, pivot-table naming order).\n *\n * Consumed by the runtime convention helpers in\n * `relations/key-conventions.ts` whenever a relation definition omits\n * an explicit `foreignKey` / `pivot` / pivot-column override.\n *\n * @default undefined (uses framework defaults)\n */\n relationDefaults?: RelationDefaults;\n\n /**\n * Migration configuration options.\n */\n migrations?: {\n /**\n * Whether to wrap migrations in database transactions.\n *\n * Overrides driver defaults:\n * - PostgreSQL default: `true` (DDL is transactional)\n * - MongoDB default: `false` (DDL cannot be transactional)\n *\n * Individual migrations can override this with their own `transactional` property.\n *\n * @default undefined (uses driver default)\n */\n transactional?: boolean;\n\n /**\n * Name of the migrations tracking table/collection.\n *\n * @default \"_migrations\"\n */\n table?: string;\n };\n};\n\n/**\n * Wrapper that couples a driver with its metadata.\n *\n * A data source represents a database connection with all its associated services.\n * The ID generator (if needed) is provided by the driver itself.\n *\n * @example\n * ```typescript\n * // MongoDB with auto ID generation\n * const mongoDriver = new MongoDbDriver({\n * host: \"localhost\",\n * port: 27017,\n * database: \"myapp\",\n * autoGenerateId: true, // Driver creates its own ID generator\n * });\n *\n * const dataSource = new DataSource({\n * name: \"primary\",\n * driver: mongoDriver,\n * isDefault: true,\n * });\n *\n * // Access ID generator from driver\n * const idGenerator = dataSource.idGenerator;\n * ```\n */\nexport class DataSource {\n /** Unique name identifying this data source. */\n public readonly name: string;\n\n /** Database driver for executing queries. */\n public readonly driver: DriverContract;\n\n /** Whether this is the default data source. */\n public readonly isDefault: boolean;\n\n /** Default delete strategy for models using this data source. */\n public readonly defaultDeleteStrategy?: DeleteStrategy;\n\n /** Default trash table/collection name for \"trash\" delete strategy. */\n public readonly defaultTrashTable?: string;\n\n /** Default model configuration for all models using this data source. */\n public readonly modelDefaults?: Partial<ModelDefaults>;\n\n /** Migration-level defaults (UUID strategy, etc.). */\n public readonly migrationDefaults?: MigrationDefaults;\n\n /** Default relation conventions (FK suffix, pivot ordering). */\n public readonly relationDefaults?: RelationDefaults;\n\n /** Migration configuration options. */\n public readonly migrations?: {\n transactional?: boolean;\n table?: string;\n };\n\n /**\n * Create a new data source.\n *\n * @param options - Configuration options\n */\n public constructor(options: DataSourceOptions) {\n this.name = options.name;\n this.driver = options.driver;\n this.isDefault = Boolean(options.isDefault);\n this.defaultDeleteStrategy = options.defaultDeleteStrategy;\n this.defaultTrashTable = options.defaultTrashTable;\n this.modelDefaults = options.modelDefaults;\n this.migrationDefaults = options.migrationDefaults;\n this.relationDefaults = options.relationDefaults;\n this.migrations = options.migrations;\n }\n\n /**\n * Get the ID generator from the driver (if available).\n *\n * NoSQL drivers like MongoDB can provide their own ID generator.\n * SQL drivers return undefined as they use native AUTO_INCREMENT.\n *\n * @returns The ID generator instance, or undefined\n *\n * @example\n * ```typescript\n * const idGenerator = dataSource.idGenerator;\n * if (idGenerator) {\n * const id = await idGenerator.generateNextId({ table: \"users\" });\n * }\n * ```\n */\n public get idGenerator(): IdGeneratorContract | undefined {\n // Check if driver has a getIdGenerator method (duck typing)\n const driver = this.driver as any;\n if (typeof driver.getIdGenerator === \"function\") {\n return driver.getIdGenerator();\n }\n return undefined;\n }\n\n /**\n * Execute a raw query against this data source's driver.\n *\n * Thin passthrough to `driver.query`, so it is transaction-aware: inside a\n * `transaction()` scope the query auto-joins the active transaction\n * client/session.\n *\n * @typeParam T - The expected row shape.\n * @param sql - Raw SQL string (driver dialect).\n * @param params - Optional positional query parameters.\n * @returns The driver's raw query result (`rows` + `rowCount`).\n *\n * @example\n * ```typescript\n * const { rows } = await dataSource.raw<{ count: number }>(\n * \"SELECT COUNT(*)::int AS count FROM users\",\n * );\n * ```\n */\n public raw<T = Record<string, unknown>>(\n sql: string,\n params?: unknown[],\n ): Promise<RawQueryResult<T>> {\n return this.driver.query<T>(sql, params);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwHA,IAAa,aAAb,MAAwB;;CAEtB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;CAGhB,AAAgB;;;;;;CAUhB,AAAO,YAAY,SAA4B;EAC7C,KAAK,OAAO,QAAQ;EACpB,KAAK,SAAS,QAAQ;EACtB,KAAK,YAAY,QAAQ,QAAQ,SAAS;EAC1C,KAAK,wBAAwB,QAAQ;EACrC,KAAK,oBAAoB,QAAQ;EACjC,KAAK,gBAAgB,QAAQ;EAC7B,KAAK,oBAAoB,QAAQ;EACjC,KAAK,mBAAmB,QAAQ;EAChC,KAAK,aAAa,QAAQ;CAC5B;;;;;;;;;;;;;;;;;CAkBA,IAAW,cAA+C;EAExD,MAAM,SAAS,KAAK;EACpB,IAAI,OAAO,OAAO,mBAAmB,YACnC,OAAO,OAAO,eAAe;CAGjC;;;;;;;;;;;;;;;;;;;;CAqBA,AAAO,IACL,KACA,QAC4B;EAC5B,OAAO,KAAK,OAAO,MAAS,KAAK,MAAM;CACzC;AACF"}
@@ -1,4 +1,4 @@
1
- //#region ../@warlock.js/cascade/src/database-dirty-tracker.d.ts
1
+ //#region ../cascade/src/database-dirty-tracker.d.ts
2
2
  /**
3
3
  * Flattened record type representing dot-notation paths mapped to their values.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"database-dirty-tracker.d.mts","names":[],"sources":["../../../../../../@warlock.js/cascade/src/database-dirty-tracker.ts"],"mappings":";;;;KA+CK,UAAA,GAAa,MAAM;;AAAA;AAAA;KAKnB,iBAAA;EAAsB,QAAA;EAAmB,QAAQ;AAAA;AAkBtD;;;;;;;;;;;;;;;;AAAA,cAAa,oBAAA;EAqSoB;;;;EAAA,UAhSrB,UAAA,EAAY,MAAA;EA2XY;;;EAAA,UAtXxB,UAAA,EAAY,MAAA;EAAA;;;;EAAA,UAMZ,gBAAA,EAAkB,UAAA;EAUT;;;EAAA,UALT,gBAAA,EAAkB,UAAA;;;;qBAKT,YAAA,EAAY,GAAA;EAmDxB;;;EAAA,mBA9CY,cAAA,EAAc,GAAA;cAEd,IAAA,EAAM,MAAA;EA0FW;;;;;;;;;;;;;EAnE7B,eAAA;EA4LqB;;;;;;;;;;;;;;;;;EAvKrB,UAAA;EAmT0B;;AAAC;EA5S3B,OAAA,CAAQ,MAAA;;;;;;;;;;;;;;;;EAmBR,iBAAA;;;;;;;;;;;;;;;;;EAoBA,yBAAA,IAA6B,MAAA,SAAe,iBAAA;;;;;;;;;;;;;;;;EA+B5C,kBAAA,CAAmB,IAAA,EAAM,MAAA;;;;;;;;;;;;;;;;;EAsBzB,YAAA,CAAa,OAAA,EAAS,MAAA;;;;;;;;;;;;;;;;EAqBtB,KAAA,CAAM,OAAA;;;;;;;;;;;;;;;;;;;;;EA+BN,KAAA,CAAM,IAAA,GAAO,MAAA;;;;;YAgBV,WAAA,CAAY,IAAA,EAAM,MAAA,oBAA0B,UAAA;;;;;;;;;;YAa5C,gBAAA;;;;;;;;;;;YAoCA,YAAA,CAAa,MAAA,EAAQ,MAAA,mBAAyB,MAAA,EAAQ,MAAA;;;;;;;;;;YA2BtD,aAAA,CAAc,IAAA;;;;;;;;;;;YAwCd,cAAA,CAAe,SAAA,WAAoB,OAAA;;;;;;;;YAwBnC,SAAA,IAAa,IAAA,EAAM,CAAA,GAAI,CAAA;AAAA"}
1
+ {"version":3,"file":"database-dirty-tracker.d.mts","names":[],"sources":["../../../../../../cascade/src/database-dirty-tracker.ts"],"mappings":";;;;KA+CK,UAAA,GAAa,MAAM;;AAAA;AAAA;KAKnB,iBAAA;EAAsB,QAAA;EAAmB,QAAQ;AAAA;AAkBtD;;;;;;;;;;;;;;;;AAAA,cAAa,oBAAA;EAqSoB;;;;EAAA,UAhSrB,UAAA,EAAY,MAAA;EA2XY;;;EAAA,UAtXxB,UAAA,EAAY,MAAA;EAAA;;;;EAAA,UAMZ,gBAAA,EAAkB,UAAA;EAUT;;;EAAA,UALT,gBAAA,EAAkB,UAAA;;;;qBAKT,YAAA,EAAY,GAAA;EAmDxB;;;EAAA,mBA9CY,cAAA,EAAc,GAAA;cAEd,IAAA,EAAM,MAAA;EA0FW;;;;;;;;;;;;;EAnE7B,eAAA;EA4LqB;;;;;;;;;;;;;;;;;EAvKrB,UAAA;EAmT0B;;AAAC;EA5S3B,OAAA,CAAQ,MAAA;;;;;;;;;;;;;;;;EAmBR,iBAAA;;;;;;;;;;;;;;;;;EAoBA,yBAAA,IAA6B,MAAA,SAAe,iBAAA;;;;;;;;;;;;;;;;EA+B5C,kBAAA,CAAmB,IAAA,EAAM,MAAA;;;;;;;;;;;;;;;;;EAsBzB,YAAA,CAAa,OAAA,EAAS,MAAA;;;;;;;;;;;;;;;;EAqBtB,KAAA,CAAM,OAAA;;;;;;;;;;;;;;;;;;;;;EA+BN,KAAA,CAAM,IAAA,GAAO,MAAA;;;;;YAgBV,WAAA,CAAY,IAAA,EAAM,MAAA,oBAA0B,UAAA;;;;;;;;;;YAa5C,gBAAA;;;;;;;;;;;YAoCA,YAAA,CAAa,MAAA,EAAQ,MAAA,mBAAyB,MAAA,EAAQ,MAAA;;;;;;;;;;YA2BtD,aAAA,CAAc,IAAA;;;;;;;;;;;YAwCd,cAAA,CAAe,SAAA,WAAoB,OAAA;;;;;;;;YAwBnC,SAAA,IAAa,IAAA,EAAM,CAAA,GAAI,CAAA;AAAA"}
@@ -1,7 +1,7 @@
1
1
  import { areEqual, clone } from "@mongez/reinforcements";
2
2
  import { isPlainObject } from "@mongez/supportive-is";
3
3
 
4
- //#region ../@warlock.js/cascade/src/database-dirty-tracker.ts
4
+ //#region ../cascade/src/database-dirty-tracker.ts
5
5
  function canBeFlatten(object) {
6
6
  return isPlainObject(object);
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database-dirty-tracker.mjs","names":[],"sources":["../../../../../../@warlock.js/cascade/src/database-dirty-tracker.ts"],"sourcesContent":["import { areEqual, clone } from \"@mongez/reinforcements\";\nimport { isPlainObject } from \"@mongez/supportive-is\";\n\nfunction canBeFlatten(object: unknown): boolean {\n return isPlainObject(object);\n}\n\n/**\n * A fix for flatten as non-plain object is being flatten as well which it should not be\n */\nfunction flatten(\n object: Record<string, unknown>,\n separator = \".\",\n keepNestedOriginalObject = false,\n parent?: string,\n root: Record<string, unknown> = {},\n) {\n if (canBeFlatten(object) === false) {\n return object;\n }\n // object = toPlainObject(object);\n for (const key of Object.keys(object)) {\n const value = object[key];\n const keyChain = parent ? parent + separator + key : key;\n if ((Array.isArray(value) && value.length === 0) || typeof value === \"function\") {\n root[keyChain] = value;\n } else if (canBeFlatten(value)) {\n if (keepNestedOriginalObject) {\n root[keyChain] = value;\n }\n flatten(\n value as Record<string, unknown>,\n separator,\n keepNestedOriginalObject,\n keyChain,\n root,\n );\n } else {\n root[keyChain] = value;\n }\n }\n return root;\n}\n\n/**\n * Flattened record type representing dot-notation paths mapped to their values.\n */\ntype FlatRecord = Record<string, unknown>;\n\n/**\n * Represents the old and new values of a dirty column.\n */\ntype DirtyColumnValues = { oldValue: unknown; newValue: unknown };\n\n/**\n * Tracks changes to model data by maintaining snapshots of initial and current state.\n *\n * The tracker stores both raw (nested) and flattened (dot-notation) versions of the data\n * to accurately detect modifications, additions, and removals at any nesting level.\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", age: 30 });\n * tracker.mergeChanges({ age: 31 });\n * console.log(tracker.hasChanges()); // true\n * console.log(tracker.getDirtyColumns()); // [\"age\"]\n * console.log(tracker.getDirtyColumnsWithValues());\n * // { age: { oldValue: 30, newValue: 31 } }\n * ```\n */\nexport class DatabaseDirtyTracker {\n /**\n * The initial raw data snapshot taken at construction or last reset.\n * Used as the baseline for comparison.\n */\n protected initialRaw: Record<string, unknown>;\n\n /**\n * The current raw data snapshot reflecting all changes made via merge/unset.\n */\n protected currentRaw: Record<string, unknown>;\n\n /**\n * Flattened version of the initial data using dot-notation keys.\n * Example: { \"address.city\": \"NYC\" }\n */\n protected initialFlattened: FlatRecord;\n\n /**\n * Flattened version of the current data using dot-notation keys.\n */\n protected currentFlattened: FlatRecord;\n\n /**\n * Set of column names (dot-notation paths) that have been modified.\n */\n protected readonly dirtyColumns = new Set<string>();\n\n /**\n * Set of column names (dot-notation paths) that existed initially but have been removed.\n */\n protected readonly removedColumns = new Set<string>();\n\n public constructor(data: Record<string, unknown>) {\n this.initialRaw = this.cloneData(data);\n this.currentRaw = this.cloneData(data);\n\n this.initialFlattened = this.flattenData(this.initialRaw);\n this.currentFlattened = { ...this.initialFlattened };\n\n this.updateDirtyState();\n }\n\n /**\n * Returns the list of dirty columns using dot-notation.\n *\n * A column is considered dirty if its value has changed compared to the initial snapshot.\n *\n * @returns An array of column names (dot-notation paths) that have been modified\n *\n * @example\n * ```typescript\n * tracker.mergeChanges({ name: \"Bob\", \"address.city\": \"LA\" });\n * tracker.getDirtyColumns(); // [\"name\", \"address.city\"]\n * ```\n */\n public getDirtyColumns(): string[] {\n return Array.from(this.dirtyColumns);\n }\n\n /**\n * Determines whether there are any tracked changes.\n *\n * Returns `true` if any columns have been modified or removed since the initial snapshot.\n *\n * @returns `true` if there are changes, `false` otherwise\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\" });\n * tracker.hasChanges(); // false\n * tracker.mergeChanges({ name: \"Bob\" });\n * tracker.hasChanges(); // true\n * tracker.unset(\"name\");\n * tracker.hasChanges(); // true (removed column counts as a change)\n * ```\n */\n public hasChanges(): boolean {\n return this.dirtyColumns.size > 0 || this.removedColumns.size > 0;\n }\n\n /**\n * Check if the given column is dirty (changed)\n */\n public isDirty(column: string): boolean {\n return this.dirtyColumns.has(column);\n }\n\n /**\n * Returns the set of columns that have been removed compared to the baseline.\n *\n * A column is considered removed if it existed in the initial snapshot but has been\n * explicitly unset or deleted from the current data.\n *\n * @returns An array of column names (dot-notation paths) that have been removed\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", temp: \"value\" });\n * tracker.unset(\"temp\");\n * tracker.getRemovedColumns(); // [\"temp\"]\n * ```\n */\n public getRemovedColumns(): string[] {\n return Array.from(this.removedColumns);\n }\n\n /**\n * Provides a mapping of dirty columns to their previous and current values.\n *\n * This is useful for generating audit logs, building partial update payloads,\n * or displaying change summaries to users.\n *\n * @returns A record mapping each dirty column to an object containing oldValue and newValue\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", age: 30 });\n * tracker.mergeChanges({ age: 31 });\n * tracker.getDirtyColumnsWithValues();\n * // { age: { oldValue: 30, newValue: 31 } }\n * ```\n */\n public getDirtyColumnsWithValues(): Record<string, DirtyColumnValues> {\n const result: Record<string, DirtyColumnValues> = {};\n\n for (const column of this.dirtyColumns) {\n const hasCurrent =\n this.currentFlattened[column] !== undefined || column in this.currentFlattened;\n\n result[column] = {\n oldValue: this.initialFlattened[column],\n newValue: hasCurrent ? this.currentFlattened[column] : undefined,\n };\n }\n\n return result;\n }\n\n /**\n * Replaces the current data snapshot entirely and recomputes the diff.\n *\n * This is useful when you want to replace all current data with a new set,\n * while keeping the initial baseline for comparison.\n *\n * @param data - The new data to set as the current snapshot\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\" });\n * tracker.replaceCurrentData({ name: \"Bob\", email: \"bob@example.com\" });\n * tracker.getDirtyColumns(); // [\"name\", \"email\"]\n * ```\n */\n public replaceCurrentData(data: Record<string, unknown>): void {\n this.currentRaw = this.cloneData(data);\n this.currentFlattened = this.flattenData(this.currentRaw);\n this.updateDirtyState();\n }\n\n /**\n * Merges a partial payload into the current snapshot and recomputes the diff.\n *\n * This performs a deep merge, preserving existing nested structures while\n * updating only the specified fields.\n *\n * @param partial - Partial data to merge into the current snapshot\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", address: { city: \"NYC\" } });\n * tracker.mergeChanges({ address: { zip: \"10001\" } });\n * // Current data: { name: \"Alice\", address: { city: \"NYC\", zip: \"10001\" } }\n * tracker.getDirtyColumns(); // [\"address.zip\"]\n * ```\n */\n public mergeChanges(partial: Record<string, unknown>): void {\n this.mergeIntoRaw(this.currentRaw, partial);\n this.currentFlattened = this.flattenData(this.currentRaw);\n this.updateDirtyState();\n }\n\n /**\n * Explicitly removes one or more columns from the current data.\n *\n * Supports both single column names and arrays of column names.\n * Columns can be specified using dot-notation for nested paths.\n *\n * @param columns - A single column name or an array of column names to remove\n *\n * @example\n * ```typescript\n * tracker.unset(\"tempField\");\n * tracker.unset([\"field1\", \"field2\", \"nested.field\"]);\n * tracker.getRemovedColumns(); // [\"tempField\", \"field1\", \"field2\", \"nested.field\"]\n * ```\n */\n public unset(columns: string | string[]): void {\n const targets = Array.isArray(columns) ? columns : [columns];\n\n for (const path of targets) {\n this.deleteFromRaw(path);\n }\n\n this.currentFlattened = this.flattenData(this.currentRaw);\n this.updateDirtyState();\n }\n\n /**\n * Resets both the initial and current snapshots to the provided data.\n *\n * If no data is provided, the current snapshot becomes the new baseline.\n * This clears all tracked changes and removed columns.\n *\n * @param data - Optional new data to use as the baseline. If omitted, uses current data.\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\" });\n * tracker.mergeChanges({ name: \"Bob\" });\n * tracker.hasChanges(); // true\n * tracker.reset(); // Make current state the new baseline\n * tracker.hasChanges(); // false\n *\n * // Or reset to entirely new data:\n * tracker.reset({ name: \"Charlie\", age: 25 });\n * ```\n */\n public reset(data?: Record<string, unknown>): void {\n const source = data ?? this.currentRaw;\n this.initialRaw = this.cloneData(source);\n this.currentRaw = this.cloneData(source);\n\n this.initialFlattened = this.flattenData(this.initialRaw);\n this.currentFlattened = this.flattenData(this.currentRaw);\n\n this.dirtyColumns.clear();\n this.removedColumns.clear();\n }\n\n /**\n * Flattens the given data object.\n * Can be overridden by subclasses to change flattening behavior.\n */\n protected flattenData(data: Record<string, unknown>): FlatRecord {\n return flatten(data);\n }\n\n /**\n * Recomputes the dirty and removed column sets by comparing initial and current snapshots.\n *\n * This method is called internally after any operation that modifies the current data.\n * It iterates through all keys in both flattened snapshots and determines which columns\n * have been modified or removed.\n *\n * @protected\n */\n protected updateDirtyState(): void {\n this.dirtyColumns.clear();\n this.removedColumns.clear();\n\n const keys = new Set([\n ...Object.keys(this.initialFlattened),\n ...Object.keys(this.currentFlattened),\n ]);\n\n for (const key of keys) {\n const hasCurrent = this.currentFlattened[key] !== undefined || key in this.currentFlattened;\n const hasInitial = this.initialFlattened[key] !== undefined || key in this.initialFlattened;\n\n if (!hasCurrent && hasInitial) {\n this.removedColumns.add(key);\n }\n\n const initialValue = this.initialFlattened[key];\n const currentValue = hasCurrent ? this.currentFlattened[key] : undefined;\n\n if (!areEqual(initialValue, currentValue)) {\n this.dirtyColumns.add(key);\n }\n }\n }\n\n /**\n * Recursively merges source object into target object, performing a deep merge.\n *\n * For nested objects, the merge is recursive. For arrays and primitives, the source\n * value replaces the target value. All values are cloned to prevent reference sharing.\n *\n * @param target - The object to merge into\n * @param source - The object to merge from\n * @private\n */\n protected mergeIntoRaw(target: Record<string, unknown>, source: Record<string, unknown>): void {\n for (const [key, value] of Object.entries(source)) {\n if (\n value &&\n typeof value === \"object\" &&\n !Array.isArray(value) &&\n target[key] &&\n typeof target[key] === \"object\" &&\n !Array.isArray(target[key])\n ) {\n this.mergeIntoRaw(target[key] as Record<string, unknown>, value as Record<string, unknown>);\n continue;\n }\n\n target[key] = this.cloneData(value);\n }\n }\n\n /**\n * Deletes a field from the current raw data using a dot-notation path.\n *\n * Supports nested paths (e.g., \"address.city\") and array indices (e.g., \"items.0\").\n * If any segment in the path doesn't exist, the operation is a no-op.\n *\n * @param path - The dot-notation path to the field to delete\n * @private\n */\n protected deleteFromRaw(path: string): void {\n const segments = path.split(\".\");\n let container: unknown = this.currentRaw;\n\n for (let index = 0; index < segments.length - 1; index += 1) {\n if (container === undefined || container === null) {\n return;\n }\n\n container = this.resolveSegment(container, segments[index]);\n }\n\n if (container === undefined || container === null) {\n return;\n }\n\n const lastSegment = segments[segments.length - 1];\n if (Array.isArray(container)) {\n const numericIndex = Number(lastSegment);\n if (!Number.isNaN(numericIndex)) {\n container.splice(numericIndex, 1);\n }\n return;\n }\n\n if (typeof container === \"object\") {\n delete (container as Record<string, unknown>)[lastSegment];\n }\n }\n\n /**\n * Resolves a single segment of a dot-notation path within a container.\n *\n * Handles both object property access and array index access.\n *\n * @param container - The object or array to access\n * @param segment - The property name or array index as a string\n * @returns The value at the specified segment, or undefined if not found\n * @private\n */\n protected resolveSegment(container: unknown, segment: string): unknown {\n if (Array.isArray(container)) {\n const numericIndex = Number(segment);\n if (Number.isNaN(numericIndex)) {\n return undefined;\n }\n\n return container[numericIndex];\n }\n\n if (container && typeof container === \"object\") {\n return (container as Record<string, unknown>)[segment];\n }\n\n return undefined;\n }\n\n /**\n * Creates a deep clone of the provided data.\n *\n * @param data - The data to clone\n * @returns A deep clone of the data\n * @private\n */\n protected cloneData<T>(data: T): T {\n return clone(data);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"database-dirty-tracker.mjs","names":[],"sources":["../../../../../../cascade/src/database-dirty-tracker.ts"],"sourcesContent":["import { areEqual, clone } from \"@mongez/reinforcements\";\nimport { isPlainObject } from \"@mongez/supportive-is\";\n\nfunction canBeFlatten(object: unknown): boolean {\n return isPlainObject(object);\n}\n\n/**\n * A fix for flatten as non-plain object is being flatten as well which it should not be\n */\nfunction flatten(\n object: Record<string, unknown>,\n separator = \".\",\n keepNestedOriginalObject = false,\n parent?: string,\n root: Record<string, unknown> = {},\n) {\n if (canBeFlatten(object) === false) {\n return object;\n }\n // object = toPlainObject(object);\n for (const key of Object.keys(object)) {\n const value = object[key];\n const keyChain = parent ? parent + separator + key : key;\n if ((Array.isArray(value) && value.length === 0) || typeof value === \"function\") {\n root[keyChain] = value;\n } else if (canBeFlatten(value)) {\n if (keepNestedOriginalObject) {\n root[keyChain] = value;\n }\n flatten(\n value as Record<string, unknown>,\n separator,\n keepNestedOriginalObject,\n keyChain,\n root,\n );\n } else {\n root[keyChain] = value;\n }\n }\n return root;\n}\n\n/**\n * Flattened record type representing dot-notation paths mapped to their values.\n */\ntype FlatRecord = Record<string, unknown>;\n\n/**\n * Represents the old and new values of a dirty column.\n */\ntype DirtyColumnValues = { oldValue: unknown; newValue: unknown };\n\n/**\n * Tracks changes to model data by maintaining snapshots of initial and current state.\n *\n * The tracker stores both raw (nested) and flattened (dot-notation) versions of the data\n * to accurately detect modifications, additions, and removals at any nesting level.\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", age: 30 });\n * tracker.mergeChanges({ age: 31 });\n * console.log(tracker.hasChanges()); // true\n * console.log(tracker.getDirtyColumns()); // [\"age\"]\n * console.log(tracker.getDirtyColumnsWithValues());\n * // { age: { oldValue: 30, newValue: 31 } }\n * ```\n */\nexport class DatabaseDirtyTracker {\n /**\n * The initial raw data snapshot taken at construction or last reset.\n * Used as the baseline for comparison.\n */\n protected initialRaw: Record<string, unknown>;\n\n /**\n * The current raw data snapshot reflecting all changes made via merge/unset.\n */\n protected currentRaw: Record<string, unknown>;\n\n /**\n * Flattened version of the initial data using dot-notation keys.\n * Example: { \"address.city\": \"NYC\" }\n */\n protected initialFlattened: FlatRecord;\n\n /**\n * Flattened version of the current data using dot-notation keys.\n */\n protected currentFlattened: FlatRecord;\n\n /**\n * Set of column names (dot-notation paths) that have been modified.\n */\n protected readonly dirtyColumns = new Set<string>();\n\n /**\n * Set of column names (dot-notation paths) that existed initially but have been removed.\n */\n protected readonly removedColumns = new Set<string>();\n\n public constructor(data: Record<string, unknown>) {\n this.initialRaw = this.cloneData(data);\n this.currentRaw = this.cloneData(data);\n\n this.initialFlattened = this.flattenData(this.initialRaw);\n this.currentFlattened = { ...this.initialFlattened };\n\n this.updateDirtyState();\n }\n\n /**\n * Returns the list of dirty columns using dot-notation.\n *\n * A column is considered dirty if its value has changed compared to the initial snapshot.\n *\n * @returns An array of column names (dot-notation paths) that have been modified\n *\n * @example\n * ```typescript\n * tracker.mergeChanges({ name: \"Bob\", \"address.city\": \"LA\" });\n * tracker.getDirtyColumns(); // [\"name\", \"address.city\"]\n * ```\n */\n public getDirtyColumns(): string[] {\n return Array.from(this.dirtyColumns);\n }\n\n /**\n * Determines whether there are any tracked changes.\n *\n * Returns `true` if any columns have been modified or removed since the initial snapshot.\n *\n * @returns `true` if there are changes, `false` otherwise\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\" });\n * tracker.hasChanges(); // false\n * tracker.mergeChanges({ name: \"Bob\" });\n * tracker.hasChanges(); // true\n * tracker.unset(\"name\");\n * tracker.hasChanges(); // true (removed column counts as a change)\n * ```\n */\n public hasChanges(): boolean {\n return this.dirtyColumns.size > 0 || this.removedColumns.size > 0;\n }\n\n /**\n * Check if the given column is dirty (changed)\n */\n public isDirty(column: string): boolean {\n return this.dirtyColumns.has(column);\n }\n\n /**\n * Returns the set of columns that have been removed compared to the baseline.\n *\n * A column is considered removed if it existed in the initial snapshot but has been\n * explicitly unset or deleted from the current data.\n *\n * @returns An array of column names (dot-notation paths) that have been removed\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", temp: \"value\" });\n * tracker.unset(\"temp\");\n * tracker.getRemovedColumns(); // [\"temp\"]\n * ```\n */\n public getRemovedColumns(): string[] {\n return Array.from(this.removedColumns);\n }\n\n /**\n * Provides a mapping of dirty columns to their previous and current values.\n *\n * This is useful for generating audit logs, building partial update payloads,\n * or displaying change summaries to users.\n *\n * @returns A record mapping each dirty column to an object containing oldValue and newValue\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", age: 30 });\n * tracker.mergeChanges({ age: 31 });\n * tracker.getDirtyColumnsWithValues();\n * // { age: { oldValue: 30, newValue: 31 } }\n * ```\n */\n public getDirtyColumnsWithValues(): Record<string, DirtyColumnValues> {\n const result: Record<string, DirtyColumnValues> = {};\n\n for (const column of this.dirtyColumns) {\n const hasCurrent =\n this.currentFlattened[column] !== undefined || column in this.currentFlattened;\n\n result[column] = {\n oldValue: this.initialFlattened[column],\n newValue: hasCurrent ? this.currentFlattened[column] : undefined,\n };\n }\n\n return result;\n }\n\n /**\n * Replaces the current data snapshot entirely and recomputes the diff.\n *\n * This is useful when you want to replace all current data with a new set,\n * while keeping the initial baseline for comparison.\n *\n * @param data - The new data to set as the current snapshot\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\" });\n * tracker.replaceCurrentData({ name: \"Bob\", email: \"bob@example.com\" });\n * tracker.getDirtyColumns(); // [\"name\", \"email\"]\n * ```\n */\n public replaceCurrentData(data: Record<string, unknown>): void {\n this.currentRaw = this.cloneData(data);\n this.currentFlattened = this.flattenData(this.currentRaw);\n this.updateDirtyState();\n }\n\n /**\n * Merges a partial payload into the current snapshot and recomputes the diff.\n *\n * This performs a deep merge, preserving existing nested structures while\n * updating only the specified fields.\n *\n * @param partial - Partial data to merge into the current snapshot\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\", address: { city: \"NYC\" } });\n * tracker.mergeChanges({ address: { zip: \"10001\" } });\n * // Current data: { name: \"Alice\", address: { city: \"NYC\", zip: \"10001\" } }\n * tracker.getDirtyColumns(); // [\"address.zip\"]\n * ```\n */\n public mergeChanges(partial: Record<string, unknown>): void {\n this.mergeIntoRaw(this.currentRaw, partial);\n this.currentFlattened = this.flattenData(this.currentRaw);\n this.updateDirtyState();\n }\n\n /**\n * Explicitly removes one or more columns from the current data.\n *\n * Supports both single column names and arrays of column names.\n * Columns can be specified using dot-notation for nested paths.\n *\n * @param columns - A single column name or an array of column names to remove\n *\n * @example\n * ```typescript\n * tracker.unset(\"tempField\");\n * tracker.unset([\"field1\", \"field2\", \"nested.field\"]);\n * tracker.getRemovedColumns(); // [\"tempField\", \"field1\", \"field2\", \"nested.field\"]\n * ```\n */\n public unset(columns: string | string[]): void {\n const targets = Array.isArray(columns) ? columns : [columns];\n\n for (const path of targets) {\n this.deleteFromRaw(path);\n }\n\n this.currentFlattened = this.flattenData(this.currentRaw);\n this.updateDirtyState();\n }\n\n /**\n * Resets both the initial and current snapshots to the provided data.\n *\n * If no data is provided, the current snapshot becomes the new baseline.\n * This clears all tracked changes and removed columns.\n *\n * @param data - Optional new data to use as the baseline. If omitted, uses current data.\n *\n * @example\n * ```typescript\n * const tracker = new DatabaseDirtyTracker({ name: \"Alice\" });\n * tracker.mergeChanges({ name: \"Bob\" });\n * tracker.hasChanges(); // true\n * tracker.reset(); // Make current state the new baseline\n * tracker.hasChanges(); // false\n *\n * // Or reset to entirely new data:\n * tracker.reset({ name: \"Charlie\", age: 25 });\n * ```\n */\n public reset(data?: Record<string, unknown>): void {\n const source = data ?? this.currentRaw;\n this.initialRaw = this.cloneData(source);\n this.currentRaw = this.cloneData(source);\n\n this.initialFlattened = this.flattenData(this.initialRaw);\n this.currentFlattened = this.flattenData(this.currentRaw);\n\n this.dirtyColumns.clear();\n this.removedColumns.clear();\n }\n\n /**\n * Flattens the given data object.\n * Can be overridden by subclasses to change flattening behavior.\n */\n protected flattenData(data: Record<string, unknown>): FlatRecord {\n return flatten(data);\n }\n\n /**\n * Recomputes the dirty and removed column sets by comparing initial and current snapshots.\n *\n * This method is called internally after any operation that modifies the current data.\n * It iterates through all keys in both flattened snapshots and determines which columns\n * have been modified or removed.\n *\n * @protected\n */\n protected updateDirtyState(): void {\n this.dirtyColumns.clear();\n this.removedColumns.clear();\n\n const keys = new Set([\n ...Object.keys(this.initialFlattened),\n ...Object.keys(this.currentFlattened),\n ]);\n\n for (const key of keys) {\n const hasCurrent = this.currentFlattened[key] !== undefined || key in this.currentFlattened;\n const hasInitial = this.initialFlattened[key] !== undefined || key in this.initialFlattened;\n\n if (!hasCurrent && hasInitial) {\n this.removedColumns.add(key);\n }\n\n const initialValue = this.initialFlattened[key];\n const currentValue = hasCurrent ? this.currentFlattened[key] : undefined;\n\n if (!areEqual(initialValue, currentValue)) {\n this.dirtyColumns.add(key);\n }\n }\n }\n\n /**\n * Recursively merges source object into target object, performing a deep merge.\n *\n * For nested objects, the merge is recursive. For arrays and primitives, the source\n * value replaces the target value. All values are cloned to prevent reference sharing.\n *\n * @param target - The object to merge into\n * @param source - The object to merge from\n * @private\n */\n protected mergeIntoRaw(target: Record<string, unknown>, source: Record<string, unknown>): void {\n for (const [key, value] of Object.entries(source)) {\n if (\n value &&\n typeof value === \"object\" &&\n !Array.isArray(value) &&\n target[key] &&\n typeof target[key] === \"object\" &&\n !Array.isArray(target[key])\n ) {\n this.mergeIntoRaw(target[key] as Record<string, unknown>, value as Record<string, unknown>);\n continue;\n }\n\n target[key] = this.cloneData(value);\n }\n }\n\n /**\n * Deletes a field from the current raw data using a dot-notation path.\n *\n * Supports nested paths (e.g., \"address.city\") and array indices (e.g., \"items.0\").\n * If any segment in the path doesn't exist, the operation is a no-op.\n *\n * @param path - The dot-notation path to the field to delete\n * @private\n */\n protected deleteFromRaw(path: string): void {\n const segments = path.split(\".\");\n let container: unknown = this.currentRaw;\n\n for (let index = 0; index < segments.length - 1; index += 1) {\n if (container === undefined || container === null) {\n return;\n }\n\n container = this.resolveSegment(container, segments[index]);\n }\n\n if (container === undefined || container === null) {\n return;\n }\n\n const lastSegment = segments[segments.length - 1];\n if (Array.isArray(container)) {\n const numericIndex = Number(lastSegment);\n if (!Number.isNaN(numericIndex)) {\n container.splice(numericIndex, 1);\n }\n return;\n }\n\n if (typeof container === \"object\") {\n delete (container as Record<string, unknown>)[lastSegment];\n }\n }\n\n /**\n * Resolves a single segment of a dot-notation path within a container.\n *\n * Handles both object property access and array index access.\n *\n * @param container - The object or array to access\n * @param segment - The property name or array index as a string\n * @returns The value at the specified segment, or undefined if not found\n * @private\n */\n protected resolveSegment(container: unknown, segment: string): unknown {\n if (Array.isArray(container)) {\n const numericIndex = Number(segment);\n if (Number.isNaN(numericIndex)) {\n return undefined;\n }\n\n return container[numericIndex];\n }\n\n if (container && typeof container === \"object\") {\n return (container as Record<string, unknown>)[segment];\n }\n\n return undefined;\n }\n\n /**\n * Creates a deep clone of the provided data.\n *\n * @param data - The data to clone\n * @returns A deep clone of the data\n * @private\n */\n protected cloneData<T>(data: T): T {\n return clone(data);\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { colors } from "@mongez/copper";
2
2
 
3
- //#region ../@warlock.js/cascade/src/drivers/mongodb/mongodb-blueprint.ts
3
+ //#region ../cascade/src/drivers/mongodb/mongodb-blueprint.ts
4
4
  var MongoDBBlueprint = class {
5
5
  database;
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mongodb-blueprint.mjs","names":[],"sources":["../../../../../../../../@warlock.js/cascade/src/drivers/mongodb/mongodb-blueprint.ts"],"sourcesContent":["import { colors } from \"@mongez/copper\";\nimport type { Db, IndexDescriptionInfo } from \"mongodb\";\nimport {\n DriverBlueprintContract,\n TableIndexInformation,\n} from \"../../contracts/driver-blueprint.contract\";\n\nexport class MongoDBBlueprint implements DriverBlueprintContract {\n /**\n * Constructor\n */\n public constructor(protected database: Db) {}\n\n /**\n * List all tables in the database\n */\n public async listTables(): Promise<string[]> {\n const collections = await this.database.listCollections().toArray();\n return collections.map((collection) => collection.name);\n }\n\n /**\n * List all indexes for a specific table\n */\n public async listIndexes(table: string): Promise<TableIndexInformation[]> {\n const collection = this.database.collection(table);\n const indexes = await collection.indexes();\n return indexes.map(this.buildIndexInformation);\n }\n\n /**\n * Build index information\n */\n protected buildIndexInformation(index: IndexDescriptionInfo): TableIndexInformation {\n return {\n name: index.name!,\n type: index.type,\n columns: Object.keys(index.key),\n unique: !!index.unique,\n partial: !!index.partialFilterExpression,\n options: index,\n };\n }\n\n /**\n * List all columns for a specific table\n */\n public async listColumns(table: string): Promise<string[]> {\n console.log(\n colors.yellowBright(\n `MongoDBBlueprint: listColumns(${table}) MongoDB does not have static columns`,\n ),\n );\n\n return [];\n }\n\n /**\n * Check if the given table exists\n */\n public async tableExists(table: string): Promise<boolean> {\n const collections = await this.database.listCollections().toArray();\n return collections.some((collection) => collection.name === table);\n }\n}\n"],"mappings":";;;AAOA,IAAa,mBAAb,MAAiE;CAIlC;;;;CAA7B,AAAO,YAAY,AAAU,UAAc;EAAd;CAAe;;;;CAK5C,MAAa,aAAgC;EAE3C,QAAO,MADmB,KAAK,SAAS,gBAAgB,CAAC,CAAC,QAAQ,EAChD,CAAC,KAAK,eAAe,WAAW,IAAI;CACxD;;;;CAKA,MAAa,YAAY,OAAiD;EAGxE,QAAO,MAFY,KAAK,SAAS,WAAW,KACb,CAAC,CAAC,QAAQ,EAC3B,CAAC,IAAI,KAAK,qBAAqB;CAC/C;;;;CAKA,AAAU,sBAAsB,OAAoD;EAClF,OAAO;GACL,MAAM,MAAM;GACZ,MAAM,MAAM;GACZ,SAAS,OAAO,KAAK,MAAM,GAAG;GAC9B,QAAQ,CAAC,CAAC,MAAM;GAChB,SAAS,CAAC,CAAC,MAAM;GACjB,SAAS;EACX;CACF;;;;CAKA,MAAa,YAAY,OAAkC;EACzD,QAAQ,IACN,OAAO,aACL,iCAAiC,MAAM,uCACzC,CACF;EAEA,OAAO,CAAC;CACV;;;;CAKA,MAAa,YAAY,OAAiC;EAExD,QAAO,MADmB,KAAK,SAAS,gBAAgB,CAAC,CAAC,QAAQ,EAChD,CAAC,MAAM,eAAe,WAAW,SAAS,KAAK;CACnE;AACF"}
1
+ {"version":3,"file":"mongodb-blueprint.mjs","names":[],"sources":["../../../../../../../../cascade/src/drivers/mongodb/mongodb-blueprint.ts"],"sourcesContent":["import { colors } from \"@mongez/copper\";\nimport type { Db, IndexDescriptionInfo } from \"mongodb\";\nimport {\n DriverBlueprintContract,\n TableIndexInformation,\n} from \"../../contracts/driver-blueprint.contract\";\n\nexport class MongoDBBlueprint implements DriverBlueprintContract {\n /**\n * Constructor\n */\n public constructor(protected database: Db) {}\n\n /**\n * List all tables in the database\n */\n public async listTables(): Promise<string[]> {\n const collections = await this.database.listCollections().toArray();\n return collections.map((collection) => collection.name);\n }\n\n /**\n * List all indexes for a specific table\n */\n public async listIndexes(table: string): Promise<TableIndexInformation[]> {\n const collection = this.database.collection(table);\n const indexes = await collection.indexes();\n return indexes.map(this.buildIndexInformation);\n }\n\n /**\n * Build index information\n */\n protected buildIndexInformation(index: IndexDescriptionInfo): TableIndexInformation {\n return {\n name: index.name!,\n type: index.type,\n columns: Object.keys(index.key),\n unique: !!index.unique,\n partial: !!index.partialFilterExpression,\n options: index,\n };\n }\n\n /**\n * List all columns for a specific table\n */\n public async listColumns(table: string): Promise<string[]> {\n console.log(\n colors.yellowBright(\n `MongoDBBlueprint: listColumns(${table}) MongoDB does not have static columns`,\n ),\n );\n\n return [];\n }\n\n /**\n * Check if the given table exists\n */\n public async tableExists(table: string): Promise<boolean> {\n const collections = await this.database.listCollections().toArray();\n return collections.some((collection) => collection.name === table);\n }\n}\n"],"mappings":";;;AAOA,IAAa,mBAAb,MAAiE;CAIlC;;;;CAA7B,AAAO,YAAY,AAAU,UAAc;EAAd;CAAe;;;;CAK5C,MAAa,aAAgC;EAE3C,QAAO,MADmB,KAAK,SAAS,gBAAgB,CAAC,CAAC,QAAQ,EAChD,CAAC,KAAK,eAAe,WAAW,IAAI;CACxD;;;;CAKA,MAAa,YAAY,OAAiD;EAGxE,QAAO,MAFY,KAAK,SAAS,WAAW,KACb,CAAC,CAAC,QAAQ,EAC3B,CAAC,IAAI,KAAK,qBAAqB;CAC/C;;;;CAKA,AAAU,sBAAsB,OAAoD;EAClF,OAAO;GACL,MAAM,MAAM;GACZ,MAAM,MAAM;GACZ,SAAS,OAAO,KAAK,MAAM,GAAG;GAC9B,QAAQ,CAAC,CAAC,MAAM;GAChB,SAAS,CAAC,CAAC,MAAM;GACjB,SAAS;EACX;CACF;;;;CAKA,MAAa,YAAY,OAAkC;EACzD,QAAQ,IACN,OAAO,aACL,iCAAiC,MAAM,uCACzC,CACF;EAEA,OAAO,CAAC;CACV;;;;CAKA,MAAa,YAAY,OAAiC;EAExD,QAAO,MADmB,KAAK,SAAS,gBAAgB,CAAC,CAAC,QAAQ,EAChD,CAAC,MAAM,eAAe,WAAW,SAAS,KAAK;CACnE;AACF"}
@@ -10,7 +10,7 @@ import { IdGeneratorContract } from "../../contracts/database-id-generator.contr
10
10
  import { MongoDriverOptions } from "./types.mjs";
11
11
  import { ClientSession, Db, MongoClient, MongoClientOptions } from "mongodb";
12
12
 
13
- //#region ../@warlock.js/cascade/src/drivers/mongodb/mongodb-driver.d.ts
13
+ //#region ../cascade/src/drivers/mongodb/mongodb-driver.d.ts
14
14
  declare function isMongoDBDriverLoaded(): boolean | null;
15
15
  /**
16
16
  * MongoDB driver implementation that fulfils the Cascade driver contract.