@zyno-io/dk-server-foundation 26.216.430

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 (663) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +458 -0
  3. package/dist/devconsole/assets/index-CKF3C3kv.css +1 -0
  4. package/dist/devconsole/assets/index-CsHdomhM.js +27 -0
  5. package/dist/devconsole/index.html +13 -0
  6. package/dist/resources/proto/generated/devconsole/devconsole.d.ts +320 -0
  7. package/dist/resources/proto/generated/devconsole/devconsole.d.ts.map +1 -0
  8. package/dist/resources/proto/generated/devconsole/devconsole.js +3751 -0
  9. package/dist/resources/proto/generated/devconsole/devconsole.js.map +1 -0
  10. package/dist/src/app/base.d.ts +36 -0
  11. package/dist/src/app/base.d.ts.map +1 -0
  12. package/dist/src/app/base.js +240 -0
  13. package/dist/src/app/base.js.map +1 -0
  14. package/dist/src/app/config.d.ts +90 -0
  15. package/dist/src/app/config.d.ts.map +1 -0
  16. package/dist/src/app/config.js +33 -0
  17. package/dist/src/app/config.js.map +1 -0
  18. package/dist/src/app/config.loader.d.ts +14 -0
  19. package/dist/src/app/config.loader.d.ts.map +1 -0
  20. package/dist/src/app/config.loader.js +67 -0
  21. package/dist/src/app/config.loader.js.map +1 -0
  22. package/dist/src/app/const.d.ts +3 -0
  23. package/dist/src/app/const.d.ts.map +1 -0
  24. package/dist/src/app/const.js +6 -0
  25. package/dist/src/app/const.js.map +1 -0
  26. package/dist/src/app/dev.d.ts +7 -0
  27. package/dist/src/app/dev.d.ts.map +1 -0
  28. package/dist/src/app/dev.js +105 -0
  29. package/dist/src/app/dev.js.map +1 -0
  30. package/dist/src/app/index.d.ts +7 -0
  31. package/dist/src/app/index.d.ts.map +1 -0
  32. package/dist/src/app/index.js +12 -0
  33. package/dist/src/app/index.js.map +1 -0
  34. package/dist/src/app/openapi.d.ts +4 -0
  35. package/dist/src/app/openapi.d.ts.map +1 -0
  36. package/dist/src/app/openapi.js +6 -0
  37. package/dist/src/app/openapi.js.map +1 -0
  38. package/dist/src/app/resolver.d.ts +11 -0
  39. package/dist/src/app/resolver.d.ts.map +1 -0
  40. package/dist/src/app/resolver.js +60 -0
  41. package/dist/src/app/resolver.js.map +1 -0
  42. package/dist/src/app/shutdown.d.ts +12 -0
  43. package/dist/src/app/shutdown.d.ts.map +1 -0
  44. package/dist/src/app/shutdown.js +63 -0
  45. package/dist/src/app/shutdown.js.map +1 -0
  46. package/dist/src/app/state.d.ts +16 -0
  47. package/dist/src/app/state.d.ts.map +1 -0
  48. package/dist/src/app/state.js +12 -0
  49. package/dist/src/app/state.js.map +1 -0
  50. package/dist/src/auth/index.d.ts +3 -0
  51. package/dist/src/auth/index.d.ts.map +1 -0
  52. package/dist/src/auth/index.js +6 -0
  53. package/dist/src/auth/index.js.map +1 -0
  54. package/dist/src/auth/jwt.d.ts +76 -0
  55. package/dist/src/auth/jwt.d.ts.map +1 -0
  56. package/dist/src/auth/jwt.js +218 -0
  57. package/dist/src/auth/jwt.js.map +1 -0
  58. package/dist/src/auth/provider.d.ts +15 -0
  59. package/dist/src/auth/provider.d.ts.map +1 -0
  60. package/dist/src/auth/provider.js +50 -0
  61. package/dist/src/auth/provider.js.map +1 -0
  62. package/dist/src/cli/dksf-dev.d.ts +3 -0
  63. package/dist/src/cli/dksf-dev.d.ts.map +1 -0
  64. package/dist/src/cli/dksf-dev.js +408 -0
  65. package/dist/src/cli/dksf-dev.js.map +1 -0
  66. package/dist/src/cli/dksf-gen-proto.d.ts +3 -0
  67. package/dist/src/cli/dksf-gen-proto.d.ts.map +1 -0
  68. package/dist/src/cli/dksf-gen-proto.js +164 -0
  69. package/dist/src/cli/dksf-gen-proto.js.map +1 -0
  70. package/dist/src/cli/dksf-install.d.ts +3 -0
  71. package/dist/src/cli/dksf-install.d.ts.map +1 -0
  72. package/dist/src/cli/dksf-install.js +10 -0
  73. package/dist/src/cli/dksf-install.js.map +1 -0
  74. package/dist/src/cli/dksf-test.d.ts +3 -0
  75. package/dist/src/cli/dksf-test.d.ts.map +1 -0
  76. package/dist/src/cli/dksf-test.js +78 -0
  77. package/dist/src/cli/dksf-test.js.map +1 -0
  78. package/dist/src/cli/dksf-update.d.ts +3 -0
  79. package/dist/src/cli/dksf-update.d.ts.map +1 -0
  80. package/dist/src/cli/dksf-update.js +86 -0
  81. package/dist/src/cli/dksf-update.js.map +1 -0
  82. package/dist/src/database/common.d.ts +84 -0
  83. package/dist/src/database/common.d.ts.map +1 -0
  84. package/dist/src/database/common.js +380 -0
  85. package/dist/src/database/common.js.map +1 -0
  86. package/dist/src/database/dialect.d.ts +10 -0
  87. package/dist/src/database/dialect.d.ts.map +1 -0
  88. package/dist/src/database/dialect.js +56 -0
  89. package/dist/src/database/dialect.js.map +1 -0
  90. package/dist/src/database/entity.d.ts +62 -0
  91. package/dist/src/database/entity.d.ts.map +1 -0
  92. package/dist/src/database/entity.js +198 -0
  93. package/dist/src/database/entity.js.map +1 -0
  94. package/dist/src/database/index.d.ts +8 -0
  95. package/dist/src/database/index.d.ts.map +1 -0
  96. package/dist/src/database/index.js +15 -0
  97. package/dist/src/database/index.js.map +1 -0
  98. package/dist/src/database/migration/MigrationResetCommand.d.ts +9 -0
  99. package/dist/src/database/migration/MigrationResetCommand.d.ts.map +1 -0
  100. package/dist/src/database/migration/MigrationResetCommand.js +75 -0
  101. package/dist/src/database/migration/MigrationResetCommand.js.map +1 -0
  102. package/dist/src/database/migration/MigrationRunCommand.d.ts +11 -0
  103. package/dist/src/database/migration/MigrationRunCommand.d.ts.map +1 -0
  104. package/dist/src/database/migration/MigrationRunCommand.js +118 -0
  105. package/dist/src/database/migration/MigrationRunCommand.js.map +1 -0
  106. package/dist/src/database/migration/characters.d.ts +14 -0
  107. package/dist/src/database/migration/characters.d.ts.map +1 -0
  108. package/dist/src/database/migration/characters.js +56 -0
  109. package/dist/src/database/migration/characters.js.map +1 -0
  110. package/dist/src/database/migration/create/MigrationCreateCommand.d.ts +11 -0
  111. package/dist/src/database/migration/create/MigrationCreateCommand.d.ts.map +1 -0
  112. package/dist/src/database/migration/create/MigrationCreateCommand.js +106 -0
  113. package/dist/src/database/migration/create/MigrationCreateCommand.js.map +1 -0
  114. package/dist/src/database/migration/create/comparator.d.ts +3 -0
  115. package/dist/src/database/migration/create/comparator.d.ts.map +1 -0
  116. package/dist/src/database/migration/create/comparator.js +408 -0
  117. package/dist/src/database/migration/create/comparator.js.map +1 -0
  118. package/dist/src/database/migration/create/db-reader.d.ts +5 -0
  119. package/dist/src/database/migration/create/db-reader.d.ts.map +1 -0
  120. package/dist/src/database/migration/create/db-reader.js +473 -0
  121. package/dist/src/database/migration/create/db-reader.js.map +1 -0
  122. package/dist/src/database/migration/create/ddl-generator.d.ts +3 -0
  123. package/dist/src/database/migration/create/ddl-generator.d.ts.map +1 -0
  124. package/dist/src/database/migration/create/ddl-generator.js +725 -0
  125. package/dist/src/database/migration/create/ddl-generator.js.map +1 -0
  126. package/dist/src/database/migration/create/entity-reader.d.ts +4 -0
  127. package/dist/src/database/migration/create/entity-reader.d.ts.map +1 -0
  128. package/dist/src/database/migration/create/entity-reader.js +417 -0
  129. package/dist/src/database/migration/create/entity-reader.js.map +1 -0
  130. package/dist/src/database/migration/create/file-generator.d.ts +3 -0
  131. package/dist/src/database/migration/create/file-generator.d.ts.map +1 -0
  132. package/dist/src/database/migration/create/file-generator.js +62 -0
  133. package/dist/src/database/migration/create/file-generator.js.map +1 -0
  134. package/dist/src/database/migration/create/prompt.d.ts +4 -0
  135. package/dist/src/database/migration/create/prompt.d.ts.map +1 -0
  136. package/dist/src/database/migration/create/prompt.js +55 -0
  137. package/dist/src/database/migration/create/prompt.js.map +1 -0
  138. package/dist/src/database/migration/create/schema-model.d.ts +109 -0
  139. package/dist/src/database/migration/create/schema-model.d.ts.map +1 -0
  140. package/dist/src/database/migration/create/schema-model.js +24 -0
  141. package/dist/src/database/migration/create/schema-model.js.map +1 -0
  142. package/dist/src/database/migration/helpers.d.ts +3 -0
  143. package/dist/src/database/migration/helpers.d.ts.map +1 -0
  144. package/dist/src/database/migration/helpers.js +13 -0
  145. package/dist/src/database/migration/helpers.js.map +1 -0
  146. package/dist/src/database/migration/index.d.ts +9 -0
  147. package/dist/src/database/migration/index.d.ts.map +1 -0
  148. package/dist/src/database/migration/index.js +43 -0
  149. package/dist/src/database/migration/index.js.map +1 -0
  150. package/dist/src/database/migration/migration.entity.d.ts +8 -0
  151. package/dist/src/database/migration/migration.entity.d.ts.map +1 -0
  152. package/dist/src/database/migration/migration.entity.js +16 -0
  153. package/dist/src/database/migration/migration.entity.js.map +1 -0
  154. package/dist/src/database/mysql.d.ts +16 -0
  155. package/dist/src/database/mysql.d.ts.map +1 -0
  156. package/dist/src/database/mysql.js +140 -0
  157. package/dist/src/database/mysql.js.map +1 -0
  158. package/dist/src/database/postgres.d.ts +16 -0
  159. package/dist/src/database/postgres.d.ts.map +1 -0
  160. package/dist/src/database/postgres.js +91 -0
  161. package/dist/src/database/postgres.js.map +1 -0
  162. package/dist/src/database/types.d.ts +21 -0
  163. package/dist/src/database/types.d.ts.map +1 -0
  164. package/dist/src/database/types.js +27 -0
  165. package/dist/src/database/types.js.map +1 -0
  166. package/dist/src/devconsole/devconsole.controller.d.ts +7 -0
  167. package/dist/src/devconsole/devconsole.controller.d.ts.map +1 -0
  168. package/dist/src/devconsole/devconsole.controller.js +82 -0
  169. package/dist/src/devconsole/devconsole.controller.js.map +1 -0
  170. package/dist/src/devconsole/devconsole.middleware.d.ts +12 -0
  171. package/dist/src/devconsole/devconsole.middleware.d.ts.map +1 -0
  172. package/dist/src/devconsole/devconsole.middleware.js +28 -0
  173. package/dist/src/devconsole/devconsole.middleware.js.map +1 -0
  174. package/dist/src/devconsole/devconsole.srpc.d.ts +14 -0
  175. package/dist/src/devconsole/devconsole.srpc.d.ts.map +1 -0
  176. package/dist/src/devconsole/devconsole.srpc.js +94 -0
  177. package/dist/src/devconsole/devconsole.srpc.js.map +1 -0
  178. package/dist/src/devconsole/devconsole.store.d.ts +101 -0
  179. package/dist/src/devconsole/devconsole.store.d.ts.map +1 -0
  180. package/dist/src/devconsole/devconsole.store.js +125 -0
  181. package/dist/src/devconsole/devconsole.store.js.map +1 -0
  182. package/dist/src/devconsole/devconsole.ws.d.ts +18 -0
  183. package/dist/src/devconsole/devconsole.ws.d.ts.map +1 -0
  184. package/dist/src/devconsole/devconsole.ws.js +470 -0
  185. package/dist/src/devconsole/devconsole.ws.js.map +1 -0
  186. package/dist/src/devconsole/index.d.ts +2 -0
  187. package/dist/src/devconsole/index.d.ts.map +1 -0
  188. package/dist/src/devconsole/index.js +6 -0
  189. package/dist/src/devconsole/index.js.map +1 -0
  190. package/dist/src/devconsole/patches.d.ts +6 -0
  191. package/dist/src/devconsole/patches.d.ts.map +1 -0
  192. package/dist/src/devconsole/patches.js +397 -0
  193. package/dist/src/devconsole/patches.js.map +1 -0
  194. package/dist/src/health/health.module.d.ts +6 -0
  195. package/dist/src/health/health.module.d.ts.map +1 -0
  196. package/dist/src/health/health.module.js +32 -0
  197. package/dist/src/health/health.module.js.map +1 -0
  198. package/dist/src/health/healthcheck.controller.d.ts +10 -0
  199. package/dist/src/health/healthcheck.controller.d.ts.map +1 -0
  200. package/dist/src/health/healthcheck.controller.js +30 -0
  201. package/dist/src/health/healthcheck.controller.js.map +1 -0
  202. package/dist/src/health/healthcheck.service.d.ts +13 -0
  203. package/dist/src/health/healthcheck.service.d.ts.map +1 -0
  204. package/dist/src/health/healthcheck.service.js +33 -0
  205. package/dist/src/health/healthcheck.service.js.map +1 -0
  206. package/dist/src/health/index.d.ts +3 -0
  207. package/dist/src/health/index.d.ts.map +1 -0
  208. package/dist/src/health/index.js +6 -0
  209. package/dist/src/health/index.js.map +1 -0
  210. package/dist/src/helpers/async/context.d.ts +11 -0
  211. package/dist/src/helpers/async/context.d.ts.map +1 -0
  212. package/dist/src/helpers/async/context.js +75 -0
  213. package/dist/src/helpers/async/context.js.map +1 -0
  214. package/dist/src/helpers/async/process.d.ts +16 -0
  215. package/dist/src/helpers/async/process.d.ts.map +1 -0
  216. package/dist/src/helpers/async/process.js +44 -0
  217. package/dist/src/helpers/async/process.js.map +1 -0
  218. package/dist/src/helpers/async/promise.d.ts +5 -0
  219. package/dist/src/helpers/async/promise.d.ts.map +1 -0
  220. package/dist/src/helpers/async/promise.js +27 -0
  221. package/dist/src/helpers/async/promise.js.map +1 -0
  222. package/dist/src/helpers/data/array.d.ts +3 -0
  223. package/dist/src/helpers/data/array.d.ts.map +1 -0
  224. package/dist/src/helpers/data/array.js +17 -0
  225. package/dist/src/helpers/data/array.js.map +1 -0
  226. package/dist/src/helpers/data/objects.d.ts +12 -0
  227. package/dist/src/helpers/data/objects.d.ts.map +1 -0
  228. package/dist/src/helpers/data/objects.js +75 -0
  229. package/dist/src/helpers/data/objects.js.map +1 -0
  230. package/dist/src/helpers/data/serialization.d.ts +4 -0
  231. package/dist/src/helpers/data/serialization.d.ts.map +1 -0
  232. package/dist/src/helpers/data/serialization.js +15 -0
  233. package/dist/src/helpers/data/serialization.js.map +1 -0
  234. package/dist/src/helpers/data/transformer.d.ts +13 -0
  235. package/dist/src/helpers/data/transformer.d.ts.map +1 -0
  236. package/dist/src/helpers/data/transformer.js +55 -0
  237. package/dist/src/helpers/data/transformer.js.map +1 -0
  238. package/dist/src/helpers/framework/decorators.d.ts +5 -0
  239. package/dist/src/helpers/framework/decorators.d.ts.map +1 -0
  240. package/dist/src/helpers/framework/decorators.js +39 -0
  241. package/dist/src/helpers/framework/decorators.js.map +1 -0
  242. package/dist/src/helpers/framework/event.d.ts +3 -0
  243. package/dist/src/helpers/framework/event.d.ts.map +1 -0
  244. package/dist/src/helpers/framework/event.js +20 -0
  245. package/dist/src/helpers/framework/event.js.map +1 -0
  246. package/dist/src/helpers/framework/injection.d.ts +7 -0
  247. package/dist/src/helpers/framework/injection.d.ts.map +1 -0
  248. package/dist/src/helpers/framework/injection.js +52 -0
  249. package/dist/src/helpers/framework/injection.js.map +1 -0
  250. package/dist/src/helpers/index.d.ts +22 -0
  251. package/dist/src/helpers/index.d.ts.map +1 -0
  252. package/dist/src/helpers/index.js +32 -0
  253. package/dist/src/helpers/index.js.map +1 -0
  254. package/dist/src/helpers/io/package.d.ts +5 -0
  255. package/dist/src/helpers/io/package.d.ts.map +1 -0
  256. package/dist/src/helpers/io/package.js +31 -0
  257. package/dist/src/helpers/io/package.js.map +1 -0
  258. package/dist/src/helpers/io/stream.d.ts +18 -0
  259. package/dist/src/helpers/io/stream.d.ts.map +1 -0
  260. package/dist/src/helpers/io/stream.js +91 -0
  261. package/dist/src/helpers/io/stream.js.map +1 -0
  262. package/dist/src/helpers/redis/broadcast.d.ts +13 -0
  263. package/dist/src/helpers/redis/broadcast.d.ts.map +1 -0
  264. package/dist/src/helpers/redis/broadcast.js +100 -0
  265. package/dist/src/helpers/redis/broadcast.js.map +1 -0
  266. package/dist/src/helpers/redis/cache.d.ts +7 -0
  267. package/dist/src/helpers/redis/cache.d.ts.map +1 -0
  268. package/dist/src/helpers/redis/cache.js +28 -0
  269. package/dist/src/helpers/redis/cache.js.map +1 -0
  270. package/dist/src/helpers/redis/mutex.d.ts +24 -0
  271. package/dist/src/helpers/redis/mutex.d.ts.map +1 -0
  272. package/dist/src/helpers/redis/mutex.js +240 -0
  273. package/dist/src/helpers/redis/mutex.js.map +1 -0
  274. package/dist/src/helpers/redis/redis.d.ts +11 -0
  275. package/dist/src/helpers/redis/redis.d.ts.map +1 -0
  276. package/dist/src/helpers/redis/redis.js +59 -0
  277. package/dist/src/helpers/redis/redis.js.map +1 -0
  278. package/dist/src/helpers/security/crypto.d.ts +26 -0
  279. package/dist/src/helpers/security/crypto.d.ts.map +1 -0
  280. package/dist/src/helpers/security/crypto.js +121 -0
  281. package/dist/src/helpers/security/crypto.js.map +1 -0
  282. package/dist/src/helpers/security/validation.d.ts +4 -0
  283. package/dist/src/helpers/security/validation.d.ts.map +1 -0
  284. package/dist/src/helpers/security/validation.js +25 -0
  285. package/dist/src/helpers/security/validation.js.map +1 -0
  286. package/dist/src/helpers/utils/date.d.ts +4 -0
  287. package/dist/src/helpers/utils/date.d.ts.map +1 -0
  288. package/dist/src/helpers/utils/date.js +23 -0
  289. package/dist/src/helpers/utils/date.js.map +1 -0
  290. package/dist/src/helpers/utils/error.d.ts +24 -0
  291. package/dist/src/helpers/utils/error.d.ts.map +1 -0
  292. package/dist/src/helpers/utils/error.js +168 -0
  293. package/dist/src/helpers/utils/error.js.map +1 -0
  294. package/dist/src/helpers/utils/jsx.d.ts +3 -0
  295. package/dist/src/helpers/utils/jsx.d.ts.map +1 -0
  296. package/dist/src/helpers/utils/jsx.js +13 -0
  297. package/dist/src/helpers/utils/jsx.js.map +1 -0
  298. package/dist/src/helpers/utils/uuid.d.ts +3 -0
  299. package/dist/src/helpers/utils/uuid.d.ts.map +1 -0
  300. package/dist/src/helpers/utils/uuid.js +14 -0
  301. package/dist/src/helpers/utils/uuid.js.map +1 -0
  302. package/dist/src/http/auth.d.ts +46 -0
  303. package/dist/src/http/auth.d.ts.map +1 -0
  304. package/dist/src/http/auth.js +162 -0
  305. package/dist/src/http/auth.js.map +1 -0
  306. package/dist/src/http/context.d.ts +5 -0
  307. package/dist/src/http/context.d.ts.map +1 -0
  308. package/dist/src/http/context.js +22 -0
  309. package/dist/src/http/context.js.map +1 -0
  310. package/dist/src/http/cors.d.ts +36 -0
  311. package/dist/src/http/cors.d.ts.map +1 -0
  312. package/dist/src/http/cors.js +171 -0
  313. package/dist/src/http/cors.js.map +1 -0
  314. package/dist/src/http/errors.d.ts +3 -0
  315. package/dist/src/http/errors.d.ts.map +1 -0
  316. package/dist/src/http/errors.js +10 -0
  317. package/dist/src/http/errors.js.map +1 -0
  318. package/dist/src/http/index.d.ts +24 -0
  319. package/dist/src/http/index.d.ts.map +1 -0
  320. package/dist/src/http/index.js +25 -0
  321. package/dist/src/http/index.js.map +1 -0
  322. package/dist/src/http/kernel.d.ts +17 -0
  323. package/dist/src/http/kernel.d.ts.map +1 -0
  324. package/dist/src/http/kernel.js +133 -0
  325. package/dist/src/http/kernel.js.map +1 -0
  326. package/dist/src/http/middleware.d.ts +12 -0
  327. package/dist/src/http/middleware.d.ts.map +1 -0
  328. package/dist/src/http/middleware.js +61 -0
  329. package/dist/src/http/middleware.js.map +1 -0
  330. package/dist/src/http/overrides.d.ts +2 -0
  331. package/dist/src/http/overrides.d.ts.map +1 -0
  332. package/dist/src/http/overrides.js +19 -0
  333. package/dist/src/http/overrides.js.map +1 -0
  334. package/dist/src/http/store.d.ts +33 -0
  335. package/dist/src/http/store.d.ts.map +1 -0
  336. package/dist/src/http/store.js +102 -0
  337. package/dist/src/http/store.js.map +1 -0
  338. package/dist/src/http/uploads.d.ts +7 -0
  339. package/dist/src/http/uploads.d.ts.map +1 -0
  340. package/dist/src/http/uploads.js +8 -0
  341. package/dist/src/http/uploads.js.map +1 -0
  342. package/dist/src/http/workflow.d.ts +18 -0
  343. package/dist/src/http/workflow.d.ts.map +1 -0
  344. package/dist/src/http/workflow.js +181 -0
  345. package/dist/src/http/workflow.js.map +1 -0
  346. package/dist/src/index.d.ts +13 -0
  347. package/dist/src/index.d.ts.map +1 -0
  348. package/dist/src/index.js +25 -0
  349. package/dist/src/index.js.map +1 -0
  350. package/dist/src/services/cli/invoke.d.ts +5 -0
  351. package/dist/src/services/cli/invoke.d.ts.map +1 -0
  352. package/dist/src/services/cli/invoke.js +45 -0
  353. package/dist/src/services/cli/invoke.js.map +1 -0
  354. package/dist/src/services/cli/repl-context.d.ts +13 -0
  355. package/dist/src/services/cli/repl-context.d.ts.map +1 -0
  356. package/dist/src/services/cli/repl-context.js +60 -0
  357. package/dist/src/services/cli/repl-context.js.map +1 -0
  358. package/dist/src/services/cli/repl.d.ts +5 -0
  359. package/dist/src/services/cli/repl.d.ts.map +1 -0
  360. package/dist/src/services/cli/repl.js +32 -0
  361. package/dist/src/services/cli/repl.js.map +1 -0
  362. package/dist/src/services/cli.d.ts +12 -0
  363. package/dist/src/services/cli.d.ts.map +1 -0
  364. package/dist/src/services/cli.js +76 -0
  365. package/dist/src/services/cli.js.map +1 -0
  366. package/dist/src/services/index.d.ts +7 -0
  367. package/dist/src/services/index.d.ts.map +1 -0
  368. package/dist/src/services/index.js +10 -0
  369. package/dist/src/services/index.js.map +1 -0
  370. package/dist/src/services/leader.d.ts +32 -0
  371. package/dist/src/services/leader.d.ts.map +1 -0
  372. package/dist/src/services/leader.js +174 -0
  373. package/dist/src/services/leader.js.map +1 -0
  374. package/dist/src/services/logger.d.ts +35 -0
  375. package/dist/src/services/logger.d.ts.map +1 -0
  376. package/dist/src/services/logger.js +245 -0
  377. package/dist/src/services/logger.js.map +1 -0
  378. package/dist/src/services/mail/index.d.ts +61 -0
  379. package/dist/src/services/mail/index.d.ts.map +1 -0
  380. package/dist/src/services/mail/index.js +90 -0
  381. package/dist/src/services/mail/index.js.map +1 -0
  382. package/dist/src/services/mail/postmark.d.ts +11 -0
  383. package/dist/src/services/mail/postmark.d.ts.map +1 -0
  384. package/dist/src/services/mail/postmark.js +42 -0
  385. package/dist/src/services/mail/postmark.js.map +1 -0
  386. package/dist/src/services/mail/smtp.d.ts +11 -0
  387. package/dist/src/services/mail/smtp.d.ts.map +1 -0
  388. package/dist/src/services/mail/smtp.js +61 -0
  389. package/dist/src/services/mail/smtp.js.map +1 -0
  390. package/dist/src/services/mesh.d.ts +65 -0
  391. package/dist/src/services/mesh.d.ts.map +1 -0
  392. package/dist/src/services/mesh.js +422 -0
  393. package/dist/src/services/mesh.js.map +1 -0
  394. package/dist/src/services/worker/bootstrap.d.ts +3 -0
  395. package/dist/src/services/worker/bootstrap.d.ts.map +1 -0
  396. package/dist/src/services/worker/bootstrap.js +64 -0
  397. package/dist/src/services/worker/bootstrap.js.map +1 -0
  398. package/dist/src/services/worker/cli.d.ts +11 -0
  399. package/dist/src/services/worker/cli.d.ts.map +1 -0
  400. package/dist/src/services/worker/cli.js +43 -0
  401. package/dist/src/services/worker/cli.js.map +1 -0
  402. package/dist/src/services/worker/entity.d.ts +18 -0
  403. package/dist/src/services/worker/entity.d.ts.map +1 -0
  404. package/dist/src/services/worker/entity.js +16 -0
  405. package/dist/src/services/worker/entity.js.map +1 -0
  406. package/dist/src/services/worker/index.d.ts +9 -0
  407. package/dist/src/services/worker/index.d.ts.map +1 -0
  408. package/dist/src/services/worker/index.js +40 -0
  409. package/dist/src/services/worker/index.js.map +1 -0
  410. package/dist/src/services/worker/queue.d.ts +8 -0
  411. package/dist/src/services/worker/queue.d.ts.map +1 -0
  412. package/dist/src/services/worker/queue.js +32 -0
  413. package/dist/src/services/worker/queue.js.map +1 -0
  414. package/dist/src/services/worker/recorder.d.ts +16 -0
  415. package/dist/src/services/worker/recorder.d.ts.map +1 -0
  416. package/dist/src/services/worker/recorder.js +168 -0
  417. package/dist/src/services/worker/recorder.js.map +1 -0
  418. package/dist/src/services/worker/runner.d.ts +21 -0
  419. package/dist/src/services/worker/runner.d.ts.map +1 -0
  420. package/dist/src/services/worker/runner.js +156 -0
  421. package/dist/src/services/worker/runner.js.map +1 -0
  422. package/dist/src/services/worker/types.d.ts +26 -0
  423. package/dist/src/services/worker/types.d.ts.map +1 -0
  424. package/dist/src/services/worker/types.js +29 -0
  425. package/dist/src/services/worker/types.js.map +1 -0
  426. package/dist/src/srpc/SrpcByteStream.d.ts +67 -0
  427. package/dist/src/srpc/SrpcByteStream.d.ts.map +1 -0
  428. package/dist/src/srpc/SrpcByteStream.js +319 -0
  429. package/dist/src/srpc/SrpcByteStream.js.map +1 -0
  430. package/dist/src/srpc/SrpcClient.d.ts +75 -0
  431. package/dist/src/srpc/SrpcClient.d.ts.map +1 -0
  432. package/dist/src/srpc/SrpcClient.js +445 -0
  433. package/dist/src/srpc/SrpcClient.js.map +1 -0
  434. package/dist/src/srpc/SrpcServer.d.ts +80 -0
  435. package/dist/src/srpc/SrpcServer.d.ts.map +1 -0
  436. package/dist/src/srpc/SrpcServer.js +561 -0
  437. package/dist/src/srpc/SrpcServer.js.map +1 -0
  438. package/dist/src/srpc/index.d.ts +7 -0
  439. package/dist/src/srpc/index.d.ts.map +1 -0
  440. package/dist/src/srpc/index.js +12 -0
  441. package/dist/src/srpc/index.js.map +1 -0
  442. package/dist/src/srpc/types.d.ts +131 -0
  443. package/dist/src/srpc/types.d.ts.map +1 -0
  444. package/dist/src/srpc/types.js +65 -0
  445. package/dist/src/srpc/types.js.map +1 -0
  446. package/dist/src/telemetry/index.d.ts +2 -0
  447. package/dist/src/telemetry/index.d.ts.map +1 -0
  448. package/dist/src/telemetry/index.js +5 -0
  449. package/dist/src/telemetry/index.js.map +1 -0
  450. package/dist/src/telemetry/otel/MariaDBInstrumentation.d.ts +22 -0
  451. package/dist/src/telemetry/otel/MariaDBInstrumentation.d.ts.map +1 -0
  452. package/dist/src/telemetry/otel/MariaDBInstrumentation.js +248 -0
  453. package/dist/src/telemetry/otel/MariaDBInstrumentation.js.map +1 -0
  454. package/dist/src/telemetry/otel/helpers.d.ts +27 -0
  455. package/dist/src/telemetry/otel/helpers.d.ts.map +1 -0
  456. package/dist/src/telemetry/otel/helpers.js +126 -0
  457. package/dist/src/telemetry/otel/helpers.js.map +1 -0
  458. package/dist/src/telemetry/otel/index.d.ts +14 -0
  459. package/dist/src/telemetry/otel/index.d.ts.map +1 -0
  460. package/dist/src/telemetry/otel/index.js +132 -0
  461. package/dist/src/telemetry/otel/index.js.map +1 -0
  462. package/dist/src/telemetry/otel/metrics.controller.d.ts +6 -0
  463. package/dist/src/telemetry/otel/metrics.controller.d.ts.map +1 -0
  464. package/dist/src/telemetry/otel/metrics.controller.js +63 -0
  465. package/dist/src/telemetry/otel/metrics.controller.js.map +1 -0
  466. package/dist/src/telemetry/sentry.d.ts +9 -0
  467. package/dist/src/telemetry/sentry.d.ts.map +1 -0
  468. package/dist/src/telemetry/sentry.js +62 -0
  469. package/dist/src/telemetry/sentry.js.map +1 -0
  470. package/dist/src/testing/expect.d.ts +25 -0
  471. package/dist/src/testing/expect.d.ts.map +1 -0
  472. package/dist/src/testing/expect.js +151 -0
  473. package/dist/src/testing/expect.js.map +1 -0
  474. package/dist/src/testing/fixtures.d.ts +19 -0
  475. package/dist/src/testing/fixtures.d.ts.map +1 -0
  476. package/dist/src/testing/fixtures.js +69 -0
  477. package/dist/src/testing/fixtures.js.map +1 -0
  478. package/dist/src/testing/index.d.ts +260 -0
  479. package/dist/src/testing/index.d.ts.map +1 -0
  480. package/dist/src/testing/index.js +345 -0
  481. package/dist/src/testing/index.js.map +1 -0
  482. package/dist/src/testing/requests.d.ts +10 -0
  483. package/dist/src/testing/requests.d.ts.map +1 -0
  484. package/dist/src/testing/requests.js +56 -0
  485. package/dist/src/testing/requests.js.map +1 -0
  486. package/dist/src/testing/sql.d.ts +11 -0
  487. package/dist/src/testing/sql.d.ts.map +1 -0
  488. package/dist/src/testing/sql.js +55 -0
  489. package/dist/src/testing/sql.js.map +1 -0
  490. package/dist/src/types/index.d.ts +57 -0
  491. package/dist/src/types/index.d.ts.map +1 -0
  492. package/dist/src/types/index.js +73 -0
  493. package/dist/src/types/index.js.map +1 -0
  494. package/dist/src/types/phone.d.ts +11 -0
  495. package/dist/src/types/phone.d.ts.map +1 -0
  496. package/dist/src/types/phone.js +73 -0
  497. package/dist/src/types/phone.js.map +1 -0
  498. package/docs/.vitepress/config.mts +79 -0
  499. package/docs/.yarnrc.yml +1 -0
  500. package/docs/content/CONTRIBUTING.md +140 -0
  501. package/docs/content/README-DEV.md +142 -0
  502. package/docs/content/README.md +39 -0
  503. package/docs/content/authentication.md +215 -0
  504. package/docs/content/cli.md +335 -0
  505. package/docs/content/configuration.md +175 -0
  506. package/docs/content/database.md +422 -0
  507. package/docs/content/devconsole.md +123 -0
  508. package/docs/content/getting-started.md +154 -0
  509. package/docs/content/guides/test-migration-guide.md +351 -0
  510. package/docs/content/health.md +54 -0
  511. package/docs/content/helpers.md +322 -0
  512. package/docs/content/http.md +253 -0
  513. package/docs/content/index.md +147 -0
  514. package/docs/content/leader-service.md +98 -0
  515. package/docs/content/logging.md +150 -0
  516. package/docs/content/mail.md +161 -0
  517. package/docs/content/mesh-service.md +204 -0
  518. package/docs/content/public/images/devconsole/01-dashboard.png +0 -0
  519. package/docs/content/public/images/devconsole/02-routes.png +0 -0
  520. package/docs/content/public/images/devconsole/03-openapi.png +0 -0
  521. package/docs/content/public/images/devconsole/04-requests.png +0 -0
  522. package/docs/content/public/images/devconsole/05-srpc.png +0 -0
  523. package/docs/content/public/images/devconsole/06-database.png +0 -0
  524. package/docs/content/public/images/devconsole/07-health.png +0 -0
  525. package/docs/content/public/images/devconsole/08-mutex.png +0 -0
  526. package/docs/content/public/images/devconsole/09-repl.png +0 -0
  527. package/docs/content/public/images/devconsole/10-workers.png +0 -0
  528. package/docs/content/redis.md +168 -0
  529. package/docs/content/srpc.md +261 -0
  530. package/docs/content/telemetry.md +166 -0
  531. package/docs/content/testing.md +222 -0
  532. package/docs/content/types.md +215 -0
  533. package/docs/content/worker.md +177 -0
  534. package/docs/package.json +16 -0
  535. package/docs/scripts/README-SCREENSHOTS.md +145 -0
  536. package/docs/scripts/capture-devconsole-screenshots.js +184 -0
  537. package/docs/yarn.lock +2408 -0
  538. package/package.json +144 -0
  539. package/patches/@deepkit+type+1.0.19.patch +38 -0
  540. package/patches/deepkit-openapi-core+0.0.9.patch +62 -0
  541. package/src/app/base.ts +253 -0
  542. package/src/app/config.loader.ts +66 -0
  543. package/src/app/config.ts +119 -0
  544. package/src/app/const.ts +4 -0
  545. package/src/app/dev.ts +92 -0
  546. package/src/app/index.ts +6 -0
  547. package/src/app/openapi.ts +3 -0
  548. package/src/app/resolver.ts +49 -0
  549. package/src/app/shutdown.ts +55 -0
  550. package/src/app/state.ts +19 -0
  551. package/src/auth/index.ts +2 -0
  552. package/src/auth/jwt.ts +275 -0
  553. package/src/auth/provider.ts +57 -0
  554. package/src/cli/dksf-dev.ts +416 -0
  555. package/src/cli/dksf-gen-proto.ts +176 -0
  556. package/src/cli/dksf-install.ts +11 -0
  557. package/src/cli/dksf-test.ts +84 -0
  558. package/src/cli/dksf-update.ts +101 -0
  559. package/src/database/common.ts +385 -0
  560. package/src/database/dialect.ts +43 -0
  561. package/src/database/entity.ts +285 -0
  562. package/src/database/index.ts +7 -0
  563. package/src/database/migration/MigrationResetCommand.ts +72 -0
  564. package/src/database/migration/MigrationRunCommand.ts +118 -0
  565. package/src/database/migration/characters.ts +53 -0
  566. package/src/database/migration/create/MigrationCreateCommand.ts +96 -0
  567. package/src/database/migration/create/comparator.ts +467 -0
  568. package/src/database/migration/create/db-reader.ts +510 -0
  569. package/src/database/migration/create/ddl-generator.ts +755 -0
  570. package/src/database/migration/create/entity-reader.ts +471 -0
  571. package/src/database/migration/create/file-generator.ts +57 -0
  572. package/src/database/migration/create/prompt.ts +49 -0
  573. package/src/database/migration/create/schema-model.ts +102 -0
  574. package/src/database/migration/helpers.ts +7 -0
  575. package/src/database/migration/index.ts +35 -0
  576. package/src/database/migration/migration.entity.ts +10 -0
  577. package/src/database/mysql.ts +140 -0
  578. package/src/database/postgres.ts +97 -0
  579. package/src/database/types.ts +18 -0
  580. package/src/devconsole/devconsole.controller.ts +59 -0
  581. package/src/devconsole/devconsole.middleware.ts +23 -0
  582. package/src/devconsole/devconsole.srpc.ts +94 -0
  583. package/src/devconsole/devconsole.store.ts +190 -0
  584. package/src/devconsole/devconsole.ws.ts +491 -0
  585. package/src/devconsole/index.ts +1 -0
  586. package/src/devconsole/patches.ts +428 -0
  587. package/src/health/health.module.ts +30 -0
  588. package/src/health/healthcheck.controller.ts +17 -0
  589. package/src/health/healthcheck.service.ts +28 -0
  590. package/src/health/index.ts +2 -0
  591. package/src/helpers/async/context.ts +67 -0
  592. package/src/helpers/async/process.ts +49 -0
  593. package/src/helpers/async/promise.ts +16 -0
  594. package/src/helpers/data/array.ts +11 -0
  595. package/src/helpers/data/objects.ts +64 -0
  596. package/src/helpers/data/serialization.ts +11 -0
  597. package/src/helpers/data/transformer.ts +54 -0
  598. package/src/helpers/framework/decorators.ts +27 -0
  599. package/src/helpers/framework/event.ts +11 -0
  600. package/src/helpers/framework/injection.ts +47 -0
  601. package/src/helpers/index.ts +34 -0
  602. package/src/helpers/io/package.ts +26 -0
  603. package/src/helpers/io/stream.ts +79 -0
  604. package/src/helpers/redis/broadcast.ts +96 -0
  605. package/src/helpers/redis/cache.ts +28 -0
  606. package/src/helpers/redis/mutex.ts +260 -0
  607. package/src/helpers/redis/redis.ts +60 -0
  608. package/src/helpers/security/crypto.ts +133 -0
  609. package/src/helpers/security/validation.ts +16 -0
  610. package/src/helpers/utils/date.ts +13 -0
  611. package/src/helpers/utils/error.ts +155 -0
  612. package/src/helpers/utils/jsx.ts +8 -0
  613. package/src/helpers/utils/uuid.ts +8 -0
  614. package/src/http/auth.ts +156 -0
  615. package/src/http/context.ts +15 -0
  616. package/src/http/cors.ts +159 -0
  617. package/src/http/errors.ts +9 -0
  618. package/src/http/index.ts +19 -0
  619. package/src/http/kernel.ts +138 -0
  620. package/src/http/middleware.ts +59 -0
  621. package/src/http/overrides.ts +20 -0
  622. package/src/http/store.ts +86 -0
  623. package/src/http/uploads.ts +6 -0
  624. package/src/http/workflow.ts +167 -0
  625. package/src/index.ts +19 -0
  626. package/src/services/cli/invoke.ts +39 -0
  627. package/src/services/cli/repl-context.ts +63 -0
  628. package/src/services/cli/repl.ts +22 -0
  629. package/src/services/cli.ts +74 -0
  630. package/src/services/index.ts +6 -0
  631. package/src/services/leader.ts +201 -0
  632. package/src/services/logger.ts +258 -0
  633. package/src/services/mail/index.ts +117 -0
  634. package/src/services/mail/postmark.ts +37 -0
  635. package/src/services/mail/smtp.ts +46 -0
  636. package/src/services/mesh.ts +508 -0
  637. package/src/services/worker/bootstrap.ts +53 -0
  638. package/src/services/worker/cli.ts +32 -0
  639. package/src/services/worker/entity.ts +22 -0
  640. package/src/services/worker/index.ts +30 -0
  641. package/src/services/worker/queue.ts +35 -0
  642. package/src/services/worker/recorder.ts +172 -0
  643. package/src/services/worker/runner.ts +179 -0
  644. package/src/services/worker/types.ts +32 -0
  645. package/src/srpc/SrpcByteStream.ts +382 -0
  646. package/src/srpc/SrpcClient.ts +512 -0
  647. package/src/srpc/SrpcServer.ts +681 -0
  648. package/src/srpc/index.ts +15 -0
  649. package/src/srpc/types.ts +146 -0
  650. package/src/telemetry/index.ts +1 -0
  651. package/src/telemetry/otel/MariaDBInstrumentation.ts +297 -0
  652. package/src/telemetry/otel/helpers.ts +117 -0
  653. package/src/telemetry/otel/index.ts +150 -0
  654. package/src/telemetry/otel/metrics.controller.ts +50 -0
  655. package/src/telemetry/sentry.ts +58 -0
  656. package/src/testing/expect.ts +148 -0
  657. package/src/testing/fixtures.ts +62 -0
  658. package/src/testing/index.ts +355 -0
  659. package/src/testing/requests.ts +68 -0
  660. package/src/testing/sql.ts +50 -0
  661. package/src/types/index.ts +64 -0
  662. package/src/types/phone.ts +64 -0
  663. package/types.d.ts +20 -0
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MigrationCreateCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ function __assignType(fn, args) {
6
+ fn.__type = args;
7
+ return fn;
8
+ }
9
+ /*@ts-ignore*/
10
+ var { __ΩFlag } = require('@deepkit/app');
11
+ const app_1 = require("@deepkit/app");
12
+ const state_1 = require("../../../app/state");
13
+ const resolver_1 = require("../../../app/resolver");
14
+ const services_1 = require("../../../services");
15
+ const dialect_1 = require("../../dialect");
16
+ const entity_reader_1 = require("./entity-reader");
17
+ const db_reader_1 = require("./db-reader");
18
+ const comparator_1 = require("./comparator");
19
+ const ddl_generator_1 = require("./ddl-generator");
20
+ const file_generator_1 = require("./file-generator");
21
+ const prompt_1 = require("./prompt");
22
+ const schema_model_1 = require("./schema-model");
23
+ let MigrationCreateCommand = class MigrationCreateCommand {
24
+ constructor(dbProvider) {
25
+ this.dbProvider = dbProvider;
26
+ this.logger = (0, services_1.createLogger)('MigrationCreate');
27
+ }
28
+ async execute(nonInteractive = false) {
29
+ if (nonInteractive) {
30
+ (0, prompt_1.setNonInteractive)(true);
31
+ }
32
+ try {
33
+ const db = this.dbProvider.db;
34
+ const dialect = (0, dialect_1.getDialect)(db.adapter);
35
+ const pgSchema = dialect === 'postgres' ? ((0, resolver_1.getAppConfig)().PG_SCHEMA ?? 'public') : 'public';
36
+ this.logger.info(`Dialect: ${dialect}`);
37
+ // Step 1: Read entity schema
38
+ this.logger.info('Reading entity definitions...');
39
+ const entitySchema = (0, entity_reader_1.readEntitiesSchema)(db, dialect);
40
+ const entityTableNames = Array.from(entitySchema.keys());
41
+ this.logger.info(`Found ${entityTableNames.length} entity table(s): ${entityTableNames.join(', ')}`);
42
+ // Step 2: Discover all DB tables and union with entity table names
43
+ const allDbTableNames = await (0, db_reader_1.readAllTableNames)(db, dialect, pgSchema);
44
+ const dbOnlyTables = allDbTableNames.filter(__assignType(n => !entitySchema.has(n) && !schema_model_1.INTERNAL_TABLES.has(n), ['n', '', 'P"2!"/"']));
45
+ const tableNames = [...entityTableNames, ...dbOnlyTables];
46
+ // Step 3: Read database schema
47
+ this.logger.info('Reading database schema...');
48
+ const dbSchema = await (0, db_reader_1.readDatabaseSchema)(db, dialect, tableNames, pgSchema);
49
+ // Step 4: Compare schemas
50
+ this.logger.info('Comparing schemas...');
51
+ const diff = await (0, comparator_1.compareSchemas)(entitySchema, dbSchema, dialect, !nonInteractive, pgSchema);
52
+ // Step 5: Generate DDL
53
+ const statements = (0, ddl_generator_1.generateDDL)(diff);
54
+ if (statements.length === 0) {
55
+ this.logger.info('No schema changes detected.');
56
+ return;
57
+ }
58
+ // Step 6: Show summary
59
+ this.logger.info(`\nChanges detected:`);
60
+ if (diff.addedTables.length > 0) {
61
+ this.logger.info(` Added tables: ${diff.addedTables.map(__assignType(t => t.name, ['t', '', 'P"2!"/"'])).join(', ')}`);
62
+ }
63
+ if (diff.removedTables.length > 0) {
64
+ this.logger.info(` Removed tables: ${diff.removedTables.map(__assignType(t => t.name, ['t', '', 'P"2!"/"'])).join(', ')}`);
65
+ }
66
+ for (const table of diff.modifiedTables) {
67
+ const changes = [];
68
+ if (table.addedColumns.length > 0)
69
+ changes.push(`+${table.addedColumns.length} cols`);
70
+ if (table.removedColumns.length > 0)
71
+ changes.push(`-${table.removedColumns.length} cols`);
72
+ if (table.modifiedColumns.length > 0)
73
+ changes.push(`~${table.modifiedColumns.length} cols`);
74
+ if (table.renamedColumns.length > 0)
75
+ changes.push(`${table.renamedColumns.length} renamed`);
76
+ if (table.addedIndexes.length > 0)
77
+ changes.push(`+${table.addedIndexes.length} idx`);
78
+ if (table.removedIndexes.length > 0)
79
+ changes.push(`-${table.removedIndexes.length} idx`);
80
+ if (table.primaryKeyChanged)
81
+ changes.push('PK changed');
82
+ this.logger.info(` ${table.tableName}: ${changes.join(', ')}`);
83
+ }
84
+ this.logger.info(`\nDDL statements (${statements.length}):`);
85
+ for (const stmt of statements) {
86
+ this.logger.info(` ${stmt}`);
87
+ }
88
+ // Step 7: Prompt for description and generate file
89
+ services_1.pinoLogger.flush();
90
+ await new Promise(__assignType(resolve => setTimeout(resolve, 100), ['resolve', '', 'P"2!"/"']));
91
+ const description = await (0, prompt_1.promptMigrationDescription)();
92
+ const filePath = (0, file_generator_1.generateMigrationFile)(statements, description);
93
+ this.logger.info(`\nMigration file created: ${filePath}`);
94
+ }
95
+ finally {
96
+ (0, prompt_1.setNonInteractive)(false);
97
+ }
98
+ }
99
+ };
100
+ exports.MigrationCreateCommand = MigrationCreateCommand;
101
+ MigrationCreateCommand.__type = ['logger', function () { return (0, services_1.createLogger)('MigrationCreate'); }, () => state_1.DBProvider, 'dbProvider', 'constructor', () => __ΩFlag, "Skip interactive prompts", 'description', 'nonInteractive', () => false, 'execute', 'MigrationCreateCommand', '!3!;>"PP7#2$;"0%PP)P.\'4(Mo&"K2)>*"0+5w,'];
102
+ exports.MigrationCreateCommand = MigrationCreateCommand = tslib_1.__decorate([
103
+ app_1.cli.controller('migration:create'),
104
+ tslib_1.__metadata("design:paramtypes", [state_1.DBProvider])
105
+ ], MigrationCreateCommand);
106
+ //# sourceMappingURL=MigrationCreateCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationCreateCommand.js","sourceRoot":"","sources":["../../../../../src/database/migration/create/MigrationCreateCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DatabaseSchema, Dialect, SchemaDiff } from './schema-model';
2
+ export declare function compareSchemas(entitySchema: DatabaseSchema, dbSchema: DatabaseSchema, dialect: Dialect, interactive: boolean, pgSchema?: string): Promise<SchemaDiff>;
3
+ //# sourceMappingURL=comparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../../../src/database/migration/create/comparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,cAAc,EACd,OAAO,EAGP,UAAU,EAGb,MAAM,gBAAgB,CAAC;AAGxB,wBAAsB,cAAc,CAChC,YAAY,EAAE,cAAc,EAC5B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC,CA4CrB"}
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareSchemas = compareSchemas;
4
+ function __assignType(fn, args) {
5
+ fn.__type = args;
6
+ return fn;
7
+ }
8
+ /*@ts-ignore*/
9
+ var { __ΩDatabaseSchema, __ΩDialect, __ΩSchemaDiff, __ΩTableSchema, __ΩTableDiff, __ΩColumnSchema, __ΩColumnModification, __ΩIndexSchema, __ΩForeignKeySchema } = require('./schema-model');
10
+ const prompt_1 = require("./prompt");
11
+ async function compareSchemas(entitySchema, dbSchema, dialect, interactive, pgSchema) {
12
+ const addedTables = [];
13
+ const removedTables = [];
14
+ const modifiedTables = [];
15
+ // Find added tables (in entities but not in DB)
16
+ for (const [name, table] of entitySchema) {
17
+ if (!dbSchema.has(name)) {
18
+ addedTables.push(table);
19
+ }
20
+ }
21
+ // Find removed tables (in DB but not in entities)
22
+ for (const [name, table] of dbSchema) {
23
+ if (!entitySchema.has(name)) {
24
+ removedTables.push(table);
25
+ }
26
+ }
27
+ // Compare matching tables
28
+ for (const [name, entityTable] of entitySchema) {
29
+ const dbTable = dbSchema.get(name);
30
+ if (!dbTable)
31
+ continue;
32
+ const diff = await compareTable(entityTable, dbTable, dialect, interactive);
33
+ if (diff) {
34
+ modifiedTables.push(diff);
35
+ }
36
+ }
37
+ // Collect all enum type names from entity tables (for safe PG DROP TYPE filtering)
38
+ let entityEnumTypes;
39
+ if (dialect === 'postgres') {
40
+ entityEnumTypes = (Set.Ω = [['&']], new Set());
41
+ for (const table of entitySchema.values()) {
42
+ for (const col of table.columns) {
43
+ if (col.type === 'enum' && col.enumTypeName) {
44
+ entityEnumTypes.add(col.enumTypeName);
45
+ }
46
+ }
47
+ }
48
+ }
49
+ return { dialect, pgSchema, addedTables, removedTables, modifiedTables, entityEnumTypes };
50
+ }
51
+ compareSchemas.__type = [() => __ΩDatabaseSchema, 'entitySchema', () => __ΩDatabaseSchema, 'dbSchema', () => __ΩDialect, 'dialect', 'interactive', 'pgSchema', () => __ΩSchemaDiff, 'compareSchemas', 'Pn!2"n#2$n%2&)2\'&2(8n)`/*'];
52
+ async function compareTable(entityTable, dbTable, dialect, interactive) {
53
+ const diff = {
54
+ tableName: entityTable.name,
55
+ addedColumns: [],
56
+ removedColumns: [],
57
+ modifiedColumns: [],
58
+ renamedColumns: [],
59
+ reorderedColumns: [],
60
+ addedIndexes: [],
61
+ removedIndexes: [],
62
+ addedForeignKeys: [],
63
+ removedForeignKeys: [],
64
+ primaryKeyChanged: false,
65
+ addedEnumTypes: [],
66
+ removedEnumTypes: [],
67
+ modifiedEnumTypes: [],
68
+ entityColumns: entityTable.columns
69
+ };
70
+ // --- Columns ---
71
+ const entityColMap = new Map(entityTable.columns.map(__assignType(c => [c.name, c], ['c', '', 'P"2!"/"'])));
72
+ const dbColMap = new Map(dbTable.columns.map(__assignType(c => [c.name, c], ['c', '', 'P"2!"/"'])));
73
+ let candidateAdds = entityTable.columns.filter(__assignType(c => !dbColMap.has(c.name), ['c', '', 'P"2!"/"']));
74
+ let candidateDrops = dbTable.columns.filter(__assignType(c => !entityColMap.has(c.name) && !entityTable.skippedColumns?.has(c.name), ['c', '', 'P"2!"/"']));
75
+ // Rename detection
76
+ if (candidateAdds.length > 0 && candidateDrops.length > 0) {
77
+ if (interactive) {
78
+ const renames = await detectRenames(entityTable.name, candidateAdds, candidateDrops);
79
+ for (const rename of renames) {
80
+ diff.renamedColumns.push(rename);
81
+ candidateAdds = candidateAdds.filter(__assignType(c => c.name !== rename.to, ['c', '', 'P"2!"/"']));
82
+ candidateDrops = candidateDrops.filter(__assignType(c => c.name !== rename.from, ['c', '', 'P"2!"/"']));
83
+ }
84
+ }
85
+ else {
86
+ console.warn(`Warning: Table \`${entityTable.name}\` has columns added (${candidateAdds.map(__assignType(c => c.name, ['c', '', 'P"2!"/"'])).join(', ')}) ` +
87
+ `and removed (${candidateDrops.map(__assignType(c => c.name, ['c', '', 'P"2!"/"'])).join(', ')}). ` +
88
+ `In non-interactive mode, these are treated as separate DROP/ADD operations (potential data loss). ` +
89
+ `Run without --non-interactive to detect renames.`);
90
+ }
91
+ }
92
+ diff.addedColumns = candidateAdds;
93
+ diff.removedColumns = candidateDrops;
94
+ // Modified columns (present in both by same name)
95
+ for (const [name, entityCol] of entityColMap) {
96
+ const dbCol = dbColMap.get(name);
97
+ if (!dbCol)
98
+ continue;
99
+ const mod = compareColumn(entityCol, dbCol);
100
+ if (mod)
101
+ diff.modifiedColumns.push(mod);
102
+ }
103
+ // Renamed columns may also have property changes (type, nullable, default, etc.)
104
+ // For MySQL, CHANGE COLUMN already includes the full new definition so these are handled.
105
+ // For PG, RENAME COLUMN only renames — separate ALTER COLUMN statements are needed.
106
+ for (const rename of diff.renamedColumns) {
107
+ const dbCol = dbColMap.get(rename.from);
108
+ if (!dbCol)
109
+ continue;
110
+ const mod = compareColumn(rename.column, dbCol);
111
+ if (mod)
112
+ diff.modifiedColumns.push(mod);
113
+ }
114
+ // Column reordering (MySQL only)
115
+ if (dialect === 'mysql') {
116
+ diff.reorderedColumns = detectReorderingMySQL(entityTable, dbTable, diff);
117
+ }
118
+ // --- Primary Key ---
119
+ const entityPK = entityTable.columns.filter(__assignType(c => c.isPrimaryKey, ['c', '', 'P"2!"/"'])).map(__assignType(c => c.name, ['c', '', 'P"2!"/"']));
120
+ const rawDbPK = dbTable.columns.filter(__assignType(c => c.isPrimaryKey, ['c', '', 'P"2!"/"'])).map(__assignType(c => c.name, ['c', '', 'P"2!"/"']));
121
+ // Apply rename mappings to DB PK names so that pure PK column renames
122
+ // are not falsely detected as PK changes
123
+ const renamedFromToMap = new Map(diff.renamedColumns.map(__assignType(r => [r.from, r.to], ['r', '', 'P"2!"/"'])));
124
+ const dbPK = rawDbPK.map(__assignType(name => renamedFromToMap.get(name) ?? name, ['name', '', 'P"2!"/"']));
125
+ if (!arraysEqual(entityPK, dbPK)) {
126
+ diff.primaryKeyChanged = true;
127
+ diff.newPrimaryKey = entityPK;
128
+ // Store the raw DB column names (before rename mapping) so that DDL generation
129
+ // can reference columns by their current DB names when stripping AUTO_INCREMENT
130
+ // before DROP PRIMARY KEY (which happens before CHANGE COLUMN renames).
131
+ diff.oldPrimaryKey = rawDbPK;
132
+ diff.oldPrimaryKeyConstraintName = dbTable.primaryKeyConstraintName;
133
+ }
134
+ // --- Indexes ---
135
+ const { added: addedIdx, removed: removedIdx } = compareIndexes(entityTable.indexes, dbTable.indexes);
136
+ diff.addedIndexes = addedIdx;
137
+ diff.removedIndexes = removedIdx;
138
+ // --- Foreign Keys ---
139
+ const { added: addedFK, removed: removedFK } = compareForeignKeys(entityTable.foreignKeys, dbTable.foreignKeys);
140
+ diff.addedForeignKeys = addedFK;
141
+ diff.removedForeignKeys = removedFK;
142
+ // --- Enum types (PG only) ---
143
+ if (dialect === 'postgres') {
144
+ detectEnumChanges(diff, entityTable, dbTable);
145
+ }
146
+ // Check if there are any actual changes
147
+ if (diff.addedColumns.length === 0 &&
148
+ diff.removedColumns.length === 0 &&
149
+ diff.modifiedColumns.length === 0 &&
150
+ diff.renamedColumns.length === 0 &&
151
+ diff.reorderedColumns.length === 0 &&
152
+ diff.addedIndexes.length === 0 &&
153
+ diff.removedIndexes.length === 0 &&
154
+ diff.addedForeignKeys.length === 0 &&
155
+ diff.removedForeignKeys.length === 0 &&
156
+ !diff.primaryKeyChanged &&
157
+ diff.addedEnumTypes.length === 0 &&
158
+ diff.removedEnumTypes.length === 0 &&
159
+ diff.modifiedEnumTypes.length === 0) {
160
+ return null;
161
+ }
162
+ return diff;
163
+ }
164
+ compareTable.__type = [() => __ΩTableSchema, 'entityTable', () => __ΩTableSchema, 'dbTable', () => __ΩDialect, 'dialect', 'interactive', () => __ΩTableDiff, 'compareTable', 'Pn!2"n#2$n%2&)2\'Pn(,J`/)'];
165
+ function compareColumn(entityCol, dbCol) {
166
+ const typeChanged = !typesMatch(entityCol, dbCol);
167
+ const nullableChanged = entityCol.nullable !== dbCol.nullable;
168
+ const defaultChanged = !defaultsMatch(entityCol, dbCol);
169
+ const autoIncrementChanged = entityCol.autoIncrement !== dbCol.autoIncrement;
170
+ // ON UPDATE expression (MySQL only). If entity side has no onUpdateExpression, treat as "remove it".
171
+ const onUpdateChanged = (entityCol.onUpdateExpression || '') !== (dbCol.onUpdateExpression || '');
172
+ if (!typeChanged && !nullableChanged && !defaultChanged && !autoIncrementChanged && !onUpdateChanged) {
173
+ return null;
174
+ }
175
+ return {
176
+ name: entityCol.name,
177
+ oldColumn: dbCol,
178
+ newColumn: entityCol,
179
+ typeChanged,
180
+ nullableChanged,
181
+ defaultChanged,
182
+ autoIncrementChanged,
183
+ onUpdateChanged
184
+ };
185
+ }
186
+ compareColumn.__type = [() => __ΩColumnSchema, 'entityCol', () => __ΩColumnSchema, 'dbCol', () => __ΩColumnModification, 'compareColumn', 'Pn!2"n#2$Pn%,J/&'];
187
+ function normalizeTypeAlias(type) {
188
+ switch (type) {
189
+ case 'integer':
190
+ return 'int';
191
+ case 'numeric':
192
+ return 'decimal';
193
+ default:
194
+ return type;
195
+ }
196
+ }
197
+ normalizeTypeAlias.__type = ['type', 'normalizeTypeAlias', 'P&2!&/"'];
198
+ function typesMatch(a, b) {
199
+ if (normalizeTypeAlias(a.type) !== normalizeTypeAlias(b.type))
200
+ return false;
201
+ // Compare size when relevant
202
+ if (a.size !== undefined || b.size !== undefined) {
203
+ if (a.size !== b.size)
204
+ return false;
205
+ }
206
+ // Compare scale
207
+ if (a.scale !== undefined || b.scale !== undefined) {
208
+ if (a.scale !== b.scale)
209
+ return false;
210
+ }
211
+ // Compare unsigned
212
+ if (a.unsigned !== b.unsigned)
213
+ return false;
214
+ // Compare enum type name (PG)
215
+ if (a.enumTypeName || b.enumTypeName) {
216
+ if (a.enumTypeName !== b.enumTypeName)
217
+ return false;
218
+ }
219
+ // Compare enum values (sorted to ignore order-only differences)
220
+ if (a.enumValues || b.enumValues) {
221
+ const aVals = [...(a.enumValues || [])].sort();
222
+ const bVals = [...(b.enumValues || [])].sort();
223
+ if (!arraysEqual(aVals, bVals))
224
+ return false;
225
+ }
226
+ return true;
227
+ }
228
+ typesMatch.__type = [() => __ΩColumnSchema, 'a', () => __ΩColumnSchema, 'b', 'typesMatch', 'Pn!2"n#2$)/%'];
229
+ function normalizeDefaultExpression(expr) {
230
+ let s = expr.toUpperCase().trim();
231
+ // Normalize now() and CURRENT_TIMESTAMP() variants to CURRENT_TIMESTAMP (no parens)
232
+ s = s.replace(/\bNOW\s*\(\)/g, 'CURRENT_TIMESTAMP');
233
+ s = s.replace(/\bCURRENT_TIMESTAMP\s*\(\)/g, 'CURRENT_TIMESTAMP');
234
+ return s;
235
+ }
236
+ normalizeDefaultExpression.__type = ['expr', 'normalizeDefaultExpression', 'P&2!&/"'];
237
+ function defaultsMatch(a, b) {
238
+ // Skip default comparison for auto-increment columns
239
+ if (a.autoIncrement || b.autoIncrement)
240
+ return true;
241
+ // If entity side has no default info at all, treat as "unspecified" and skip comparison.
242
+ // The entity reader does not populate default values from Deepkit metadata.
243
+ if (a.defaultValue === undefined && a.defaultExpression === undefined)
244
+ return true;
245
+ // Both have expression defaults
246
+ if (a.defaultExpression && b.defaultExpression) {
247
+ return normalizeDefaultExpression(a.defaultExpression) === normalizeDefaultExpression(b.defaultExpression);
248
+ }
249
+ // One has expression, other doesn't
250
+ if (a.defaultExpression !== b.defaultExpression) {
251
+ if ((a.defaultExpression && !b.defaultExpression) || (!a.defaultExpression && b.defaultExpression)) {
252
+ return false;
253
+ }
254
+ }
255
+ // Compare values
256
+ if (a.defaultValue === undefined && b.defaultValue === undefined)
257
+ return true;
258
+ if (a.defaultValue === undefined || b.defaultValue === undefined)
259
+ return false;
260
+ return String(a.defaultValue) === String(b.defaultValue);
261
+ }
262
+ defaultsMatch.__type = [() => __ΩColumnSchema, 'a', () => __ΩColumnSchema, 'b', 'defaultsMatch', 'Pn!2"n#2$)/%'];
263
+ async function detectRenames(tableName, candidateAdds, candidateDrops) {
264
+ const renames = [];
265
+ let remainingDrops = [...candidateDrops];
266
+ for (const added of candidateAdds) {
267
+ // Prefer exact type matches
268
+ let compatibleDrops = remainingDrops.filter(__assignType(d => typesMatch(added, d), ['d', '', 'P"2!"/"']));
269
+ // Fall back to all remaining drops (type differs — prompt will warn)
270
+ if (compatibleDrops.length === 0 && remainingDrops.length > 0) {
271
+ compatibleDrops = remainingDrops;
272
+ }
273
+ if (compatibleDrops.length === 0)
274
+ continue;
275
+ const result = await (0, prompt_1.promptRename)(tableName, added.name, compatibleDrops.map(__assignType(d => d.name, ['d', '', 'P"2!"/"'])));
276
+ if (result) {
277
+ renames.push({ from: result, to: added.name, column: added });
278
+ remainingDrops = remainingDrops.filter(__assignType(d => d.name !== result, ['d', '', 'P"2!"/"']));
279
+ }
280
+ }
281
+ return renames;
282
+ }
283
+ detectRenames.__type = ['tableName', () => __ΩColumnSchema, 'candidateAdds', () => __ΩColumnSchema, 'candidateDrops', 'from', 'to', () => __ΩColumnSchema, 'column', 'detectRenames', 'P&2!n"F2#n$F2%P&4&&4\'n(4)MF`/*'];
284
+ function detectReorderingMySQL(entityTable, dbTable, diff) {
285
+ // Build the expected column order from the entity
286
+ const entityOrder = entityTable.columns.map(__assignType(c => c.name, ['c', '', 'P"2!"/"']));
287
+ // Build the current DB order, accounting for adds/drops/renames
288
+ const renamedFrom = new Map(diff.renamedColumns.map(__assignType(r => [r.from, r.to], ['r', '', 'P"2!"/"'])));
289
+ const removedNames = new Set(diff.removedColumns.map(__assignType(c => c.name, ['c', '', 'P"2!"/"'])));
290
+ const addedNames = new Set(diff.addedColumns.map(__assignType(c => c.name, ['c', '', 'P"2!"/"'])));
291
+ // Current DB order with renames applied and removals excluded
292
+ const dbOrder = dbTable.columns.map(__assignType(c => renamedFrom.get(c.name) || c.name, ['c', '', 'P"2!"/"'])).filter(__assignType(name => !removedNames.has(name), ['name', '', 'P"2!"/"']));
293
+ // Entity order without new additions (the columns that should be in DB order)
294
+ const existingEntityOrder = entityOrder.filter(__assignType(name => !addedNames.has(name), ['name', '', 'P"2!"/"']));
295
+ // Check if the existing columns are in the same relative order
296
+ if (arraysEqual(existingEntityOrder, dbOrder)) {
297
+ return [];
298
+ }
299
+ // Compute which columns need MODIFY with AFTER
300
+ const reorders = [];
301
+ for (let i = 0; i < existingEntityOrder.length; i++) {
302
+ if (existingEntityOrder[i] !== dbOrder[i]) {
303
+ const after = i === 0 ? null : existingEntityOrder[i - 1];
304
+ reorders.push({ name: existingEntityOrder[i], after });
305
+ }
306
+ }
307
+ return reorders;
308
+ }
309
+ detectReorderingMySQL.__type = [() => __ΩTableSchema, 'entityTable', () => __ΩTableSchema, 'dbTable', () => __ΩTableDiff, 'diff', 'name', 'after', 'detectReorderingMySQL', 'Pn!2"n#2$n%2&P&4\'P&,J4(MF/)'];
310
+ function compareIndexes(entityIndexes, dbIndexes) {
311
+ // Match by column set + uniqueness + spatial, not by name
312
+ const indexKey = __assignType((idx) => `${idx.columns.join(',')}:${idx.unique}:${idx.spatial}`, [() => __ΩIndexSchema, 'idx', '', 'Pn!2""/#']);
313
+ const entityKeys = new Map(entityIndexes.map(__assignType(i => [indexKey(i), i], ['i', '', 'P"2!"/"'])));
314
+ const dbKeys = new Map(dbIndexes.map(__assignType(i => [indexKey(i), i], ['i', '', 'P"2!"/"'])));
315
+ const added = entityIndexes.filter(__assignType(i => !dbKeys.has(indexKey(i)), ['i', '', 'P"2!"/"']));
316
+ const removed = dbIndexes.filter(__assignType(i => !entityKeys.has(indexKey(i)), ['i', '', 'P"2!"/"']));
317
+ return { added, removed };
318
+ }
319
+ compareIndexes.__type = [() => __ΩIndexSchema, 'entityIndexes', () => __ΩIndexSchema, 'dbIndexes', () => __ΩIndexSchema, 'added', () => __ΩIndexSchema, 'removed', 'compareIndexes', 'Pn!F2"n#F2$Pn%F4&n\'F4(M/)'];
320
+ function normalizeFkAction(action) {
321
+ const upper = action.toUpperCase();
322
+ // NO ACTION and RESTRICT are semantically equivalent for comparison
323
+ return upper === 'NO ACTION' ? 'RESTRICT' : upper;
324
+ }
325
+ normalizeFkAction.__type = ['action', 'normalizeFkAction', 'P&2!&/"'];
326
+ function compareForeignKeys(entityFKs, dbFKs) {
327
+ // Match by structure including actions, not by name
328
+ // NO ACTION and RESTRICT are treated as equivalent to avoid diff churn
329
+ const fkKey = __assignType((fk) => `${fk.columns.join(',')}→${fk.referencedTable}(${fk.referencedColumns.join(',')})/${normalizeFkAction(fk.onDelete)}/${normalizeFkAction(fk.onUpdate)}`, [() => __ΩForeignKeySchema, 'fk', '', 'Pn!2""/#']);
330
+ const entityKeys = new Map(entityFKs.map(__assignType(fk => [fkKey(fk), fk], ['fk', '', 'P"2!"/"'])));
331
+ const dbKeys = new Map(dbFKs.map(__assignType(fk => [fkKey(fk), fk], ['fk', '', 'P"2!"/"'])));
332
+ const added = entityFKs.filter(__assignType(fk => !dbKeys.has(fkKey(fk)), ['fk', '', 'P"2!"/"']));
333
+ const removed = dbFKs.filter(__assignType(fk => !entityKeys.has(fkKey(fk)), ['fk', '', 'P"2!"/"']));
334
+ return { added, removed };
335
+ }
336
+ compareForeignKeys.__type = [() => __ΩForeignKeySchema, 'entityFKs', () => __ΩForeignKeySchema, 'dbFKs', () => __ΩForeignKeySchema, 'added', () => __ΩForeignKeySchema, 'removed', 'compareForeignKeys', 'Pn!F2"n#F2$Pn%F4&n\'F4(M/)'];
337
+ function detectEnumChanges(diff, entityTable, dbTable) {
338
+ const dbColMap = new Map(dbTable.columns.map(__assignType(c => [c.name, c], ['c', '', 'P"2!"/"'])));
339
+ for (const col of entityTable.columns) {
340
+ if (col.type !== 'enum' || !col.enumValues || !col.enumTypeName)
341
+ continue;
342
+ const dbCol = dbColMap.get(col.name);
343
+ // New enum type for new columns
344
+ if (!dbCol) {
345
+ diff.addedEnumTypes.push({
346
+ typeName: col.enumTypeName,
347
+ values: col.enumValues
348
+ });
349
+ continue;
350
+ }
351
+ // Existing column: non-enum → enum requires CREATE TYPE
352
+ if (dbCol.type !== 'enum') {
353
+ diff.addedEnumTypes.push({
354
+ typeName: col.enumTypeName,
355
+ values: col.enumValues
356
+ });
357
+ continue;
358
+ }
359
+ // Enum type name changed — need to create the new type and drop the old one
360
+ if (dbCol.enumTypeName && dbCol.enumTypeName !== col.enumTypeName) {
361
+ diff.addedEnumTypes.push({
362
+ typeName: col.enumTypeName,
363
+ values: col.enumValues
364
+ });
365
+ diff.removedEnumTypes.push(dbCol.enumTypeName);
366
+ // The type change will be picked up by compareColumn() → typesMatch() → enumTypeName comparison
367
+ continue;
368
+ }
369
+ // Existing column with enum value changes (same type name)
370
+ if (dbCol.enumValues) {
371
+ const added = col.enumValues.filter(__assignType(v => !dbCol.enumValues.includes(v), ['v', '', 'P"2!"/"']));
372
+ const removed = dbCol.enumValues.filter(__assignType(v => !col.enumValues.includes(v), ['v', '', 'P"2!"/"']));
373
+ if (added.length > 0 || removed.length > 0) {
374
+ diff.modifiedEnumTypes.push({
375
+ typeName: col.enumTypeName,
376
+ added,
377
+ removed,
378
+ newValues: col.enumValues,
379
+ tableName: diff.tableName,
380
+ columnName: col.name
381
+ });
382
+ }
383
+ }
384
+ }
385
+ // Detect orphaned enum types from removed columns or enum→non-enum changes
386
+ const entityColMap = new Map(entityTable.columns.map(__assignType(c => [c.name, c], ['c', '', 'P"2!"/"'])));
387
+ for (const dbCol of dbTable.columns) {
388
+ if (dbCol.type !== 'enum' || !dbCol.enumTypeName)
389
+ continue;
390
+ const entityCol = entityColMap.get(dbCol.name);
391
+ // Column removed entirely — its enum type may be orphaned
392
+ // Column changed from enum to non-enum — old type may be orphaned
393
+ if (!entityCol || entityCol.type !== 'enum' || entityCol.enumTypeName !== dbCol.enumTypeName) {
394
+ // Only schedule drop if not already handled above (type-name change already pushes to removedEnumTypes)
395
+ if (!diff.removedEnumTypes.includes(dbCol.enumTypeName)) {
396
+ diff.removedEnumTypes.push(dbCol.enumTypeName);
397
+ }
398
+ }
399
+ }
400
+ }
401
+ detectEnumChanges.__type = [() => __ΩTableDiff, 'diff', () => __ΩTableSchema, 'entityTable', () => __ΩTableSchema, 'dbTable', 'detectEnumChanges', 'Pn!2"n#2$n%2&$/\''];
402
+ function arraysEqual(a, b) {
403
+ if (a.length !== b.length)
404
+ return false;
405
+ return a.every(__assignType((v, i) => v === b[i], ['v', 'i', '', 'P"2!"2""/#']));
406
+ }
407
+ arraysEqual.__type = ['a', 'b', 'arraysEqual', 'P"F2!"F2")/#'];
408
+ //# sourceMappingURL=comparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../../../src/database/migration/create/comparator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BaseDatabase } from '../../common';
2
+ import { DatabaseSchema, Dialect } from './schema-model';
3
+ export declare function readAllTableNames(db: BaseDatabase, dialect: Dialect, pgSchema?: string): Promise<string[]>;
4
+ export declare function readDatabaseSchema(db: BaseDatabase, dialect: Dialect, tableNames: string[], pgSchema?: string): Promise<DatabaseSchema>;
5
+ //# sourceMappingURL=db-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-reader.d.ts","sourceRoot":"","sources":["../../../../../src/database/migration/create/db-reader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAgB,cAAc,EAAE,OAAO,EAA8C,MAAM,gBAAgB,CAAC;AAEnH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAa1H;AAED,wBAAsB,kBAAkB,CACpC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,GAAE,MAAiB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAezB"}