sqlew 5.0.8 → 5.2.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 (499) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +19 -10
  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/hooks/on-exit-plan.d.ts.map +1 -1
  49. package/dist/cli/hooks/on-exit-plan.js +42 -1
  50. package/dist/cli/hooks/on-exit-plan.js.map +1 -1
  51. package/dist/cli/hooks/on-prompt.d.ts.map +1 -1
  52. package/dist/cli/hooks/on-prompt.js +5 -0
  53. package/dist/cli/hooks/on-prompt.js.map +1 -1
  54. package/dist/cli/hooks/plan-processor.d.ts.map +1 -1
  55. package/dist/cli/hooks/plan-processor.js +16 -2
  56. package/dist/cli/hooks/plan-processor.js.map +1 -1
  57. package/dist/cli/hooks/stdin-parser.d.ts +41 -0
  58. package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
  59. package/dist/cli/hooks/stdin-parser.js +140 -4
  60. package/dist/cli/hooks/stdin-parser.js.map +1 -1
  61. package/dist/cli/hooks/track-plan.d.ts +13 -0
  62. package/dist/cli/hooks/track-plan.d.ts.map +1 -1
  63. package/dist/cli/hooks/track-plan.js +58 -3
  64. package/dist/cli/hooks/track-plan.js.map +1 -1
  65. package/dist/cli.d.ts.map +1 -1
  66. package/dist/cli.js +1 -12
  67. package/dist/cli.js.map +1 -1
  68. package/dist/config/cloud-config-loader.d.ts +8 -8
  69. package/dist/config/cloud-config-loader.d.ts.map +1 -1
  70. package/dist/config/cloud-config-loader.js +12 -12
  71. package/dist/config/cloud-config-loader.js.map +1 -1
  72. package/dist/config/global-config.d.ts +24 -46
  73. package/dist/config/global-config.d.ts.map +1 -1
  74. package/dist/config/global-config.js +174 -56
  75. package/dist/config/global-config.js.map +1 -1
  76. package/dist/config/loader.d.ts +1 -18
  77. package/dist/config/loader.d.ts.map +1 -1
  78. package/dist/config/loader.js +1 -89
  79. package/dist/config/loader.js.map +1 -1
  80. package/dist/config/types.d.ts +2 -64
  81. package/dist/config/types.d.ts.map +1 -1
  82. package/dist/config/types.js +0 -18
  83. package/dist/config/types.js.map +1 -1
  84. package/dist/database/index.d.ts +1 -2
  85. package/dist/database/index.d.ts.map +1 -1
  86. package/dist/database/index.js +1 -3
  87. package/dist/database/index.js.map +1 -1
  88. package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts.map +1 -1
  89. package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +2 -1
  90. package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js.map +1 -1
  91. package/dist/database/operations/queries.d.ts +0 -4
  92. package/dist/database/operations/queries.d.ts.map +1 -1
  93. package/dist/database/operations/queries.js +0 -8
  94. package/dist/database/operations/queries.js.map +1 -1
  95. package/dist/index.d.ts +1 -1
  96. package/dist/index.js +2 -2
  97. package/dist/index.js.map +1 -1
  98. package/dist/init-rules.d.ts.map +1 -1
  99. package/dist/init-rules.js +0 -1
  100. package/dist/init-rules.js.map +1 -1
  101. package/dist/knexfile.d.ts.map +1 -1
  102. package/dist/knexfile.js +2 -1
  103. package/dist/knexfile.js.map +1 -1
  104. package/dist/migration/local-to-global.d.ts +19 -0
  105. package/dist/migration/local-to-global.d.ts.map +1 -0
  106. package/dist/migration/local-to-global.js +133 -0
  107. package/dist/migration/local-to-global.js.map +1 -0
  108. package/dist/saas-connector/client/types.d.ts +1 -1
  109. package/dist/saas-connector/client/types.d.ts.map +1 -1
  110. package/dist/schema.js +1 -1
  111. package/dist/server/setup.d.ts.map +1 -1
  112. package/dist/server/setup.js +15 -7
  113. package/dist/server/setup.js.map +1 -1
  114. package/dist/tests/backend/backend-factory.test.js +2 -2
  115. package/dist/tests/backend/backend-factory.test.js.map +1 -1
  116. package/dist/tests/docker/native/constraint-operations.test.d.ts +2 -17
  117. package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -1
  118. package/dist/tests/docker/native/constraint-operations.test.js +3 -82
  119. package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
  120. package/dist/tests/docker/native/db-init.d.ts +3 -34
  121. package/dist/tests/docker/native/db-init.d.ts.map +1 -1
  122. package/dist/tests/docker/native/db-init.js +15 -77
  123. package/dist/tests/docker/native/db-init.js.map +1 -1
  124. package/dist/tests/docker/native/decision-operations.test.d.ts +2 -10
  125. package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -1
  126. package/dist/tests/docker/native/decision-operations.test.js +2 -84
  127. package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
  128. package/dist/tests/docker/native/help-system.test.d.ts +2 -5
  129. package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
  130. package/dist/tests/docker/native/help-system.test.js +2 -47
  131. package/dist/tests/docker/native/help-system.test.js.map +1 -1
  132. package/dist/tests/docker/native/suggest-tool.test.d.ts +3 -11
  133. package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -1
  134. package/dist/tests/docker/native/suggest-tool.test.js +3 -60
  135. package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
  136. package/dist/tests/docker/native/test-harness.d.ts +2 -23
  137. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  138. package/dist/tests/docker/native/test-harness.js +5 -59
  139. package/dist/tests/docker/native/test-harness.js.map +1 -1
  140. package/dist/tests/feature/decision/analytics.test.js +2 -1
  141. package/dist/tests/feature/decision/analytics.test.js.map +1 -1
  142. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +2 -7
  143. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
  144. package/dist/tests/feature/decision/batch-validation.test.js +2 -1
  145. package/dist/tests/feature/decision/batch-validation.test.js.map +1 -1
  146. package/dist/tests/integration/auto-trigger-suggestions.test.js +4 -37
  147. package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
  148. package/dist/tests/integration/hybrid-similarity-detection.test.js +2 -1
  149. package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
  150. package/dist/tests/integration/json-export-import.test.d.ts.map +1 -0
  151. package/dist/tests/integration/json-export-import.test.js.map +1 -0
  152. package/dist/tests/unit/case-insensitive-validator.test.d.ts +0 -7
  153. package/dist/tests/unit/case-insensitive-validator.test.d.ts.map +1 -1
  154. package/dist/tests/unit/case-insensitive-validator.test.js +0 -22
  155. package/dist/tests/unit/case-insensitive-validator.test.js.map +1 -1
  156. package/dist/tests/unit/config/cloud-config-loader.test.js +4 -2
  157. package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -1
  158. package/dist/tests/unit/config/global-db-migration.test.d.ts +12 -0
  159. package/dist/tests/unit/config/global-db-migration.test.d.ts.map +1 -0
  160. package/dist/tests/unit/config/global-db-migration.test.js +117 -0
  161. package/dist/tests/unit/config/global-db-migration.test.js.map +1 -0
  162. package/dist/tests/unit/constraint-scorer.test.d.ts +2 -7
  163. package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -1
  164. package/dist/tests/unit/constraint-scorer.test.js +2 -28
  165. package/dist/tests/unit/constraint-scorer.test.js.map +1 -1
  166. package/dist/tests/unit/hooks/grok-hook-normalization.test.d.ts +9 -0
  167. package/dist/tests/unit/hooks/grok-hook-normalization.test.d.ts.map +1 -0
  168. package/dist/tests/unit/hooks/grok-hook-normalization.test.js +98 -0
  169. package/dist/tests/unit/hooks/grok-hook-normalization.test.js.map +1 -0
  170. package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts +7 -0
  171. package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts.map +1 -0
  172. package/dist/tests/unit/hooks/grok-plan-template-injection.test.js +55 -0
  173. package/dist/tests/unit/hooks/grok-plan-template-injection.test.js.map +1 -0
  174. package/dist/tests/unit/universal-knex.test.js +9 -0
  175. package/dist/tests/unit/universal-knex.test.js.map +1 -1
  176. package/dist/tests/unit/validation/parameter-validation.test.js +0 -24
  177. package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
  178. package/dist/tests/utils/db-config.d.ts.map +1 -1
  179. package/dist/tests/utils/db-config.js +0 -9
  180. package/dist/tests/utils/db-config.js.map +1 -1
  181. package/dist/tests/utils/db-import.d.ts.map +1 -1
  182. package/dist/tests/utils/db-import.js +0 -3
  183. package/dist/tests/utils/db-import.js.map +1 -1
  184. package/dist/tests/utils/db-schema.d.ts.map +1 -1
  185. package/dist/tests/utils/db-schema.js +48 -51
  186. package/dist/tests/utils/db-schema.js.map +1 -1
  187. package/dist/tests/utils/db-seeding.d.ts.map +1 -1
  188. package/dist/tests/utils/db-seeding.js +0 -3
  189. package/dist/tests/utils/db-seeding.js.map +1 -1
  190. package/dist/tests/utils/index.d.ts +0 -1
  191. package/dist/tests/utils/index.d.ts.map +1 -1
  192. package/dist/tests/utils/index.js +0 -2
  193. package/dist/tests/utils/index.js.map +1 -1
  194. package/dist/tests/utils/test-helpers.d.ts +6 -76
  195. package/dist/tests/utils/test-helpers.d.ts.map +1 -1
  196. package/dist/tests/utils/test-helpers.js +56 -162
  197. package/dist/tests/utils/test-helpers.js.map +1 -1
  198. package/dist/tests/utils/test-lifecycle.d.ts +2 -28
  199. package/dist/tests/utils/test-lifecycle.d.ts.map +1 -1
  200. package/dist/tests/utils/test-lifecycle.js +2 -31
  201. package/dist/tests/utils/test-lifecycle.js.map +1 -1
  202. package/dist/tools/context/index.d.ts +0 -1
  203. package/dist/tools/context/index.d.ts.map +1 -1
  204. package/dist/tools/context/index.js +0 -2
  205. package/dist/tools/context/index.js.map +1 -1
  206. package/dist/tools/context/types.d.ts +1 -1
  207. package/dist/tools/context/types.d.ts.map +1 -1
  208. package/dist/types/actions.d.ts +6 -29
  209. package/dist/types/actions.d.ts.map +1 -1
  210. package/dist/types/actions.js +1 -2
  211. package/dist/types/actions.js.map +1 -1
  212. package/dist/types/constraint/params.d.ts +24 -1
  213. package/dist/types/constraint/params.d.ts.map +1 -1
  214. package/dist/types/constraint/params.js +3 -0
  215. package/dist/types/constraint/params.js.map +1 -1
  216. package/dist/types/constraint/responses.d.ts +18 -1
  217. package/dist/types/constraint/responses.d.ts.map +1 -1
  218. package/dist/types/constraint/responses.js +3 -0
  219. package/dist/types/constraint/responses.js.map +1 -1
  220. package/dist/types/decision/batch.d.ts +2 -5
  221. package/dist/types/decision/batch.d.ts.map +1 -1
  222. package/dist/types/decision/batch.js +3 -3
  223. package/dist/types/decision/batch.js.map +1 -1
  224. package/dist/types/decision/params.d.ts +7 -4
  225. package/dist/types/decision/params.d.ts.map +1 -1
  226. package/dist/types/decision/responses.d.ts +49 -35
  227. package/dist/types/decision/responses.d.ts.map +1 -1
  228. package/dist/types/decision/templates.d.ts +2 -18
  229. package/dist/types/decision/templates.d.ts.map +1 -1
  230. package/dist/types/decision/templates.js +3 -3
  231. package/dist/types/decision/templates.js.map +1 -1
  232. package/dist/types/enums.d.ts +11 -13
  233. package/dist/types/enums.d.ts.map +1 -1
  234. package/dist/types/enums.js +5 -13
  235. package/dist/types/enums.js.map +1 -1
  236. package/dist/types/import-export.d.ts +7 -30
  237. package/dist/types/import-export.d.ts.map +1 -1
  238. package/dist/types/import-export.js +1 -2
  239. package/dist/types/import-export.js.map +1 -1
  240. package/dist/types/index.d.ts +18 -22
  241. package/dist/types/index.d.ts.map +1 -1
  242. package/dist/types/index.js +4 -32
  243. package/dist/types/index.js.map +1 -1
  244. package/dist/types/master-entities.d.ts +1 -10
  245. package/dist/types/master-entities.d.ts.map +1 -1
  246. package/dist/types/master-entities.js +1 -2
  247. package/dist/types/master-entities.js.map +1 -1
  248. package/dist/types/transaction-entities.d.ts +2 -21
  249. package/dist/types/transaction-entities.d.ts.map +1 -1
  250. package/dist/types/transaction-entities.js +1 -1
  251. package/dist/types/validation.d.ts +1 -16
  252. package/dist/types/validation.d.ts.map +1 -1
  253. package/dist/types/validation.js +1 -2
  254. package/dist/types/validation.js.map +1 -1
  255. package/dist/types/view-entities.d.ts +3 -12
  256. package/dist/types/view-entities.d.ts.map +1 -1
  257. package/dist/types/view-entities.js +1 -1
  258. package/dist/types.d.ts +4 -718
  259. package/dist/types.d.ts.map +1 -1
  260. package/dist/types.js +5 -39
  261. package/dist/types.js.map +1 -1
  262. package/dist/utils/parameter-validator.d.ts +2 -2
  263. package/dist/utils/parameter-validator.d.ts.map +1 -1
  264. package/dist/utils/parameter-validator.js.map +1 -1
  265. package/dist/utils/path-normalize.d.ts +23 -0
  266. package/dist/utils/path-normalize.d.ts.map +1 -0
  267. package/dist/utils/path-normalize.js +38 -0
  268. package/dist/utils/path-normalize.js.map +1 -0
  269. package/dist/utils/project-root.d.ts +6 -3
  270. package/dist/utils/project-root.d.ts.map +1 -1
  271. package/dist/utils/project-root.js +11 -3
  272. package/dist/utils/project-root.js.map +1 -1
  273. package/dist/watcher/base-watcher.d.ts +0 -4
  274. package/dist/watcher/base-watcher.d.ts.map +1 -1
  275. package/dist/watcher/base-watcher.js +11 -22
  276. package/dist/watcher/base-watcher.js.map +1 -1
  277. package/docs/CLI_USAGE.md +27 -107
  278. package/docs/CONFIGURATION.md +10 -5
  279. package/docs/DATABASE_AUTH.md +3 -3
  280. package/docs/HOOKS_GUIDE.md +40 -6
  281. package/docs/MIGRATION_TO_SAAS.md +2 -2
  282. package/docs/SHARED_DATABASE.md +108 -0
  283. package/package.json +4 -3
  284. package/dist/adapters/auth/auth-types.d.ts +0 -30
  285. package/dist/adapters/auth/auth-types.d.ts.map +0 -1
  286. package/dist/adapters/auth/auth-types.js +0 -30
  287. package/dist/adapters/auth/auth-types.js.map +0 -1
  288. package/dist/cli/db-dump.d.ts +0 -36
  289. package/dist/cli/db-dump.d.ts.map +0 -1
  290. package/dist/cli/db-dump.js +0 -384
  291. package/dist/cli/db-dump.js.map +0 -1
  292. package/dist/database/config/config-ops.d.ts +0 -42
  293. package/dist/database/config/config-ops.d.ts.map +0 -1
  294. package/dist/database/config/config-ops.js +0 -102
  295. package/dist/database/config/config-ops.js.map +0 -1
  296. package/dist/formatters/adr-formatter.d.ts +0 -22
  297. package/dist/formatters/adr-formatter.d.ts.map +0 -1
  298. package/dist/formatters/adr-formatter.js +0 -127
  299. package/dist/formatters/adr-formatter.js.map +0 -1
  300. package/dist/formatters/confluence-formatter.d.ts +0 -26
  301. package/dist/formatters/confluence-formatter.d.ts.map +0 -1
  302. package/dist/formatters/confluence-formatter.js +0 -129
  303. package/dist/formatters/confluence-formatter.js.map +0 -1
  304. package/dist/formatters/index.d.ts +0 -34
  305. package/dist/formatters/index.d.ts.map +0 -1
  306. package/dist/formatters/index.js +0 -57
  307. package/dist/formatters/index.js.map +0 -1
  308. package/dist/formatters/markdown-formatter.d.ts +0 -16
  309. package/dist/formatters/markdown-formatter.d.ts.map +0 -1
  310. package/dist/formatters/markdown-formatter.js +0 -110
  311. package/dist/formatters/markdown-formatter.js.map +0 -1
  312. package/dist/formatters/notion-formatter.d.ts +0 -29
  313. package/dist/formatters/notion-formatter.d.ts.map +0 -1
  314. package/dist/formatters/notion-formatter.js +0 -177
  315. package/dist/formatters/notion-formatter.js.map +0 -1
  316. package/dist/formatters/types.d.ts +0 -31
  317. package/dist/formatters/types.d.ts.map +0 -1
  318. package/dist/formatters/types.js +0 -6
  319. package/dist/formatters/types.js.map +0 -1
  320. package/dist/tests/database/sql-dump/converters.test.d.ts +0 -7
  321. package/dist/tests/database/sql-dump/converters.test.d.ts.map +0 -1
  322. package/dist/tests/database/sql-dump/converters.test.js +0 -314
  323. package/dist/tests/database/sql-dump/converters.test.js.map +0 -1
  324. package/dist/tests/database/sql-dump/default-conversions.test.d.ts +0 -8
  325. package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +0 -1
  326. package/dist/tests/database/sql-dump/default-conversions.test.js +0 -141
  327. package/dist/tests/database/sql-dump/default-conversions.test.js.map +0 -1
  328. package/dist/tests/database/sql-dump/table-ordering.test.d.ts +0 -27
  329. package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +0 -1
  330. package/dist/tests/database/sql-dump/table-ordering.test.js +0 -284
  331. package/dist/tests/database/sql-dump/table-ordering.test.js.map +0 -1
  332. package/dist/tests/database/sql-dump/type-conversion.test.d.ts +0 -8
  333. package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +0 -1
  334. package/dist/tests/database/sql-dump/type-conversion.test.js +0 -361
  335. package/dist/tests/database/sql-dump/type-conversion.test.js.map +0 -1
  336. package/dist/tests/docker/cross-database.test.d.ts +0 -21
  337. package/dist/tests/docker/cross-database.test.d.ts.map +0 -1
  338. package/dist/tests/docker/cross-database.test.js +0 -308
  339. package/dist/tests/docker/cross-database.test.js.map +0 -1
  340. package/dist/tests/docker/dump-import.test.d.ts +0 -15
  341. package/dist/tests/docker/dump-import.test.d.ts.map +0 -1
  342. package/dist/tests/docker/dump-import.test.js +0 -424
  343. package/dist/tests/docker/dump-import.test.js.map +0 -1
  344. package/dist/tests/docker/fk-constraints.test.d.ts +0 -13
  345. package/dist/tests/docker/fk-constraints.test.d.ts.map +0 -1
  346. package/dist/tests/docker/fk-constraints.test.js +0 -381
  347. package/dist/tests/docker/fk-constraints.test.js.map +0 -1
  348. package/dist/tests/docker/indexes.test.d.ts +0 -12
  349. package/dist/tests/docker/indexes.test.d.ts.map +0 -1
  350. package/dist/tests/docker/indexes.test.js +0 -250
  351. package/dist/tests/docker/indexes.test.js.map +0 -1
  352. package/dist/tests/docker/integration.test.d.ts +0 -16
  353. package/dist/tests/docker/integration.test.d.ts.map +0 -1
  354. package/dist/tests/docker/integration.test.js +0 -323
  355. package/dist/tests/docker/integration.test.js.map +0 -1
  356. package/dist/tests/docker/multi-project-migration.test.d.ts +0 -17
  357. package/dist/tests/docker/multi-project-migration.test.d.ts.map +0 -1
  358. package/dist/tests/docker/multi-project-migration.test.js +0 -394
  359. package/dist/tests/docker/multi-project-migration.test.js.map +0 -1
  360. package/dist/tests/docker/schema-migration.test.d.ts +0 -8
  361. package/dist/tests/docker/schema-migration.test.d.ts.map +0 -1
  362. package/dist/tests/docker/schema-migration.test.js +0 -98
  363. package/dist/tests/docker/schema-migration.test.js.map +0 -1
  364. package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +0 -5
  365. package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +0 -1
  366. package/dist/tests/integration/e2e-workflow1-debug.test.js +0 -85
  367. package/dist/tests/integration/e2e-workflow1-debug.test.js.map +0 -1
  368. package/dist/tests/integration/suggest-simple.test.d.ts +0 -5
  369. package/dist/tests/integration/suggest-simple.test.d.ts.map +0 -1
  370. package/dist/tests/integration/suggest-simple.test.js +0 -90
  371. package/dist/tests/integration/suggest-simple.test.js.map +0 -1
  372. package/dist/tests/migrations/test-all-versions-real.d.ts +0 -8
  373. package/dist/tests/migrations/test-all-versions-real.d.ts.map +0 -1
  374. package/dist/tests/migrations/test-all-versions-real.js +0 -236
  375. package/dist/tests/migrations/test-all-versions-real.js.map +0 -1
  376. package/dist/tests/migrations/test-all-versions.d.ts +0 -14
  377. package/dist/tests/migrations/test-all-versions.d.ts.map +0 -1
  378. package/dist/tests/migrations/test-all-versions.js +0 -519
  379. package/dist/tests/migrations/test-all-versions.js.map +0 -1
  380. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +0 -7
  381. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +0 -1
  382. package/dist/tests/migrations/v4/v4-fresh-install.test.js +0 -168
  383. package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +0 -1
  384. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +0 -13
  385. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +0 -1
  386. package/dist/tests/migrations/v4/v4-migrate-data.test.js +0 -264
  387. package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +0 -1
  388. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +0 -2
  389. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +0 -1
  390. package/dist/tests/unit/utils/case-insensitive-validator.test.js +0 -97
  391. package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +0 -1
  392. package/dist/tests/utils/json-export-import.test.d.ts.map +0 -1
  393. package/dist/tests/utils/json-export-import.test.js.map +0 -1
  394. package/dist/tests/utils/task-helpers.d.ts +0 -67
  395. package/dist/tests/utils/task-helpers.d.ts.map +0 -1
  396. package/dist/tests/utils/task-helpers.js +0 -134
  397. package/dist/tests/utils/task-helpers.js.map +0 -1
  398. package/dist/tools/context/actions/export.d.ts +0 -35
  399. package/dist/tools/context/actions/export.d.ts.map +0 -1
  400. package/dist/tools/context/actions/export.js +0 -93
  401. package/dist/tools/context/actions/export.js.map +0 -1
  402. package/dist/types/file/params.d.ts +0 -40
  403. package/dist/types/file/params.d.ts.map +0 -1
  404. package/dist/types/file/params.js +0 -6
  405. package/dist/types/file/params.js.map +0 -1
  406. package/dist/types/file/responses.d.ts +0 -2
  407. package/dist/types/file/responses.d.ts.map +0 -1
  408. package/dist/types/file/responses.js +0 -2
  409. package/dist/types/file/responses.js.map +0 -1
  410. package/dist/types/task/params.d.ts +0 -173
  411. package/dist/types/task/params.d.ts.map +0 -1
  412. package/dist/types/task/params.js +0 -8
  413. package/dist/types/task/params.js.map +0 -1
  414. package/dist/types/task/responses.d.ts +0 -334
  415. package/dist/types/task/responses.d.ts.map +0 -1
  416. package/dist/types/task/responses.js +0 -8
  417. package/dist/types/task/responses.js.map +0 -1
  418. package/dist/utils/sql-dump/core/dependency-sort.d.ts +0 -16
  419. package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +0 -1
  420. package/dist/utils/sql-dump/core/dependency-sort.js +0 -105
  421. package/dist/utils/sql-dump/core/dependency-sort.js.map +0 -1
  422. package/dist/utils/sql-dump/core/generate-dump.d.ts +0 -13
  423. package/dist/utils/sql-dump/core/generate-dump.d.ts.map +0 -1
  424. package/dist/utils/sql-dump/core/generate-dump.js +0 -201
  425. package/dist/utils/sql-dump/core/generate-dump.js.map +0 -1
  426. package/dist/utils/sql-dump/core/index-export.d.ts +0 -10
  427. package/dist/utils/sql-dump/core/index-export.d.ts.map +0 -1
  428. package/dist/utils/sql-dump/core/index-export.js +0 -173
  429. package/dist/utils/sql-dump/core/index-export.js.map +0 -1
  430. package/dist/utils/sql-dump/core/sequence-reset.d.ts +0 -6
  431. package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +0 -1
  432. package/dist/utils/sql-dump/core/sequence-reset.js +0 -28
  433. package/dist/utils/sql-dump/core/sequence-reset.js.map +0 -1
  434. package/dist/utils/sql-dump/core/table-export.d.ts +0 -2
  435. package/dist/utils/sql-dump/core/table-export.d.ts.map +0 -1
  436. package/dist/utils/sql-dump/core/table-export.js +0 -4
  437. package/dist/utils/sql-dump/core/table-export.js.map +0 -1
  438. package/dist/utils/sql-dump/core/view-export.d.ts +0 -2
  439. package/dist/utils/sql-dump/core/view-export.d.ts.map +0 -1
  440. package/dist/utils/sql-dump/core/view-export.js +0 -4
  441. package/dist/utils/sql-dump/core/view-export.js.map +0 -1
  442. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +0 -14
  443. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +0 -1
  444. package/dist/utils/sql-dump/formatters/bulk-insert.js +0 -177
  445. package/dist/utils/sql-dump/formatters/bulk-insert.js.map +0 -1
  446. package/dist/utils/sql-dump/formatters/identifiers.d.ts +0 -6
  447. package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +0 -1
  448. package/dist/utils/sql-dump/formatters/identifiers.js +0 -16
  449. package/dist/utils/sql-dump/formatters/identifiers.js.map +0 -1
  450. package/dist/utils/sql-dump/formatters/value-formatter.d.ts +0 -14
  451. package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +0 -1
  452. package/dist/utils/sql-dump/formatters/value-formatter.js +0 -281
  453. package/dist/utils/sql-dump/formatters/value-formatter.js.map +0 -1
  454. package/dist/utils/sql-dump/generators/controls.d.ts +0 -10
  455. package/dist/utils/sql-dump/generators/controls.d.ts.map +0 -1
  456. package/dist/utils/sql-dump/generators/controls.js +0 -36
  457. package/dist/utils/sql-dump/generators/controls.js.map +0 -1
  458. package/dist/utils/sql-dump/generators/headers.d.ts +0 -6
  459. package/dist/utils/sql-dump/generators/headers.d.ts.map +0 -1
  460. package/dist/utils/sql-dump/generators/headers.js +0 -19
  461. package/dist/utils/sql-dump/generators/headers.js.map +0 -1
  462. package/dist/utils/sql-dump/index.d.ts +0 -14
  463. package/dist/utils/sql-dump/index.d.ts.map +0 -1
  464. package/dist/utils/sql-dump/index.js +0 -16
  465. package/dist/utils/sql-dump/index.js.map +0 -1
  466. package/dist/utils/sql-dump/schema/indexes.d.ts +0 -20
  467. package/dist/utils/sql-dump/schema/indexes.d.ts.map +0 -1
  468. package/dist/utils/sql-dump/schema/indexes.js +0 -108
  469. package/dist/utils/sql-dump/schema/indexes.js.map +0 -1
  470. package/dist/utils/sql-dump/schema/primary-keys.d.ts +0 -6
  471. package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +0 -1
  472. package/dist/utils/sql-dump/schema/primary-keys.js +0 -41
  473. package/dist/utils/sql-dump/schema/primary-keys.js.map +0 -1
  474. package/dist/utils/sql-dump/schema/tables.d.ts +0 -15
  475. package/dist/utils/sql-dump/schema/tables.d.ts.map +0 -1
  476. package/dist/utils/sql-dump/schema/tables.js +0 -518
  477. package/dist/utils/sql-dump/schema/tables.js.map +0 -1
  478. package/dist/utils/sql-dump/schema/views.d.ts +0 -11
  479. package/dist/utils/sql-dump/schema/views.d.ts.map +0 -1
  480. package/dist/utils/sql-dump/schema/views.js +0 -116
  481. package/dist/utils/sql-dump/schema/views.js.map +0 -1
  482. package/dist/utils/sql-dump/types.d.ts +0 -10
  483. package/dist/utils/sql-dump/types.d.ts.map +0 -1
  484. package/dist/utils/sql-dump/types.js +0 -3
  485. package/dist/utils/sql-dump/types.js.map +0 -1
  486. package/dist/utils/sql-dump-converters.d.ts +0 -188
  487. package/dist/utils/sql-dump-converters.d.ts.map +0 -1
  488. package/dist/utils/sql-dump-converters.js +0 -315
  489. package/dist/utils/sql-dump-converters.js.map +0 -1
  490. package/dist/watcher/gitignore-parser.d.ts +0 -70
  491. package/dist/watcher/gitignore-parser.d.ts.map +0 -1
  492. package/dist/watcher/gitignore-parser.js +0 -195
  493. package/dist/watcher/gitignore-parser.js.map +0 -1
  494. package/dist/watcher/index.d.ts +0 -9
  495. package/dist/watcher/index.d.ts.map +0 -1
  496. package/dist/watcher/index.js +0 -8
  497. package/dist/watcher/index.js.map +0 -1
  498. /package/dist/tests/{utils → integration}/json-export-import.test.d.ts +0 -0
  499. /package/dist/tests/{utils → integration}/json-export-import.test.js +0 -0
@@ -1,36 +1,7 @@
1
1
  import type { Knex } from 'knex';
2
2
  import { BaseAdapter } from './base-adapter.js';
3
3
  import type { DatabaseConfig } from '../config/types.js';
4
- /**
5
- * PostgreSQL adapter implementation with authentication support.
6
- *
7
- * This adapter provides PostgreSQL-specific implementations for database operations,
8
- * integrating with the authentication layer for secure connections via SSH tunnels,
9
- * direct connections, or cloud IAM (AWS RDS, GCP Cloud SQL).
10
- *
11
- * **PostgreSQL-Specific Features:**
12
- * - RETURNING clause for insert/update/delete
13
- * - ON CONFLICT ... DO UPDATE for upserts
14
- * - jsonb_extract_path() and jsonb_build_object() for JSON operations
15
- * - string_agg() for string aggregation
16
- * - EXTRACT(EPOCH FROM ...) for Unix timestamp conversions
17
- * - SERIAL/BIGSERIAL for auto-increment columns
18
- * - Full transaction support with savepoints
19
- * - Common Table Expressions (CTEs) and window functions
20
- *
21
- * **Supported PostgreSQL Versions:**
22
- * - PostgreSQL 16+ (full feature support)
23
- * - PostgreSQL 12-15 (full feature support)
24
- * - PostgreSQL 9.5+ (basic feature support)
25
- *
26
- * **Authentication Methods:**
27
- * - Direct: Standard username/password authentication
28
- * - SSH Tunnel: Connect via SSH bastion host
29
- * - AWS RDS IAM: Token-based authentication for AWS RDS
30
- * - GCP Cloud SQL IAM: Token-based authentication for Cloud SQL
31
- *
32
- * @extends BaseAdapter
33
- */
4
+ /** PostgreSQL adapter with authentication support. */
34
5
  export declare class PostgreSQLAdapter extends BaseAdapter {
35
6
  readonly supportsReturning = true;
36
7
  readonly supportsJSON = true;
@@ -40,195 +11,36 @@ export declare class PostgreSQLAdapter extends BaseAdapter {
40
11
  readonly supportsSavepoints = true;
41
12
  readonly databaseName: "postgresql";
42
13
  constructor(config: DatabaseConfig);
43
- /**
44
- * Returns the Knex dialect for PostgreSQL.
45
- *
46
- * Uses 'pg' driver which supports:
47
- * - Prepared statements
48
- * - Promise-based API
49
- * - Connection pooling
50
- * - Full Unicode support
51
- *
52
- * @returns {string} 'pg' dialect identifier
53
- */
54
14
  getDialect(): string;
55
- /**
56
- * Initializes PostgreSQL-specific session settings.
57
- *
58
- * **Configuration Applied:**
59
- * - Timezone: UTC for consistent timestamp handling
60
- * - Statement timeout: 30 seconds (prevents long-running queries)
61
- * - Client encoding: UTF8 for full Unicode support
62
- * - Default transaction isolation: READ COMMITTED
63
- *
64
- * @returns {Promise<void>}
65
- * @throws {Error} If database does not exist or cannot be accessed
66
- */
15
+ /** Initializes PostgreSQL-specific session settings (UTC, timeout, UTF8). */
67
16
  initialize(): Promise<void>;
68
- /**
69
- * Inserts a row and returns the inserted record using RETURNING clause.
70
- *
71
- * PostgreSQL supports RETURNING clause natively, making this more efficient
72
- * than MySQL's approach (insert + select).
73
- *
74
- * @template T - Record type
75
- * @param {string} table - Table name
76
- * @param {Partial<T>} data - Data to insert
77
- * @returns {Promise<T>} Inserted record
78
- * @throws {Error} If insert fails
79
- */
17
+ /** Inserts a row and returns the inserted record using RETURNING clause. */
80
18
  insertReturning<T extends Record<string, any>>(table: string, data: Partial<T>): Promise<T>;
81
- /**
82
- * Upserts a row using PostgreSQL's ON CONFLICT ... DO UPDATE syntax.
83
- *
84
- * **Behavior:**
85
- * - If row with conflicting key exists: UPDATE specified columns
86
- * - If no conflict: INSERT new row
87
- * - Returns number of affected rows
88
- *
89
- * @template T - Record type
90
- * @param {string} table - Table name
91
- * @param {Partial<T>} data - Data to insert/update
92
- * @param {string[]} conflictColumns - Columns that define uniqueness (must have UNIQUE index)
93
- * @param {string[]} [updateColumns] - Columns to update on conflict (default: all except conflict columns)
94
- * @returns {Promise<number>} Affected rows (1 = insert or update)
95
- * @throws {Error} If conflictColumns don't have UNIQUE constraint
96
- */
19
+ /** Upserts a row using ON CONFLICT ... DO UPDATE. */
97
20
  upsert<T extends Record<string, any>>(table: string, data: Partial<T>, conflictColumns: string[], updateColumns?: string[]): Promise<number>;
98
- /**
99
- * Extracts a value from a JSONB column using jsonb_extract_path_text().
100
- *
101
- * **PostgreSQL JSON Path Syntax:**
102
- * - Nested objects: 'address', 'city' (separate arguments)
103
- * - Array access: Use jsonb_array_element() separately
104
- *
105
- * @param {string} column - JSONB column name
106
- * @param {string} path - JSON path (e.g., 'address.city')
107
- * @returns {Knex.Raw} Raw SQL expression for JSON extraction
108
- */
21
+ /** Extracts a value from a JSONB column using jsonb_extract_path_text(). */
109
22
  jsonExtract(column: string, path: string): Knex.Raw;
110
- /**
111
- * Builds a JSON object from field values using jsonb_build_object().
112
- *
113
- * @param {Record<string, any>} fields - Object with key-value pairs
114
- * @returns {Knex.Raw} Raw SQL expression for JSON object construction
115
- */
23
+ /** Builds a JSON object using jsonb_build_object(). */
116
24
  jsonBuildObject(fields: Record<string, any>): Knex.Raw;
117
- /**
118
- * Returns current Unix timestamp using EXTRACT(EPOCH FROM NOW()).
119
- *
120
- * **Behavior:**
121
- * - Returns seconds since Unix epoch (1970-01-01 00:00:00 UTC)
122
- * - Always returns UTC timestamp
123
- * - Returns numeric value (may have fractional seconds)
124
- *
125
- * @returns {Knex.Raw} Raw SQL expression for current timestamp
126
- */
25
+ /** Returns current Unix timestamp using EXTRACT(EPOCH FROM NOW()). */
127
26
  currentTimestamp(): Knex.Raw;
128
- /**
129
- * Converts Unix epoch timestamp to PostgreSQL timestamp using TO_TIMESTAMP().
130
- *
131
- * **Behavior:**
132
- * - Converts integer epoch to TIMESTAMP WITH TIME ZONE
133
- * - Returns UTC timestamp
134
- * - Handles NULL values
135
- *
136
- * @param {string} epochColumn - Column containing Unix epoch timestamp
137
- * @returns {Knex.Raw} Raw SQL expression for epoch conversion
138
- */
27
+ /** Converts Unix epoch to timestamp using TO_TIMESTAMP(). */
139
28
  fromUnixEpoch(epochColumn: string): Knex.Raw;
140
- /**
141
- * Converts PostgreSQL timestamp to Unix epoch using EXTRACT(EPOCH FROM ...).
142
- *
143
- * **Behavior:**
144
- * - Converts TIMESTAMP to integer epoch
145
- * - Assumes input is UTC
146
- * - Handles NULL values
147
- *
148
- * @param {string} timestampColumn - Column containing timestamp value
149
- * @returns {Knex.Raw} Raw SQL expression for timestamp conversion
150
- */
29
+ /** Converts timestamp to Unix epoch using EXTRACT(EPOCH FROM ...). */
151
30
  toUnixEpoch(timestampColumn: string): Knex.Raw;
152
- /**
153
- * Concatenates string values using || operator.
154
- *
155
- * **Behavior:**
156
- * - PostgreSQL uses || for concatenation
157
- * - Returns NULL if any argument is NULL (use COALESCE to handle)
158
- * - Empty strings are preserved
159
- *
160
- * @param {...(string | Knex.Raw)[]} values - Values to concatenate
161
- * @returns {Knex.Raw} Raw SQL expression for concatenation
162
- */
31
+ /** Concatenates string values using || operator. */
163
32
  concat(...values: Array<string | Knex.Raw>): Knex.Raw;
164
- /**
165
- * Aggregates strings with separator using string_agg().
166
- *
167
- * **Behavior:**
168
- * - Concatenates values from multiple rows into single string
169
- * - NULL values are skipped
170
- * - No result length limit (unlike MySQL's GROUP_CONCAT)
171
- *
172
- * @param {string} column - Column to aggregate
173
- * @param {string} [separator=','] - Separator between values
174
- * @returns {Knex.Raw} Raw SQL expression for string aggregation
175
- */
33
+ /** Aggregates strings with separator using string_agg(). */
176
34
  stringAgg(column: string, separator?: string): Knex.Raw;
177
- /**
178
- * Executes a callback within a database transaction.
179
- *
180
- * **PostgreSQL Transaction Characteristics:**
181
- * - Default isolation level: READ COMMITTED
182
- * - Supports nested transactions via savepoints
183
- * - Automatic rollback on error
184
- * - MVCC (Multi-Version Concurrency Control)
185
- *
186
- * @template T - Return type
187
- * @param {Function} callback - Transaction callback
188
- * @param {Object} [options] - Transaction options
189
- * @param {string} [options.isolationLevel] - Isolation level
190
- * @returns {Promise<T>} Transaction result
191
- */
35
+ /** Executes a callback within a PostgreSQL transaction. */
192
36
  transaction<T>(callback: (trx: Knex.Transaction) => Promise<T>, options?: {
193
37
  isolationLevel?: 'serializable' | 'read committed' | 'repeatable read';
194
38
  }): Promise<T>;
195
- /**
196
- * Creates a savepoint within a transaction.
197
- *
198
- * **PostgreSQL Savepoint Behavior:**
199
- * - Allows partial rollback within transaction
200
- * - Savepoint names are case-sensitive
201
- * - Automatically released on transaction commit
202
- * - Rolled back on transaction rollback
203
- *
204
- * @template T - Return type
205
- * @param {Knex.Transaction} trx - Parent transaction
206
- * @param {Function} callback - Savepoint callback
207
- * @returns {Promise<T>} Savepoint result
208
- */
39
+ /** Creates a savepoint within a transaction. */
209
40
  savepoint<T>(trx: Knex.Transaction, callback: (sp: Knex.Transaction) => Promise<T>): Promise<T>;
210
- /**
211
- * Checks if a table exists in the database.
212
- *
213
- * Queries information_schema.tables which is the standard PostgreSQL approach
214
- * for table existence checking.
215
- *
216
- * @param {string} tableName - Table name to check
217
- * @returns {Promise<boolean>} True if table exists, false otherwise
218
- */
41
+ /** Checks if a table exists via information_schema. */
219
42
  tableExists(tableName: string): Promise<boolean>;
220
- /**
221
- * Adds a serial auto-increment primary key column to a table.
222
- *
223
- * **PostgreSQL SERIAL Behavior:**
224
- * - SERIAL = INTEGER with auto-increment (sequence)
225
- * - BIGSERIAL = BIGINT with auto-increment (recommended for large tables)
226
- * - Automatically creates a sequence (tablename_columnname_seq)
227
- * - Primary key constraint added automatically
228
- *
229
- * @param {Knex.CreateTableBuilder} table - Knex table builder
230
- * @param {string} [columnName='id'] - Column name (default: 'id')
231
- */
43
+ /** Adds a serial auto-increment primary key column. */
232
44
  autoIncrementColumn(table: Knex.CreateTableBuilder, columnName?: string): void;
233
45
  }
234
46
  //# sourceMappingURL=postgresql-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgresql-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/postgresql-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresql-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/postgresql-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,sDAAsD;AACtD,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,iBAAiB,QAAQ;IAClC,QAAQ,CAAC,YAAY,QAAQ;IAC7B,QAAQ,CAAC,cAAc,QAAQ;IAC/B,QAAQ,CAAC,WAAW,QAAQ;IAC5B,QAAQ,CAAC,uBAAuB,QAAQ;IACxC,QAAQ,CAAC,kBAAkB,QAAQ;IACnC,QAAQ,CAAC,YAAY,EAAG,YAAY,CAAU;gBAElC,MAAM,EAAE,cAAc;IAIlC,UAAU,IAAI,MAAM;IAIpB,6EAA6E;IACvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyCjC,4EAA4E;IACtE,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,CAAC,CAAC;IAab,qDAAqD;IAC/C,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC;IAuBlB,4EAA4E;IAC5E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG;IAQnD,uDAAuD;IACvD,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG;IAiBtD,sEAAsE;IACtE,gBAAgB,IAAI,IAAI,CAAC,GAAG;IAI5B,6DAA6D;IAC7D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG;IAI5C,sEAAsE;IACtE,WAAW,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG;IAI9C,oDAAoD;IACpD,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG;IAMrD,4DAA4D;IAC5D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,IAAI,CAAC,GAAG;IAI5D,2DAA2D;IACrD,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/C,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,CAAA;KAAE,GACnF,OAAO,CAAC,CAAC,CAAC;IAIb,gDAAgD;IAC1C,SAAS,CAAC,CAAC,EACf,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC;IAIb,uDAAuD;IACjD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAetD,uDAAuD;IACvD,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAE,MAAa,GAAG,IAAI;CAIrF"}
@@ -1,72 +1,20 @@
1
1
  import { BaseAdapter } from './base-adapter.js';
2
- /**
3
- * PostgreSQL adapter implementation with authentication support.
4
- *
5
- * This adapter provides PostgreSQL-specific implementations for database operations,
6
- * integrating with the authentication layer for secure connections via SSH tunnels,
7
- * direct connections, or cloud IAM (AWS RDS, GCP Cloud SQL).
8
- *
9
- * **PostgreSQL-Specific Features:**
10
- * - RETURNING clause for insert/update/delete
11
- * - ON CONFLICT ... DO UPDATE for upserts
12
- * - jsonb_extract_path() and jsonb_build_object() for JSON operations
13
- * - string_agg() for string aggregation
14
- * - EXTRACT(EPOCH FROM ...) for Unix timestamp conversions
15
- * - SERIAL/BIGSERIAL for auto-increment columns
16
- * - Full transaction support with savepoints
17
- * - Common Table Expressions (CTEs) and window functions
18
- *
19
- * **Supported PostgreSQL Versions:**
20
- * - PostgreSQL 16+ (full feature support)
21
- * - PostgreSQL 12-15 (full feature support)
22
- * - PostgreSQL 9.5+ (basic feature support)
23
- *
24
- * **Authentication Methods:**
25
- * - Direct: Standard username/password authentication
26
- * - SSH Tunnel: Connect via SSH bastion host
27
- * - AWS RDS IAM: Token-based authentication for AWS RDS
28
- * - GCP Cloud SQL IAM: Token-based authentication for Cloud SQL
29
- *
30
- * @extends BaseAdapter
31
- */
2
+ /** PostgreSQL adapter with authentication support. */
32
3
  export class PostgreSQLAdapter extends BaseAdapter {
33
- // Feature detection
34
- supportsReturning = true; // RETURNING clause support
35
- supportsJSON = true; // Native JSON/JSONB support
36
- supportsUpsert = true; // ON CONFLICT support (9.5+)
37
- supportsCTE = true; // WITH clause support
38
- supportsWindowFunctions = true; // Window functions support
39
- supportsSavepoints = true; // Full savepoint support
4
+ supportsReturning = true;
5
+ supportsJSON = true;
6
+ supportsUpsert = true;
7
+ supportsCTE = true;
8
+ supportsWindowFunctions = true;
9
+ supportsSavepoints = true;
40
10
  databaseName = 'postgresql';
41
11
  constructor(config) {
42
12
  super(config);
43
13
  }
44
- /**
45
- * Returns the Knex dialect for PostgreSQL.
46
- *
47
- * Uses 'pg' driver which supports:
48
- * - Prepared statements
49
- * - Promise-based API
50
- * - Connection pooling
51
- * - Full Unicode support
52
- *
53
- * @returns {string} 'pg' dialect identifier
54
- */
55
14
  getDialect() {
56
15
  return 'pg';
57
16
  }
58
- /**
59
- * Initializes PostgreSQL-specific session settings.
60
- *
61
- * **Configuration Applied:**
62
- * - Timezone: UTC for consistent timestamp handling
63
- * - Statement timeout: 30 seconds (prevents long-running queries)
64
- * - Client encoding: UTF8 for full Unicode support
65
- * - Default transaction isolation: READ COMMITTED
66
- *
67
- * @returns {Promise<void>}
68
- * @throws {Error} If database does not exist or cannot be accessed
69
- */
17
+ /** Initializes PostgreSQL-specific session settings (UTC, timeout, UTF8). */
70
18
  async initialize() {
71
19
  const knex = this.getKnex();
72
20
  // Validate database exists
@@ -98,21 +46,7 @@ export class PostgreSQLAdapter extends BaseAdapter {
98
46
  // Ensure UTF8 encoding
99
47
  await knex.raw("SET client_encoding = 'UTF8'");
100
48
  }
101
- // ============================================================================
102
- // Query Adaptations - PostgreSQL-specific implementations
103
- // ============================================================================
104
- /**
105
- * Inserts a row and returns the inserted record using RETURNING clause.
106
- *
107
- * PostgreSQL supports RETURNING clause natively, making this more efficient
108
- * than MySQL's approach (insert + select).
109
- *
110
- * @template T - Record type
111
- * @param {string} table - Table name
112
- * @param {Partial<T>} data - Data to insert
113
- * @returns {Promise<T>} Inserted record
114
- * @throws {Error} If insert fails
115
- */
49
+ /** Inserts a row and returns the inserted record using RETURNING clause. */
116
50
  async insertReturning(table, data) {
117
51
  const knex = this.getKnex();
118
52
  // Use RETURNING * to get the complete inserted row
@@ -122,22 +56,7 @@ export class PostgreSQLAdapter extends BaseAdapter {
122
56
  }
123
57
  return result;
124
58
  }
125
- /**
126
- * Upserts a row using PostgreSQL's ON CONFLICT ... DO UPDATE syntax.
127
- *
128
- * **Behavior:**
129
- * - If row with conflicting key exists: UPDATE specified columns
130
- * - If no conflict: INSERT new row
131
- * - Returns number of affected rows
132
- *
133
- * @template T - Record type
134
- * @param {string} table - Table name
135
- * @param {Partial<T>} data - Data to insert/update
136
- * @param {string[]} conflictColumns - Columns that define uniqueness (must have UNIQUE index)
137
- * @param {string[]} [updateColumns] - Columns to update on conflict (default: all except conflict columns)
138
- * @returns {Promise<number>} Affected rows (1 = insert or update)
139
- * @throws {Error} If conflictColumns don't have UNIQUE constraint
140
- */
59
+ /** Upserts a row using ON CONFLICT ... DO UPDATE. */
141
60
  async upsert(table, data, conflictColumns, updateColumns) {
142
61
  const knex = this.getKnex();
143
62
  // Determine which columns to update on conflict
@@ -154,17 +73,7 @@ export class PostgreSQLAdapter extends BaseAdapter {
154
73
  .merge(updateData);
155
74
  return result.length;
156
75
  }
157
- /**
158
- * Extracts a value from a JSONB column using jsonb_extract_path_text().
159
- *
160
- * **PostgreSQL JSON Path Syntax:**
161
- * - Nested objects: 'address', 'city' (separate arguments)
162
- * - Array access: Use jsonb_array_element() separately
163
- *
164
- * @param {string} column - JSONB column name
165
- * @param {string} path - JSON path (e.g., 'address.city')
166
- * @returns {Knex.Raw} Raw SQL expression for JSON extraction
167
- */
76
+ /** Extracts a value from a JSONB column using jsonb_extract_path_text(). */
168
77
  jsonExtract(column, path) {
169
78
  const knex = this.getKnex();
170
79
  // Split path by '.' and use as separate arguments
@@ -172,12 +81,7 @@ export class PostgreSQLAdapter extends BaseAdapter {
172
81
  const placeholders = ['??', ...pathParts.map(() => '?')].join(', ');
173
82
  return knex.raw(`jsonb_extract_path_text(${placeholders})`, [column, ...pathParts]);
174
83
  }
175
- /**
176
- * Builds a JSON object from field values using jsonb_build_object().
177
- *
178
- * @param {Record<string, any>} fields - Object with key-value pairs
179
- * @returns {Knex.Raw} Raw SQL expression for JSON object construction
180
- */
84
+ /** Builds a JSON object using jsonb_build_object(). */
181
85
  jsonBuildObject(fields) {
182
86
  const knex = this.getKnex();
183
87
  const keys = Object.keys(fields);
@@ -192,150 +96,47 @@ export class PostgreSQLAdapter extends BaseAdapter {
192
96
  const placeholders = args.map(() => '?').join(', ');
193
97
  return knex.raw(`jsonb_build_object(${placeholders})`, args);
194
98
  }
195
- /**
196
- * Returns current Unix timestamp using EXTRACT(EPOCH FROM NOW()).
197
- *
198
- * **Behavior:**
199
- * - Returns seconds since Unix epoch (1970-01-01 00:00:00 UTC)
200
- * - Always returns UTC timestamp
201
- * - Returns numeric value (may have fractional seconds)
202
- *
203
- * @returns {Knex.Raw} Raw SQL expression for current timestamp
204
- */
99
+ /** Returns current Unix timestamp using EXTRACT(EPOCH FROM NOW()). */
205
100
  currentTimestamp() {
206
101
  return this.getKnex().raw('EXTRACT(EPOCH FROM NOW())::INTEGER');
207
102
  }
208
- /**
209
- * Converts Unix epoch timestamp to PostgreSQL timestamp using TO_TIMESTAMP().
210
- *
211
- * **Behavior:**
212
- * - Converts integer epoch to TIMESTAMP WITH TIME ZONE
213
- * - Returns UTC timestamp
214
- * - Handles NULL values
215
- *
216
- * @param {string} epochColumn - Column containing Unix epoch timestamp
217
- * @returns {Knex.Raw} Raw SQL expression for epoch conversion
218
- */
103
+ /** Converts Unix epoch to timestamp using TO_TIMESTAMP(). */
219
104
  fromUnixEpoch(epochColumn) {
220
105
  return this.getKnex().raw('TO_TIMESTAMP(??)', [epochColumn]);
221
106
  }
222
- /**
223
- * Converts PostgreSQL timestamp to Unix epoch using EXTRACT(EPOCH FROM ...).
224
- *
225
- * **Behavior:**
226
- * - Converts TIMESTAMP to integer epoch
227
- * - Assumes input is UTC
228
- * - Handles NULL values
229
- *
230
- * @param {string} timestampColumn - Column containing timestamp value
231
- * @returns {Knex.Raw} Raw SQL expression for timestamp conversion
232
- */
107
+ /** Converts timestamp to Unix epoch using EXTRACT(EPOCH FROM ...). */
233
108
  toUnixEpoch(timestampColumn) {
234
109
  return this.getKnex().raw('EXTRACT(EPOCH FROM ??)::INTEGER', [timestampColumn]);
235
110
  }
236
- /**
237
- * Concatenates string values using || operator.
238
- *
239
- * **Behavior:**
240
- * - PostgreSQL uses || for concatenation
241
- * - Returns NULL if any argument is NULL (use COALESCE to handle)
242
- * - Empty strings are preserved
243
- *
244
- * @param {...(string | Knex.Raw)[]} values - Values to concatenate
245
- * @returns {Knex.Raw} Raw SQL expression for concatenation
246
- */
111
+ /** Concatenates string values using || operator. */
247
112
  concat(...values) {
248
113
  const knex = this.getKnex();
249
114
  const placeholders = values.map(() => '?').join(' || ');
250
115
  return knex.raw(`(${placeholders})`, values);
251
116
  }
252
- /**
253
- * Aggregates strings with separator using string_agg().
254
- *
255
- * **Behavior:**
256
- * - Concatenates values from multiple rows into single string
257
- * - NULL values are skipped
258
- * - No result length limit (unlike MySQL's GROUP_CONCAT)
259
- *
260
- * @param {string} column - Column to aggregate
261
- * @param {string} [separator=','] - Separator between values
262
- * @returns {Knex.Raw} Raw SQL expression for string aggregation
263
- */
117
+ /** Aggregates strings with separator using string_agg(). */
264
118
  stringAgg(column, separator = ',') {
265
119
  return this.getKnex().raw('string_agg(??, ?)', [column, separator]);
266
120
  }
267
- // ============================================================================
268
- // Transaction Support
269
- // ============================================================================
270
- /**
271
- * Executes a callback within a database transaction.
272
- *
273
- * **PostgreSQL Transaction Characteristics:**
274
- * - Default isolation level: READ COMMITTED
275
- * - Supports nested transactions via savepoints
276
- * - Automatic rollback on error
277
- * - MVCC (Multi-Version Concurrency Control)
278
- *
279
- * @template T - Return type
280
- * @param {Function} callback - Transaction callback
281
- * @param {Object} [options] - Transaction options
282
- * @param {string} [options.isolationLevel] - Isolation level
283
- * @returns {Promise<T>} Transaction result
284
- */
121
+ /** Executes a callback within a PostgreSQL transaction. */
285
122
  async transaction(callback, options) {
286
- // Delegate to BaseAdapter's implementation
287
123
  return super.transaction(callback, options);
288
124
  }
289
- /**
290
- * Creates a savepoint within a transaction.
291
- *
292
- * **PostgreSQL Savepoint Behavior:**
293
- * - Allows partial rollback within transaction
294
- * - Savepoint names are case-sensitive
295
- * - Automatically released on transaction commit
296
- * - Rolled back on transaction rollback
297
- *
298
- * @template T - Return type
299
- * @param {Knex.Transaction} trx - Parent transaction
300
- * @param {Function} callback - Savepoint callback
301
- * @returns {Promise<T>} Savepoint result
302
- */
125
+ /** Creates a savepoint within a transaction. */
303
126
  async savepoint(trx, callback) {
304
127
  return trx.savepoint(callback);
305
128
  }
306
- // ============================================================================
307
- // Schema Management
308
- // ============================================================================
309
- /**
310
- * Checks if a table exists in the database.
311
- *
312
- * Queries information_schema.tables which is the standard PostgreSQL approach
313
- * for table existence checking.
314
- *
315
- * @param {string} tableName - Table name to check
316
- * @returns {Promise<boolean>} True if table exists, false otherwise
317
- */
129
+ /** Checks if a table exists via information_schema. */
318
130
  async tableExists(tableName) {
319
131
  const knex = this.getKnex();
320
132
  const database = this.config.connection.database;
321
- const result = await knex.raw(`SELECT table_name
322
- FROM information_schema.tables
323
- WHERE table_catalog = ?
133
+ const result = await knex.raw(`SELECT table_name
134
+ FROM information_schema.tables
135
+ WHERE table_catalog = ?
324
136
  AND table_name = ?`, [database, tableName]);
325
137
  return result.rows.length > 0;
326
138
  }
327
- /**
328
- * Adds a serial auto-increment primary key column to a table.
329
- *
330
- * **PostgreSQL SERIAL Behavior:**
331
- * - SERIAL = INTEGER with auto-increment (sequence)
332
- * - BIGSERIAL = BIGINT with auto-increment (recommended for large tables)
333
- * - Automatically creates a sequence (tablename_columnname_seq)
334
- * - Primary key constraint added automatically
335
- *
336
- * @param {Knex.CreateTableBuilder} table - Knex table builder
337
- * @param {string} [columnName='id'] - Column name (default: 'id')
338
- */
139
+ /** Adds a serial auto-increment primary key column. */
339
140
  autoIncrementColumn(table, columnName = 'id') {
340
141
  // Use increments() which creates SERIAL PRIMARY KEY for PostgreSQL
341
142
  table.increments(columnName);
@@ -1 +1 @@
1
- {"version":3,"file":"postgresql-adapter.js","sourceRoot":"","sources":["../../src/adapters/postgresql-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresql-adapter.js","sourceRoot":"","sources":["../../src/adapters/postgresql-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,7 @@
1
1
  import type { Knex } from 'knex';
2
2
  import { BaseAdapter } from './base-adapter.js';
3
3
  import type { DatabaseConfig } from '../config/types.js';
4
- /**
5
- * SQLite adapter implementation with BaseAdapter integration.
6
- *
7
- * SQLite is a file-based database that doesn't require authentication,
8
- * so this adapter overrides the connect() method to bypass the auth flow.
9
- *
10
- * @extends BaseAdapter
11
- */
4
+ /** SQLite adapter (file-based, no authentication required). */
12
5
  export declare class SQLiteAdapter extends BaseAdapter {
13
6
  readonly supportsReturning = false;
14
7
  readonly supportsJSON = false;
@@ -17,30 +10,13 @@ export declare class SQLiteAdapter extends BaseAdapter {
17
10
  readonly supportsWindowFunctions = true;
18
11
  readonly supportsSavepoints = true;
19
12
  readonly databaseName: "sqlite";
20
- /**
21
- * Creates a new SQLite adapter instance.
22
- *
23
- * @param config - Database configuration (auth is ignored for SQLite)
24
- */
25
13
  constructor(config: DatabaseConfig);
26
- /**
27
- * Returns the Knex dialect for SQLite.
28
- */
29
14
  getDialect(): string;
30
- /**
31
- * Initializes SQLite-specific settings (PRAGMA configuration).
32
- */
15
+ /** Initializes SQLite-specific settings (PRAGMA configuration). */
33
16
  initialize(): Promise<void>;
34
- /**
35
- * Establishes SQLite connection (overrides BaseAdapter to bypass auth).
36
- *
37
- * SQLite doesn't require authentication, so we create the Knex instance
38
- * directly without going through the authentication provider flow.
39
- */
17
+ /** Establishes SQLite connection (bypasses auth flow). */
40
18
  connect(config?: Knex.Config): Promise<Knex>;
41
- /**
42
- * Closes SQLite connection.
43
- */
19
+ /** Closes SQLite connection with WAL checkpoint. */
44
20
  disconnect(): Promise<void>;
45
21
  insertReturning<T extends Record<string, any>>(table: string, data: Partial<T>): Promise<T>;
46
22
  upsert<T extends Record<string, any>>(table: string, data: Partial<T>, conflictColumns: string[], updateColumns?: string[]): Promise<number>;