sqlew 5.0.8 → 5.1.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 (458) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +2 -2
  3. package/dist/adapters/auth/auth-factory.d.ts +2 -81
  4. package/dist/adapters/auth/auth-factory.d.ts.map +1 -1
  5. package/dist/adapters/auth/auth-factory.js +2 -82
  6. package/dist/adapters/auth/auth-factory.js.map +1 -1
  7. package/dist/adapters/auth/base-auth-provider.d.ts +18 -303
  8. package/dist/adapters/auth/base-auth-provider.d.ts.map +1 -1
  9. package/dist/adapters/auth/base-auth-provider.js +2 -104
  10. package/dist/adapters/auth/base-auth-provider.js.map +1 -1
  11. package/dist/adapters/auth/direct-auth-provider.d.ts +4 -348
  12. package/dist/adapters/auth/direct-auth-provider.d.ts.map +1 -1
  13. package/dist/adapters/auth/direct-auth-provider.js +6 -356
  14. package/dist/adapters/auth/direct-auth-provider.js.map +1 -1
  15. package/dist/adapters/base-adapter.d.ts +31 -598
  16. package/dist/adapters/base-adapter.d.ts.map +1 -1
  17. package/dist/adapters/base-adapter.js +10 -458
  18. package/dist/adapters/base-adapter.js.map +1 -1
  19. package/dist/adapters/index.d.ts +1 -11
  20. package/dist/adapters/index.d.ts.map +1 -1
  21. package/dist/adapters/index.js +1 -11
  22. package/dist/adapters/index.js.map +1 -1
  23. package/dist/adapters/mysql-adapter.d.ts +15 -541
  24. package/dist/adapters/mysql-adapter.d.ts.map +1 -1
  25. package/dist/adapters/mysql-adapter.js +24 -561
  26. package/dist/adapters/mysql-adapter.js.map +1 -1
  27. package/dist/adapters/postgresql-adapter.d.ts +15 -203
  28. package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
  29. package/dist/adapters/postgresql-adapter.js +24 -223
  30. package/dist/adapters/postgresql-adapter.js.map +1 -1
  31. package/dist/adapters/sqlite-adapter.d.ts +4 -28
  32. package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
  33. package/dist/adapters/sqlite-adapter.js +4 -32
  34. package/dist/adapters/sqlite-adapter.js.map +1 -1
  35. package/dist/adapters/types.d.ts +1 -4
  36. package/dist/adapters/types.d.ts.map +1 -1
  37. package/dist/backend/backend-factory.d.ts +3 -3
  38. package/dist/backend/backend-factory.js +3 -3
  39. package/dist/backend/local-backend.d.ts.map +1 -1
  40. package/dist/backend/local-backend.js +0 -5
  41. package/dist/backend/local-backend.js.map +1 -1
  42. package/dist/cli/db-export.d.ts.map +1 -1
  43. package/dist/cli/db-export.js +54 -32
  44. package/dist/cli/db-export.js.map +1 -1
  45. package/dist/cli/db-import.d.ts.map +1 -1
  46. package/dist/cli/db-import.js +32 -31
  47. package/dist/cli/db-import.js.map +1 -1
  48. package/dist/cli.d.ts.map +1 -1
  49. package/dist/cli.js +1 -12
  50. package/dist/cli.js.map +1 -1
  51. package/dist/config/cloud-config-loader.d.ts +8 -8
  52. package/dist/config/cloud-config-loader.d.ts.map +1 -1
  53. package/dist/config/cloud-config-loader.js +12 -12
  54. package/dist/config/cloud-config-loader.js.map +1 -1
  55. package/dist/config/global-config.d.ts +17 -45
  56. package/dist/config/global-config.d.ts.map +1 -1
  57. package/dist/config/global-config.js +169 -30
  58. package/dist/config/global-config.js.map +1 -1
  59. package/dist/config/loader.d.ts +1 -18
  60. package/dist/config/loader.d.ts.map +1 -1
  61. package/dist/config/loader.js +1 -89
  62. package/dist/config/loader.js.map +1 -1
  63. package/dist/config/types.d.ts +2 -64
  64. package/dist/config/types.d.ts.map +1 -1
  65. package/dist/config/types.js +0 -18
  66. package/dist/config/types.js.map +1 -1
  67. package/dist/database/index.d.ts +1 -2
  68. package/dist/database/index.d.ts.map +1 -1
  69. package/dist/database/index.js +1 -3
  70. package/dist/database/index.js.map +1 -1
  71. package/dist/database/operations/queries.d.ts +0 -4
  72. package/dist/database/operations/queries.d.ts.map +1 -1
  73. package/dist/database/operations/queries.js +0 -8
  74. package/dist/database/operations/queries.js.map +1 -1
  75. package/dist/index.d.ts +1 -1
  76. package/dist/index.js +2 -2
  77. package/dist/index.js.map +1 -1
  78. package/dist/init-rules.d.ts.map +1 -1
  79. package/dist/init-rules.js +0 -1
  80. package/dist/init-rules.js.map +1 -1
  81. package/dist/knexfile.d.ts.map +1 -1
  82. package/dist/knexfile.js +2 -1
  83. package/dist/knexfile.js.map +1 -1
  84. package/dist/migration/local-to-global.d.ts +19 -0
  85. package/dist/migration/local-to-global.d.ts.map +1 -0
  86. package/dist/migration/local-to-global.js +133 -0
  87. package/dist/migration/local-to-global.js.map +1 -0
  88. package/dist/saas-connector/client/types.d.ts +1 -1
  89. package/dist/saas-connector/client/types.d.ts.map +1 -1
  90. package/dist/schema.js +1 -1
  91. package/dist/server/setup.d.ts.map +1 -1
  92. package/dist/server/setup.js +15 -7
  93. package/dist/server/setup.js.map +1 -1
  94. package/dist/tests/backend/backend-factory.test.js +2 -2
  95. package/dist/tests/backend/backend-factory.test.js.map +1 -1
  96. package/dist/tests/docker/native/constraint-operations.test.d.ts +2 -17
  97. package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -1
  98. package/dist/tests/docker/native/constraint-operations.test.js +3 -82
  99. package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
  100. package/dist/tests/docker/native/db-init.d.ts +3 -34
  101. package/dist/tests/docker/native/db-init.d.ts.map +1 -1
  102. package/dist/tests/docker/native/db-init.js +15 -77
  103. package/dist/tests/docker/native/db-init.js.map +1 -1
  104. package/dist/tests/docker/native/decision-operations.test.d.ts +2 -10
  105. package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -1
  106. package/dist/tests/docker/native/decision-operations.test.js +2 -84
  107. package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
  108. package/dist/tests/docker/native/help-system.test.d.ts +2 -5
  109. package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
  110. package/dist/tests/docker/native/help-system.test.js +2 -47
  111. package/dist/tests/docker/native/help-system.test.js.map +1 -1
  112. package/dist/tests/docker/native/suggest-tool.test.d.ts +3 -11
  113. package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -1
  114. package/dist/tests/docker/native/suggest-tool.test.js +3 -60
  115. package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
  116. package/dist/tests/docker/native/test-harness.d.ts +2 -23
  117. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  118. package/dist/tests/docker/native/test-harness.js +5 -59
  119. package/dist/tests/docker/native/test-harness.js.map +1 -1
  120. package/dist/tests/feature/decision/analytics.test.js +2 -1
  121. package/dist/tests/feature/decision/analytics.test.js.map +1 -1
  122. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +2 -7
  123. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
  124. package/dist/tests/feature/decision/batch-validation.test.js +2 -1
  125. package/dist/tests/feature/decision/batch-validation.test.js.map +1 -1
  126. package/dist/tests/integration/auto-trigger-suggestions.test.js +4 -37
  127. package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
  128. package/dist/tests/integration/hybrid-similarity-detection.test.js +2 -1
  129. package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
  130. package/dist/tests/integration/json-export-import.test.d.ts.map +1 -0
  131. package/dist/tests/integration/json-export-import.test.js.map +1 -0
  132. package/dist/tests/unit/case-insensitive-validator.test.d.ts +0 -7
  133. package/dist/tests/unit/case-insensitive-validator.test.d.ts.map +1 -1
  134. package/dist/tests/unit/case-insensitive-validator.test.js +0 -22
  135. package/dist/tests/unit/case-insensitive-validator.test.js.map +1 -1
  136. package/dist/tests/unit/config/cloud-config-loader.test.js +4 -2
  137. package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -1
  138. package/dist/tests/unit/config/global-db-migration.test.d.ts +12 -0
  139. package/dist/tests/unit/config/global-db-migration.test.d.ts.map +1 -0
  140. package/dist/tests/unit/config/global-db-migration.test.js +117 -0
  141. package/dist/tests/unit/config/global-db-migration.test.js.map +1 -0
  142. package/dist/tests/unit/constraint-scorer.test.d.ts +2 -7
  143. package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -1
  144. package/dist/tests/unit/constraint-scorer.test.js +2 -28
  145. package/dist/tests/unit/constraint-scorer.test.js.map +1 -1
  146. package/dist/tests/unit/universal-knex.test.js +9 -0
  147. package/dist/tests/unit/universal-knex.test.js.map +1 -1
  148. package/dist/tests/unit/validation/parameter-validation.test.js +0 -24
  149. package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
  150. package/dist/tests/utils/db-config.d.ts.map +1 -1
  151. package/dist/tests/utils/db-config.js +0 -9
  152. package/dist/tests/utils/db-config.js.map +1 -1
  153. package/dist/tests/utils/db-import.d.ts.map +1 -1
  154. package/dist/tests/utils/db-import.js +0 -3
  155. package/dist/tests/utils/db-import.js.map +1 -1
  156. package/dist/tests/utils/db-schema.d.ts.map +1 -1
  157. package/dist/tests/utils/db-schema.js +48 -51
  158. package/dist/tests/utils/db-schema.js.map +1 -1
  159. package/dist/tests/utils/db-seeding.d.ts.map +1 -1
  160. package/dist/tests/utils/db-seeding.js +0 -3
  161. package/dist/tests/utils/db-seeding.js.map +1 -1
  162. package/dist/tests/utils/index.d.ts +0 -1
  163. package/dist/tests/utils/index.d.ts.map +1 -1
  164. package/dist/tests/utils/index.js +0 -2
  165. package/dist/tests/utils/index.js.map +1 -1
  166. package/dist/tests/utils/test-helpers.d.ts +6 -76
  167. package/dist/tests/utils/test-helpers.d.ts.map +1 -1
  168. package/dist/tests/utils/test-helpers.js +56 -162
  169. package/dist/tests/utils/test-helpers.js.map +1 -1
  170. package/dist/tests/utils/test-lifecycle.d.ts +2 -28
  171. package/dist/tests/utils/test-lifecycle.d.ts.map +1 -1
  172. package/dist/tests/utils/test-lifecycle.js +2 -31
  173. package/dist/tests/utils/test-lifecycle.js.map +1 -1
  174. package/dist/tools/context/index.d.ts +0 -1
  175. package/dist/tools/context/index.d.ts.map +1 -1
  176. package/dist/tools/context/index.js +0 -2
  177. package/dist/tools/context/index.js.map +1 -1
  178. package/dist/tools/context/types.d.ts +1 -1
  179. package/dist/tools/context/types.d.ts.map +1 -1
  180. package/dist/types/actions.d.ts +6 -29
  181. package/dist/types/actions.d.ts.map +1 -1
  182. package/dist/types/actions.js +1 -2
  183. package/dist/types/actions.js.map +1 -1
  184. package/dist/types/constraint/params.d.ts +24 -1
  185. package/dist/types/constraint/params.d.ts.map +1 -1
  186. package/dist/types/constraint/params.js +3 -0
  187. package/dist/types/constraint/params.js.map +1 -1
  188. package/dist/types/constraint/responses.d.ts +18 -1
  189. package/dist/types/constraint/responses.d.ts.map +1 -1
  190. package/dist/types/constraint/responses.js +3 -0
  191. package/dist/types/constraint/responses.js.map +1 -1
  192. package/dist/types/decision/batch.d.ts +2 -5
  193. package/dist/types/decision/batch.d.ts.map +1 -1
  194. package/dist/types/decision/batch.js +3 -3
  195. package/dist/types/decision/batch.js.map +1 -1
  196. package/dist/types/decision/params.d.ts +7 -4
  197. package/dist/types/decision/params.d.ts.map +1 -1
  198. package/dist/types/decision/responses.d.ts +49 -35
  199. package/dist/types/decision/responses.d.ts.map +1 -1
  200. package/dist/types/decision/templates.d.ts +2 -18
  201. package/dist/types/decision/templates.d.ts.map +1 -1
  202. package/dist/types/decision/templates.js +3 -3
  203. package/dist/types/decision/templates.js.map +1 -1
  204. package/dist/types/enums.d.ts +11 -13
  205. package/dist/types/enums.d.ts.map +1 -1
  206. package/dist/types/enums.js +5 -13
  207. package/dist/types/enums.js.map +1 -1
  208. package/dist/types/import-export.d.ts +7 -30
  209. package/dist/types/import-export.d.ts.map +1 -1
  210. package/dist/types/import-export.js +1 -2
  211. package/dist/types/import-export.js.map +1 -1
  212. package/dist/types/index.d.ts +18 -22
  213. package/dist/types/index.d.ts.map +1 -1
  214. package/dist/types/index.js +4 -32
  215. package/dist/types/index.js.map +1 -1
  216. package/dist/types/master-entities.d.ts +1 -10
  217. package/dist/types/master-entities.d.ts.map +1 -1
  218. package/dist/types/master-entities.js +1 -2
  219. package/dist/types/master-entities.js.map +1 -1
  220. package/dist/types/transaction-entities.d.ts +2 -21
  221. package/dist/types/transaction-entities.d.ts.map +1 -1
  222. package/dist/types/transaction-entities.js +1 -1
  223. package/dist/types/validation.d.ts +1 -16
  224. package/dist/types/validation.d.ts.map +1 -1
  225. package/dist/types/validation.js +1 -2
  226. package/dist/types/validation.js.map +1 -1
  227. package/dist/types/view-entities.d.ts +3 -12
  228. package/dist/types/view-entities.d.ts.map +1 -1
  229. package/dist/types/view-entities.js +1 -1
  230. package/dist/types.d.ts +4 -718
  231. package/dist/types.d.ts.map +1 -1
  232. package/dist/types.js +5 -39
  233. package/dist/types.js.map +1 -1
  234. package/dist/utils/parameter-validator.d.ts +2 -2
  235. package/dist/utils/parameter-validator.d.ts.map +1 -1
  236. package/dist/utils/parameter-validator.js.map +1 -1
  237. package/docs/CLI_USAGE.md +27 -107
  238. package/docs/CONFIGURATION.md +10 -5
  239. package/docs/DATABASE_AUTH.md +3 -3
  240. package/docs/MIGRATION_TO_SAAS.md +2 -2
  241. package/docs/SHARED_DATABASE.md +108 -0
  242. package/package.json +4 -3
  243. package/dist/adapters/auth/auth-types.d.ts +0 -30
  244. package/dist/adapters/auth/auth-types.d.ts.map +0 -1
  245. package/dist/adapters/auth/auth-types.js +0 -30
  246. package/dist/adapters/auth/auth-types.js.map +0 -1
  247. package/dist/cli/db-dump.d.ts +0 -36
  248. package/dist/cli/db-dump.d.ts.map +0 -1
  249. package/dist/cli/db-dump.js +0 -384
  250. package/dist/cli/db-dump.js.map +0 -1
  251. package/dist/database/config/config-ops.d.ts +0 -42
  252. package/dist/database/config/config-ops.d.ts.map +0 -1
  253. package/dist/database/config/config-ops.js +0 -102
  254. package/dist/database/config/config-ops.js.map +0 -1
  255. package/dist/formatters/adr-formatter.d.ts +0 -22
  256. package/dist/formatters/adr-formatter.d.ts.map +0 -1
  257. package/dist/formatters/adr-formatter.js +0 -127
  258. package/dist/formatters/adr-formatter.js.map +0 -1
  259. package/dist/formatters/confluence-formatter.d.ts +0 -26
  260. package/dist/formatters/confluence-formatter.d.ts.map +0 -1
  261. package/dist/formatters/confluence-formatter.js +0 -129
  262. package/dist/formatters/confluence-formatter.js.map +0 -1
  263. package/dist/formatters/index.d.ts +0 -34
  264. package/dist/formatters/index.d.ts.map +0 -1
  265. package/dist/formatters/index.js +0 -57
  266. package/dist/formatters/index.js.map +0 -1
  267. package/dist/formatters/markdown-formatter.d.ts +0 -16
  268. package/dist/formatters/markdown-formatter.d.ts.map +0 -1
  269. package/dist/formatters/markdown-formatter.js +0 -110
  270. package/dist/formatters/markdown-formatter.js.map +0 -1
  271. package/dist/formatters/notion-formatter.d.ts +0 -29
  272. package/dist/formatters/notion-formatter.d.ts.map +0 -1
  273. package/dist/formatters/notion-formatter.js +0 -177
  274. package/dist/formatters/notion-formatter.js.map +0 -1
  275. package/dist/formatters/types.d.ts +0 -31
  276. package/dist/formatters/types.d.ts.map +0 -1
  277. package/dist/formatters/types.js +0 -6
  278. package/dist/formatters/types.js.map +0 -1
  279. package/dist/tests/database/sql-dump/converters.test.d.ts +0 -7
  280. package/dist/tests/database/sql-dump/converters.test.d.ts.map +0 -1
  281. package/dist/tests/database/sql-dump/converters.test.js +0 -314
  282. package/dist/tests/database/sql-dump/converters.test.js.map +0 -1
  283. package/dist/tests/database/sql-dump/default-conversions.test.d.ts +0 -8
  284. package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +0 -1
  285. package/dist/tests/database/sql-dump/default-conversions.test.js +0 -141
  286. package/dist/tests/database/sql-dump/default-conversions.test.js.map +0 -1
  287. package/dist/tests/database/sql-dump/table-ordering.test.d.ts +0 -27
  288. package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +0 -1
  289. package/dist/tests/database/sql-dump/table-ordering.test.js +0 -284
  290. package/dist/tests/database/sql-dump/table-ordering.test.js.map +0 -1
  291. package/dist/tests/database/sql-dump/type-conversion.test.d.ts +0 -8
  292. package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +0 -1
  293. package/dist/tests/database/sql-dump/type-conversion.test.js +0 -361
  294. package/dist/tests/database/sql-dump/type-conversion.test.js.map +0 -1
  295. package/dist/tests/docker/cross-database.test.d.ts +0 -21
  296. package/dist/tests/docker/cross-database.test.d.ts.map +0 -1
  297. package/dist/tests/docker/cross-database.test.js +0 -308
  298. package/dist/tests/docker/cross-database.test.js.map +0 -1
  299. package/dist/tests/docker/dump-import.test.d.ts +0 -15
  300. package/dist/tests/docker/dump-import.test.d.ts.map +0 -1
  301. package/dist/tests/docker/dump-import.test.js +0 -424
  302. package/dist/tests/docker/dump-import.test.js.map +0 -1
  303. package/dist/tests/docker/fk-constraints.test.d.ts +0 -13
  304. package/dist/tests/docker/fk-constraints.test.d.ts.map +0 -1
  305. package/dist/tests/docker/fk-constraints.test.js +0 -381
  306. package/dist/tests/docker/fk-constraints.test.js.map +0 -1
  307. package/dist/tests/docker/indexes.test.d.ts +0 -12
  308. package/dist/tests/docker/indexes.test.d.ts.map +0 -1
  309. package/dist/tests/docker/indexes.test.js +0 -250
  310. package/dist/tests/docker/indexes.test.js.map +0 -1
  311. package/dist/tests/docker/integration.test.d.ts +0 -16
  312. package/dist/tests/docker/integration.test.d.ts.map +0 -1
  313. package/dist/tests/docker/integration.test.js +0 -323
  314. package/dist/tests/docker/integration.test.js.map +0 -1
  315. package/dist/tests/docker/multi-project-migration.test.d.ts +0 -17
  316. package/dist/tests/docker/multi-project-migration.test.d.ts.map +0 -1
  317. package/dist/tests/docker/multi-project-migration.test.js +0 -394
  318. package/dist/tests/docker/multi-project-migration.test.js.map +0 -1
  319. package/dist/tests/docker/schema-migration.test.d.ts +0 -8
  320. package/dist/tests/docker/schema-migration.test.d.ts.map +0 -1
  321. package/dist/tests/docker/schema-migration.test.js +0 -98
  322. package/dist/tests/docker/schema-migration.test.js.map +0 -1
  323. package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +0 -5
  324. package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +0 -1
  325. package/dist/tests/integration/e2e-workflow1-debug.test.js +0 -85
  326. package/dist/tests/integration/e2e-workflow1-debug.test.js.map +0 -1
  327. package/dist/tests/integration/suggest-simple.test.d.ts +0 -5
  328. package/dist/tests/integration/suggest-simple.test.d.ts.map +0 -1
  329. package/dist/tests/integration/suggest-simple.test.js +0 -90
  330. package/dist/tests/integration/suggest-simple.test.js.map +0 -1
  331. package/dist/tests/migrations/test-all-versions-real.d.ts +0 -8
  332. package/dist/tests/migrations/test-all-versions-real.d.ts.map +0 -1
  333. package/dist/tests/migrations/test-all-versions-real.js +0 -236
  334. package/dist/tests/migrations/test-all-versions-real.js.map +0 -1
  335. package/dist/tests/migrations/test-all-versions.d.ts +0 -14
  336. package/dist/tests/migrations/test-all-versions.d.ts.map +0 -1
  337. package/dist/tests/migrations/test-all-versions.js +0 -519
  338. package/dist/tests/migrations/test-all-versions.js.map +0 -1
  339. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +0 -7
  340. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +0 -1
  341. package/dist/tests/migrations/v4/v4-fresh-install.test.js +0 -168
  342. package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +0 -1
  343. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +0 -13
  344. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +0 -1
  345. package/dist/tests/migrations/v4/v4-migrate-data.test.js +0 -264
  346. package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +0 -1
  347. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +0 -2
  348. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +0 -1
  349. package/dist/tests/unit/utils/case-insensitive-validator.test.js +0 -97
  350. package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +0 -1
  351. package/dist/tests/utils/json-export-import.test.d.ts.map +0 -1
  352. package/dist/tests/utils/json-export-import.test.js.map +0 -1
  353. package/dist/tests/utils/task-helpers.d.ts +0 -67
  354. package/dist/tests/utils/task-helpers.d.ts.map +0 -1
  355. package/dist/tests/utils/task-helpers.js +0 -134
  356. package/dist/tests/utils/task-helpers.js.map +0 -1
  357. package/dist/tools/context/actions/export.d.ts +0 -35
  358. package/dist/tools/context/actions/export.d.ts.map +0 -1
  359. package/dist/tools/context/actions/export.js +0 -93
  360. package/dist/tools/context/actions/export.js.map +0 -1
  361. package/dist/types/file/params.d.ts +0 -40
  362. package/dist/types/file/params.d.ts.map +0 -1
  363. package/dist/types/file/params.js +0 -6
  364. package/dist/types/file/params.js.map +0 -1
  365. package/dist/types/file/responses.d.ts +0 -2
  366. package/dist/types/file/responses.d.ts.map +0 -1
  367. package/dist/types/file/responses.js +0 -2
  368. package/dist/types/file/responses.js.map +0 -1
  369. package/dist/types/task/params.d.ts +0 -173
  370. package/dist/types/task/params.d.ts.map +0 -1
  371. package/dist/types/task/params.js +0 -8
  372. package/dist/types/task/params.js.map +0 -1
  373. package/dist/types/task/responses.d.ts +0 -334
  374. package/dist/types/task/responses.d.ts.map +0 -1
  375. package/dist/types/task/responses.js +0 -8
  376. package/dist/types/task/responses.js.map +0 -1
  377. package/dist/utils/sql-dump/core/dependency-sort.d.ts +0 -16
  378. package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +0 -1
  379. package/dist/utils/sql-dump/core/dependency-sort.js +0 -105
  380. package/dist/utils/sql-dump/core/dependency-sort.js.map +0 -1
  381. package/dist/utils/sql-dump/core/generate-dump.d.ts +0 -13
  382. package/dist/utils/sql-dump/core/generate-dump.d.ts.map +0 -1
  383. package/dist/utils/sql-dump/core/generate-dump.js +0 -201
  384. package/dist/utils/sql-dump/core/generate-dump.js.map +0 -1
  385. package/dist/utils/sql-dump/core/index-export.d.ts +0 -10
  386. package/dist/utils/sql-dump/core/index-export.d.ts.map +0 -1
  387. package/dist/utils/sql-dump/core/index-export.js +0 -173
  388. package/dist/utils/sql-dump/core/index-export.js.map +0 -1
  389. package/dist/utils/sql-dump/core/sequence-reset.d.ts +0 -6
  390. package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +0 -1
  391. package/dist/utils/sql-dump/core/sequence-reset.js +0 -28
  392. package/dist/utils/sql-dump/core/sequence-reset.js.map +0 -1
  393. package/dist/utils/sql-dump/core/table-export.d.ts +0 -2
  394. package/dist/utils/sql-dump/core/table-export.d.ts.map +0 -1
  395. package/dist/utils/sql-dump/core/table-export.js +0 -4
  396. package/dist/utils/sql-dump/core/table-export.js.map +0 -1
  397. package/dist/utils/sql-dump/core/view-export.d.ts +0 -2
  398. package/dist/utils/sql-dump/core/view-export.d.ts.map +0 -1
  399. package/dist/utils/sql-dump/core/view-export.js +0 -4
  400. package/dist/utils/sql-dump/core/view-export.js.map +0 -1
  401. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +0 -14
  402. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +0 -1
  403. package/dist/utils/sql-dump/formatters/bulk-insert.js +0 -177
  404. package/dist/utils/sql-dump/formatters/bulk-insert.js.map +0 -1
  405. package/dist/utils/sql-dump/formatters/identifiers.d.ts +0 -6
  406. package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +0 -1
  407. package/dist/utils/sql-dump/formatters/identifiers.js +0 -16
  408. package/dist/utils/sql-dump/formatters/identifiers.js.map +0 -1
  409. package/dist/utils/sql-dump/formatters/value-formatter.d.ts +0 -14
  410. package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +0 -1
  411. package/dist/utils/sql-dump/formatters/value-formatter.js +0 -281
  412. package/dist/utils/sql-dump/formatters/value-formatter.js.map +0 -1
  413. package/dist/utils/sql-dump/generators/controls.d.ts +0 -10
  414. package/dist/utils/sql-dump/generators/controls.d.ts.map +0 -1
  415. package/dist/utils/sql-dump/generators/controls.js +0 -36
  416. package/dist/utils/sql-dump/generators/controls.js.map +0 -1
  417. package/dist/utils/sql-dump/generators/headers.d.ts +0 -6
  418. package/dist/utils/sql-dump/generators/headers.d.ts.map +0 -1
  419. package/dist/utils/sql-dump/generators/headers.js +0 -19
  420. package/dist/utils/sql-dump/generators/headers.js.map +0 -1
  421. package/dist/utils/sql-dump/index.d.ts +0 -14
  422. package/dist/utils/sql-dump/index.d.ts.map +0 -1
  423. package/dist/utils/sql-dump/index.js +0 -16
  424. package/dist/utils/sql-dump/index.js.map +0 -1
  425. package/dist/utils/sql-dump/schema/indexes.d.ts +0 -20
  426. package/dist/utils/sql-dump/schema/indexes.d.ts.map +0 -1
  427. package/dist/utils/sql-dump/schema/indexes.js +0 -108
  428. package/dist/utils/sql-dump/schema/indexes.js.map +0 -1
  429. package/dist/utils/sql-dump/schema/primary-keys.d.ts +0 -6
  430. package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +0 -1
  431. package/dist/utils/sql-dump/schema/primary-keys.js +0 -41
  432. package/dist/utils/sql-dump/schema/primary-keys.js.map +0 -1
  433. package/dist/utils/sql-dump/schema/tables.d.ts +0 -15
  434. package/dist/utils/sql-dump/schema/tables.d.ts.map +0 -1
  435. package/dist/utils/sql-dump/schema/tables.js +0 -518
  436. package/dist/utils/sql-dump/schema/tables.js.map +0 -1
  437. package/dist/utils/sql-dump/schema/views.d.ts +0 -11
  438. package/dist/utils/sql-dump/schema/views.d.ts.map +0 -1
  439. package/dist/utils/sql-dump/schema/views.js +0 -116
  440. package/dist/utils/sql-dump/schema/views.js.map +0 -1
  441. package/dist/utils/sql-dump/types.d.ts +0 -10
  442. package/dist/utils/sql-dump/types.d.ts.map +0 -1
  443. package/dist/utils/sql-dump/types.js +0 -3
  444. package/dist/utils/sql-dump/types.js.map +0 -1
  445. package/dist/utils/sql-dump-converters.d.ts +0 -188
  446. package/dist/utils/sql-dump-converters.d.ts.map +0 -1
  447. package/dist/utils/sql-dump-converters.js +0 -315
  448. package/dist/utils/sql-dump-converters.js.map +0 -1
  449. package/dist/watcher/gitignore-parser.d.ts +0 -70
  450. package/dist/watcher/gitignore-parser.d.ts.map +0 -1
  451. package/dist/watcher/gitignore-parser.js +0 -195
  452. package/dist/watcher/gitignore-parser.js.map +0 -1
  453. package/dist/watcher/index.d.ts +0 -9
  454. package/dist/watcher/index.d.ts.map +0 -1
  455. package/dist/watcher/index.js +0 -8
  456. package/dist/watcher/index.js.map +0 -1
  457. /package/dist/tests/{utils → integration}/json-export-import.test.d.ts +0 -0
  458. /package/dist/tests/{utils → integration}/json-export-import.test.js +0 -0
@@ -1,23 +1,12 @@
1
1
  /**
2
- * Suggest Tool (v3.9.0) - Native RDBMS Integration Tests (Refactored)
2
+ * Suggest Tool - Native RDBMS Integration Tests
3
3
  *
4
- * Tests Decision Intelligence tag index (t_tag_index), similarity calculations,
5
- * and three-tier detection on fresh MySQL, MariaDB, and PostgreSQL installations.
6
- *
7
- * Task #533: Refactor to use direct Knex operations instead of MCP tool functions
8
- *
9
- * REFACTORING PATTERN:
10
- * - Direct database operations via Knex for all data setup
11
- * - Manual tag index population (t_tag_index inserts)
12
- * - Manual similarity score calculation (Levenshtein, Jaccard)
13
- * - No MCP tool function calls (no handleSuggestAction, no setDecision)
4
+ * Tests tag index (t_tag_index), similarity calculations (Levenshtein, Jaccard),
5
+ * and three-tier detection via direct Knex operations on MySQL, MariaDB, and PostgreSQL.
14
6
  */
15
7
  import { describe, it } from 'node:test';
16
8
  import assert from 'node:assert';
17
9
  import { runTestsOnAllDatabases } from './test-harness.js';
18
- // ============================================================================
19
- // Similarity Calculation Helpers (Manual Implementation)
20
- // ============================================================================
21
10
  /**
22
11
  * Calculate Levenshtein distance between two strings
23
12
  * Used for key pattern similarity scoring
@@ -115,29 +104,23 @@ function calculatePriorityScore(priority) {
115
104
  // 4 (critical) = 5 points, 3 (high) = 4 points, 2 (medium) = 3 points, 1 (low) = 2 points
116
105
  return Math.min(priority + 1, 5);
117
106
  }
118
- // ============================================================================
119
- // Database Helper Functions
120
- // ============================================================================
121
107
  /**
122
108
  * Create a decision with tags (manual insert)
123
109
  */
124
110
  async function createDecisionWithTags(db, params) {
125
111
  const { key, value, layer, tags = [], priority = 2, version = '1.0.0', projectId } = params;
126
- // Get or create context key
127
112
  let keyRecord = await db('m_context_keys').where({ key_name: key }).first();
128
113
  if (!keyRecord) {
129
114
  await db('m_context_keys').insert({ key_name: key });
130
115
  keyRecord = await db('m_context_keys').where({ key_name: key }).first();
131
116
  }
132
117
  const keyId = keyRecord.id;
133
- // Get layer ID
134
118
  const layerRecord = await db('m_layers').where({ name: layer }).first();
135
119
  if (!layerRecord) {
136
120
  throw new Error(`Layer "${layer}" not found`);
137
121
  }
138
122
  const layerId = layerRecord.id;
139
123
  const ts = Math.floor(Date.now() / 1000);
140
- // Insert decision
141
124
  const existingDecision = await db('t_decisions')
142
125
  .where({ key_id: keyId, project_id: projectId })
143
126
  .first();
@@ -157,17 +140,14 @@ async function createDecisionWithTags(db, params) {
157
140
  .where({ key_id: keyId, project_id: projectId })
158
141
  .update({ value, version, layer_id: layerId, ts });
159
142
  }
160
- // Insert tags and populate tag index
161
143
  if (tags.length > 0) {
162
144
  for (const tagName of tags) {
163
- // Get or create tag
164
145
  let tagRecord = await db('m_tags').where({ name: tagName }).first();
165
146
  if (!tagRecord) {
166
147
  await db('m_tags').insert({ name: tagName });
167
148
  tagRecord = await db('m_tags').where({ name: tagName }).first();
168
149
  }
169
150
  const tagId = tagRecord.id;
170
- // Insert decision tag
171
151
  const existingTag = await db('t_decision_tags')
172
152
  .where({ decision_key_id: keyId, tag_id: tagId, project_id: projectId })
173
153
  .first();
@@ -222,7 +202,6 @@ async function getDecisionByKeyId(db, keyId, projectId) {
222
202
  .first();
223
203
  if (!decision)
224
204
  return null;
225
- // Get tags
226
205
  const tags = await db('t_decision_tags as dt')
227
206
  .select('t.name as tag_name')
228
207
  .join('m_tags as t', 'dt.tag_id', 't.id')
@@ -235,16 +214,12 @@ async function getDecisionByKeyId(db, keyId, projectId) {
235
214
  }
236
215
  runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) => {
237
216
  let projectId;
238
- // Get project ID before running tests
239
217
  it('should get project ID', async () => {
240
218
  const db = getDb();
241
219
  const project = await db('m_projects').first();
242
220
  assert.ok(project, 'Project should exist');
243
221
  projectId = project.id;
244
222
  });
245
- // ============================================================================
246
- // Tag Index Population Tests
247
- // ============================================================================
248
223
  describe('Tag Index (t_tag_index) - Data Integrity', () => {
249
224
  it('should populate t_tag_index when creating decision with tags', async () => {
250
225
  const db = getDb();
@@ -287,7 +262,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
287
262
  tags: ['database'],
288
263
  projectId,
289
264
  });
290
- // Query tag index for 'api' tag
291
265
  const results = await queryTagIndex(db, ['api'], projectId);
292
266
  assert.ok(results.length >= 2, 'Should find at least 2 decisions with api tag');
293
267
  const apiKeys = results.map(r => r.key_name).filter(k => k.includes('api'));
@@ -295,7 +269,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
295
269
  });
296
270
  it('should handle FK constraints (source_id references m_context_keys)', async () => {
297
271
  const db = getDb();
298
- // Create decision
299
272
  const keyId = await createDecisionWithTags(db, {
300
273
  key: 'tag-index/fk-test',
301
274
  value: 'test',
@@ -315,9 +288,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
315
288
  assert.strictEqual(tagIndexEntry.source_id, contextKey.id, 'FK constraint should be valid');
316
289
  });
317
290
  });
318
- // ============================================================================
319
- // Key Similarity Tests (Manual Calculation)
320
- // ============================================================================
321
291
  describe('Key Similarity - Manual Calculation', () => {
322
292
  it('should calculate Levenshtein distance for key similarity', async () => {
323
293
  const db = getDb();
@@ -335,7 +305,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
335
305
  tags: ['api', 'security'],
336
306
  projectId,
337
307
  });
338
- // Manual similarity calculation
339
308
  const key1 = 'similarity/api/authentication';
340
309
  const key2 = 'similarity/api/authorization';
341
310
  const keySimilarity = calculateKeySimilarity(key1, key2);
@@ -357,7 +326,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
357
326
  tags: ['test'],
358
327
  projectId,
359
328
  });
360
- // Get decisions
361
329
  const decision1 = await getDecisionByKeyId(db, keyId1, projectId);
362
330
  const decision2 = await getDecisionByKeyId(db, keyId2, projectId);
363
331
  // Calculate full similarity score (matches actual suggest tool):
@@ -378,9 +346,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
378
346
  assert.ok(totalScore >= 30, `Score ${totalScore} should be above low threshold (30)`);
379
347
  });
380
348
  });
381
- // ============================================================================
382
- // Tag Overlap Tests (Jaccard Similarity)
383
- // ============================================================================
384
349
  describe('Tag Overlap - Jaccard Similarity', () => {
385
350
  it('should calculate Jaccard similarity for tag overlap', async () => {
386
351
  const db = getDb();
@@ -398,7 +363,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
398
363
  tags: ['performance'],
399
364
  projectId,
400
365
  });
401
- // Calculate Jaccard similarity
402
366
  const tags1 = ['performance', 'security'];
403
367
  const tags2 = ['performance', 'security', 'critical'];
404
368
  const tags3 = ['performance'];
@@ -409,7 +373,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
409
373
  });
410
374
  it('should rank by tag overlap using tag index', async () => {
411
375
  const db = getDb();
412
- // Create decisions with different tag overlaps
413
376
  await createDecisionWithTags(db, {
414
377
  key: 'ranking/high-overlap',
415
378
  value: 'value1',
@@ -424,7 +387,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
424
387
  tags: ['performance'],
425
388
  projectId,
426
389
  });
427
- // Query tag index for multiple tags
428
390
  const results = await queryTagIndex(db, ['performance', 'security'], projectId);
429
391
  assert.ok(results.length > 0, 'Should find decisions with matching tags');
430
392
  // Count tag matches per decision (v4 uses source_id)
@@ -467,9 +429,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
467
429
  assert.ok(businessResults.every(r => r.layer === 'business'), 'All results should be from business layer');
468
430
  });
469
431
  });
470
- // ============================================================================
471
- // Three-Tier Similarity Detection (Manual Calculation)
472
- // ============================================================================
473
432
  describe('Three-Tier Similarity Detection - Manual', () => {
474
433
  // Full scoring model (100 points max):
475
434
  // - keySimilarity: 0-20 points
@@ -486,7 +445,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
486
445
  tags: ['test'],
487
446
  projectId,
488
447
  });
489
- // Manual similarity calculation for similar key
490
448
  // NEW context (user input) vs EXISTING decision
491
449
  const existingKey = 'tier1/existing';
492
450
  const newKey = 'tier1/different'; // Different suffix to get lower score
@@ -510,7 +468,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
510
468
  tags: ['api', 'security', 'authentication'],
511
469
  projectId,
512
470
  });
513
- // Manual similarity calculation for highly similar decision
514
471
  const existingKey = 'tier2/authentication-strategy';
515
472
  const newKey = 'tier2/authentication-strategy-new';
516
473
  const keySimilarity = calculateKeySimilarity(existingKey, newKey);
@@ -534,7 +491,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
534
491
  version: '1.0.0',
535
492
  projectId,
536
493
  });
537
- // Manual similarity calculation for near-exact duplicate
538
494
  const existingKey = 'tier3/exact-match';
539
495
  const newKey = 'tier3/exact-match'; // Exact same key
540
496
  const keySimilarity = calculateKeySimilarity(existingKey, newKey); // 20 points (exact match)
@@ -556,7 +512,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
556
512
  tags: ['api'],
557
513
  projectId,
558
514
  });
559
- // Manual similarity calculation for completely different decision
560
515
  const existingKey = 'no-match/api-design';
561
516
  const newKey = 'no-match/database-schema';
562
517
  const keySimilarity = calculateKeySimilarity(existingKey, newKey);
@@ -566,9 +521,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
566
521
  assert.ok(totalScore < 35, `Score ${totalScore} should be below Tier 1 threshold (35)`);
567
522
  });
568
523
  });
569
- // ============================================================================
570
- // Cross-Database Compatibility Tests
571
- // ============================================================================
572
524
  describe(`Cross-database compatibility - ${dbType}`, () => {
573
525
  it('should handle unicode in decision keys for tag index', async () => {
574
526
  const db = getDb();
@@ -580,7 +532,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
580
532
  tags: ['unicode'],
581
533
  projectId,
582
534
  });
583
- // Query tag index
584
535
  const results = await queryTagIndex(db, ['unicode'], projectId);
585
536
  assert.ok(results.length > 0, 'Should find unicode decision in tag index');
586
537
  const foundKey = results.find(r => r.key_name === unicodeKey);
@@ -595,7 +546,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
595
546
  tags: ['api-v2', 'oauth2.0'],
596
547
  projectId,
597
548
  });
598
- // Query tag index with special characters
599
549
  const results = await queryTagIndex(db, ['api-v2'], projectId);
600
550
  assert.ok(results.length > 0, 'Should find tags with special characters');
601
551
  });
@@ -608,7 +558,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
608
558
  tags: ['API'],
609
559
  projectId,
610
560
  });
611
- // Query with different case
612
561
  const upperResults = await queryTagIndex(db, ['API'], projectId);
613
562
  const lowerResults = await queryTagIndex(db, ['api'], projectId);
614
563
  // Behavior may vary by database
@@ -620,13 +569,9 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
620
569
  }
621
570
  });
622
571
  });
623
- // ============================================================================
624
- // Tag Index Performance Tests
625
- // ============================================================================
626
572
  describe('Tag Index Performance', () => {
627
573
  it('should efficiently query tag index for multiple tags', async () => {
628
574
  const db = getDb();
629
- // Create multiple decisions with overlapping tags
630
575
  for (let i = 1; i <= 5; i++) {
631
576
  await createDecisionWithTags(db, {
632
577
  key: `perf/decision-${i}`,
@@ -636,7 +581,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
636
581
  projectId,
637
582
  });
638
583
  }
639
- // Query tag index for 'number' tag (should find all 5)
640
584
  const results = await queryTagIndex(db, ['number'], projectId);
641
585
  assert.ok(results.length >= 5, 'Should find all 5 decisions with number tag');
642
586
  });
@@ -649,7 +593,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
649
593
  tags: ['tag1', 'tag2', 'tag3'],
650
594
  projectId,
651
595
  });
652
- // Query tag index for multiple tags
653
596
  const results = await queryTagIndex(db, ['tag1', 'tag2', 'tag3'], projectId);
654
597
  // Group by source_id to count matches (v4 uses source_id)
655
598
  const decisionMatches = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"suggest-tool.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/suggest-tool.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suggest-tool.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/suggest-tool.test.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,11 @@
1
1
  /**
2
2
  * Native RDBMS Integration Test Harness
3
3
  *
4
- * Provides parameterized testing utilities for running the same test suite
5
- * across MySQL, MariaDB, and PostgreSQL via fresh Knex migrations.
6
- *
7
- * Key Features:
8
- * - runTestsOnAllDatabases(): Run same tests on all 3 databases
9
- * - Database-agnostic assertion helpers
10
- * - Minimal test data seeding
11
- * - Automatic cleanup
12
- *
13
- * Note: Task and file tables removed in v5.0 (deprecated)
4
+ * Parameterized testing utilities for running test suites across
5
+ * MySQL, MariaDB, and PostgreSQL via fresh Knex migrations.
14
6
  */
15
7
  import type { Knex } from 'knex';
16
8
  import { type DatabaseType } from '../../database/testing-config.js';
17
- import { type DatabaseFormat } from '../../../utils/sql-dump/index.js';
18
9
  /**
19
10
  * Run the same test suite on MySQL, MariaDB, and PostgreSQL
20
11
  *
@@ -117,10 +108,6 @@ export declare function getScopeId(db: Knex, scopeName: string): Promise<number>
117
108
  * Includes SQLite (local) + Docker databases (MySQL, MariaDB, PostgreSQL)
118
109
  */
119
110
  export type CrossDbSourceType = 'sqlite' | DatabaseType;
120
- /**
121
- * Target database formats for SQL dump output
122
- */
123
- export type CrossDbTargetFormat = DatabaseFormat;
124
111
  /**
125
112
  * Seed rich test data covering all v4 tables for migration testing
126
113
  *
@@ -135,14 +122,6 @@ export type CrossDbTargetFormat = DatabaseFormat;
135
122
  * @param projectId - Project ID to use (default: 1)
136
123
  */
137
124
  export declare function seedRichTestData(db: Knex, projectId?: number): Promise<void>;
138
- /**
139
- * Execute SQL dump generation from a database
140
- *
141
- * @param db - Source Knex database connection
142
- * @param targetFormat - Target database format (mysql, postgresql, sqlite)
143
- * @returns Generated SQL dump string
144
- */
145
- export declare function executeSqlDump(db: Knex, targetFormat: CrossDbTargetFormat): Promise<string>;
146
125
  /**
147
126
  * Verify sqlew access by checking row counts and basic CRUD operations
148
127
  *
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/test-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMxF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7D,IAAI,CAwBN;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC1D;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB7D;AAMD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF;AAID;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAMD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI7E;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAMD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDrF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,IAAI,EACR,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAGD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,IAAI,EACR,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAoDD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyB9E"}
1
+ {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/test-harness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7D,IAAI,CAuBN;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC1D;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF;AAID;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI7E;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDrF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,IAAI,EACR,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAiDD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwB9E"}
@@ -1,24 +1,12 @@
1
1
  /**
2
2
  * Native RDBMS Integration Test Harness
3
3
  *
4
- * Provides parameterized testing utilities for running the same test suite
5
- * across MySQL, MariaDB, and PostgreSQL via fresh Knex migrations.
6
- *
7
- * Key Features:
8
- * - runTestsOnAllDatabases(): Run same tests on all 3 databases
9
- * - Database-agnostic assertion helpers
10
- * - Minimal test data seeding
11
- * - Automatic cleanup
12
- *
13
- * Note: Task and file tables removed in v5.0 (deprecated)
4
+ * Parameterized testing utilities for running test suites across
5
+ * MySQL, MariaDB, and PostgreSQL via fresh Knex migrations.
14
6
  */
15
7
  import { describe, before, after } from 'node:test';
16
8
  import assert from 'node:assert';
17
9
  import { initDatabase, teardownDatabase } from './db-init.js';
18
- import { generateSqlDump } from '../../../utils/sql-dump/index.js';
19
- // ============================================================================
20
- // Parameterized Test Runner
21
- // ============================================================================
22
10
  /**
23
11
  * Run the same test suite on MySQL, MariaDB, and PostgreSQL
24
12
  *
@@ -55,14 +43,10 @@ export function runTestsOnAllDatabases(suiteName, defineTests) {
55
43
  await teardownDatabase(db);
56
44
  console.log(` ✅ ${dbType} cleanup complete`);
57
45
  });
58
- // Run the same tests with this database connection
59
46
  defineTests(() => db, dbType);
60
47
  });
61
48
  }
62
49
  }
63
- // ============================================================================
64
- // Test Data Seeding
65
- // ============================================================================
66
50
  /**
67
51
  * Seed minimal test data for operations testing
68
52
  *
@@ -75,7 +59,6 @@ export function runTestsOnAllDatabases(suiteName, defineTests) {
75
59
  * @param db - Knex database connection
76
60
  */
77
61
  export async function seedTestData(db) {
78
- // Layers (should already exist from migrations, but verify)
79
62
  const layerCount = await db('m_layers').count('* as count').first();
80
63
  if (!layerCount || layerCount.count === 0) {
81
64
  await db('m_layers').insert([
@@ -90,7 +73,6 @@ export async function seedTestData(db) {
90
73
  { name: 'review' },
91
74
  ]);
92
75
  }
93
- // Tags
94
76
  const tags = ['test', 'api', 'performance', 'security', 'architecture'];
95
77
  for (const tag of tags) {
96
78
  const exists = await db('m_tags').where({ name: tag, project_id: 1 }).first();
@@ -98,7 +80,6 @@ export async function seedTestData(db) {
98
80
  await db('m_tags').insert({ name: tag, project_id: 1 });
99
81
  }
100
82
  }
101
- // Scopes
102
83
  const scopes = ['global', 'module', 'component'];
103
84
  for (const scope of scopes) {
104
85
  const exists = await db('m_scopes').where({ name: scope, project_id: 1 }).first();
@@ -117,28 +98,19 @@ export async function seedTestData(db) {
117
98
  * @param db - Knex database connection
118
99
  */
119
100
  export async function cleanupTestData(db) {
120
- // Delete in correct order (children first, parents last)
121
- // Transaction tables
122
- // t_decision_tags has (decision_key_id, project_id, tag_id)
123
101
  await db('t_decision_tags').where('project_id', 1).del();
124
- // t_decision_scopes has (decision_key_id, project_id, scope_id)
125
102
  await db('t_decision_scopes').where('project_id', 1).del();
126
- // t_decision_context has project_id (added in v3.7.0)
103
+ // t_decision_context added in v3.7.0
127
104
  await db('t_decision_context').where('project_id', 1).del();
128
- // t_decisions has project_id
129
105
  await db('t_decisions').where('project_id', 1).del();
130
- // t_decisions_numeric has project_id
131
106
  await db('t_decisions_numeric').where('project_id', 1).del();
132
- // m_context_keys has (id, key_name) - NO project_id
107
+ // m_context_keys has no project_id column
133
108
  await db('m_context_keys').del();
134
109
  await db('t_constraints').where('project_id', 1).del();
135
110
  // Note: Task and file tables removed in v5.0
136
- // t_tag_index has (tag, source_type, source_id, project_id, created_ts) - polymorphic design
111
+ // polymorphic design: source_type + source_id + tag
137
112
  await db('t_tag_index').where('project_id', 1).del();
138
113
  }
139
- // ============================================================================
140
- // Assertion Helpers
141
- // ============================================================================
142
114
  /**
143
115
  * Assert that a decision exists with expected key and value
144
116
  *
@@ -203,7 +175,6 @@ export async function assertTagIndexPopulated(db, key, expectedTags) {
203
175
  .where({ key_name: key })
204
176
  .first();
205
177
  assert.ok(contextKey, `Decision key "${key}" should exist`);
206
- // t_tag_index uses polymorphic design: source_type + source_id + tag
207
178
  const indexEntries = await db('t_tag_index')
208
179
  .where({ source_type: 'decision', source_id: contextKey.id, project_id: 1 })
209
180
  .pluck('tag');
@@ -212,9 +183,6 @@ export async function assertTagIndexPopulated(db, key, expectedTags) {
212
183
  assert.ok(indexEntries.includes(expectedTag), `Tag index should contain "${expectedTag}"`);
213
184
  }
214
185
  }
215
- // ============================================================================
216
- // Query Helpers
217
- // ============================================================================
218
186
  /**
219
187
  * Get tag ID by name (creates if not exists)
220
188
  *
@@ -272,7 +240,6 @@ export async function getScopeId(db, scopeName) {
272
240
  */
273
241
  export async function seedRichTestData(db, projectId = 1) {
274
242
  const now = Math.floor(Date.now() / 1000);
275
- // 1. Create context keys and decisions
276
243
  const decisionKeys = ['migration-test-decision-1', 'migration-test-decision-2', 'migration-test-decision-3'];
277
244
  for (let i = 0; i < decisionKeys.length; i++) {
278
245
  const keyName = decisionKeys[i];
@@ -288,7 +255,6 @@ export async function seedRichTestData(db, projectId = 1) {
288
255
  layer_id: layerId,
289
256
  status: 1, // Status.ACTIVE = 1
290
257
  });
291
- // Add tags to decisions
292
258
  const tagIds = await db('m_tags').where({ project_id: projectId }).limit(2).pluck('id');
293
259
  for (const tagId of tagIds) {
294
260
  await db('t_decision_tags').insert({
@@ -298,7 +264,6 @@ export async function seedRichTestData(db, projectId = 1) {
298
264
  }).catch(() => { }); // Ignore duplicates
299
265
  }
300
266
  }
301
- // 2. Create constraints
302
267
  const constraints = [
303
268
  { text: 'Migration test constraint 1', category: 'architecture', priority: 3 },
304
269
  { text: 'Migration test constraint 2', category: 'performance', priority: 2 },
@@ -317,21 +282,6 @@ export async function seedRichTestData(db, projectId = 1) {
317
282
  }
318
283
  // Note: Task and file table seeding removed in v5.0 (deprecated)
319
284
  }
320
- /**
321
- * Execute SQL dump generation from a database
322
- *
323
- * @param db - Source Knex database connection
324
- * @param targetFormat - Target database format (mysql, postgresql, sqlite)
325
- * @returns Generated SQL dump string
326
- */
327
- export async function executeSqlDump(db, targetFormat) {
328
- return generateSqlDump(db, targetFormat, {
329
- includeHeader: true,
330
- includeSchema: true,
331
- chunkSize: 100,
332
- conflictMode: 'replace',
333
- });
334
- }
335
285
  /**
336
286
  * Verify sqlew access by checking row counts and basic CRUD operations
337
287
  *
@@ -342,7 +292,6 @@ export async function executeSqlDump(db, targetFormat) {
342
292
  export async function verifySqlewAccess(db, expectedCounts) {
343
293
  const errors = [];
344
294
  const tables = {};
345
- // Core v4 tables to verify (task/file tables removed in v5.0)
346
295
  const tablesToCheck = [
347
296
  'm_projects',
348
297
  'm_layers',
@@ -368,7 +317,6 @@ export async function verifySqlewAccess(db, expectedCounts) {
368
317
  tables[table] = { count: -1, match: false };
369
318
  }
370
319
  }
371
- // Test basic CRUD: Try to insert and read a decision
372
320
  try {
373
321
  const testKey = `migration-verify-${Date.now()}`;
374
322
  await db('m_context_keys').insert({ key_name: testKey });
@@ -376,7 +324,6 @@ export async function verifySqlewAccess(db, expectedCounts) {
376
324
  if (!inserted) {
377
325
  errors.push('CRUD test failed: Could not read inserted context key');
378
326
  }
379
- // Cleanup
380
327
  await db('m_context_keys').where({ key_name: testKey }).del();
381
328
  }
382
329
  catch (err) {
@@ -396,7 +343,6 @@ export async function verifySqlewAccess(db, expectedCounts) {
396
343
  */
397
344
  export async function getTableCounts(db) {
398
345
  const counts = {};
399
- // Task and file tables removed in v5.0
400
346
  const tables = [
401
347
  'm_projects',
402
348
  'm_layers',