sqlew 3.7.3 → 3.8.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 (786) hide show
  1. package/CHANGELOG.md +427 -1
  2. package/README.md +71 -2
  3. package/assets/kanban-visualizer.png +0 -0
  4. package/assets/sample-agents/sqlew-scrum-master.md +4 -4
  5. package/dist/adapters/postgresql-adapter.d.ts +197 -5
  6. package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
  7. package/dist/adapters/postgresql-adapter.js +300 -36
  8. package/dist/adapters/postgresql-adapter.js.map +1 -1
  9. package/dist/cli/db-export.d.ts +29 -0
  10. package/dist/cli/db-export.d.ts.map +1 -0
  11. package/dist/cli/db-export.js +251 -0
  12. package/dist/cli/db-export.js.map +1 -0
  13. package/dist/cli/db-import.d.ts +31 -0
  14. package/dist/cli/db-import.d.ts.map +1 -0
  15. package/dist/cli/db-import.js +258 -0
  16. package/dist/cli/db-import.js.map +1 -0
  17. package/dist/cli.d.ts +1 -1
  18. package/dist/cli.js +32 -73
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts.map +1 -1
  21. package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js +158 -45
  22. package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js.map +1 -1
  23. package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts.map +1 -1
  24. package/dist/config/knex/bootstrap/20251025070349_create_views.js +60 -8
  25. package/dist/config/knex/bootstrap/20251025070349_create_views.js.map +1 -1
  26. package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js +1 -1
  27. package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js +5 -5
  28. package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts.map +1 -1
  29. package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js +9 -1
  30. package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js.map +1 -1
  31. package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts.map +1 -1
  32. package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js +8 -1
  33. package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js.map +1 -1
  34. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts +21 -0
  35. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts.map +1 -0
  36. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js +73 -0
  37. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js.map +1 -0
  38. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +19 -0
  39. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +1 -0
  40. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +88 -0
  41. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +1 -0
  42. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +24 -0
  43. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +1 -0
  44. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js +79 -0
  45. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +1 -0
  46. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts +27 -0
  47. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts.map +1 -0
  48. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js +347 -0
  49. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js.map +1 -0
  50. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +30 -0
  51. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +1 -0
  52. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js +232 -0
  53. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js.map +1 -0
  54. package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts.map +1 -1
  55. package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js +9 -0
  56. package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js.map +1 -1
  57. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +14 -0
  58. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +1 -0
  59. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js +97 -0
  60. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +1 -0
  61. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +24 -0
  62. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +1 -0
  63. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js +303 -0
  64. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +1 -0
  65. package/dist/constants.d.ts +14 -2
  66. package/dist/constants.d.ts.map +1 -1
  67. package/dist/constants.js +28 -1
  68. package/dist/constants.js.map +1 -1
  69. package/dist/database/config/adapter-factory.d.ts +13 -0
  70. package/dist/database/config/adapter-factory.d.ts.map +1 -0
  71. package/dist/database/config/adapter-factory.js +21 -0
  72. package/dist/database/config/adapter-factory.js.map +1 -0
  73. package/dist/database/config/config-ops.d.ts +34 -0
  74. package/dist/database/config/config-ops.d.ts.map +1 -0
  75. package/dist/database/config/config-ops.js +76 -0
  76. package/dist/database/config/config-ops.js.map +1 -0
  77. package/dist/database/index.d.ts +21 -0
  78. package/dist/database/index.d.ts.map +1 -0
  79. package/dist/database/index.js +31 -0
  80. package/dist/database/index.js.map +1 -0
  81. package/dist/database/initialization/cleanup.d.ts +8 -0
  82. package/dist/database/initialization/cleanup.d.ts.map +1 -0
  83. package/dist/database/initialization/cleanup.js +17 -0
  84. package/dist/database/initialization/cleanup.js.map +1 -0
  85. package/dist/database/initialization/init.d.ts +21 -0
  86. package/dist/database/initialization/init.d.ts.map +1 -0
  87. package/dist/database/initialization/init.js +83 -0
  88. package/dist/database/initialization/init.js.map +1 -0
  89. package/dist/database/operations/deletes.d.ts +10 -0
  90. package/dist/database/operations/deletes.d.ts.map +1 -0
  91. package/dist/database/operations/deletes.js +14 -0
  92. package/dist/database/operations/deletes.js.map +1 -0
  93. package/dist/database/operations/inserts.d.ts +40 -0
  94. package/dist/database/operations/inserts.d.ts.map +1 -0
  95. package/dist/database/operations/inserts.js +202 -0
  96. package/dist/database/operations/inserts.js.map +1 -0
  97. package/dist/database/operations/queries.d.ts +57 -0
  98. package/dist/database/operations/queries.d.ts.map +1 -0
  99. package/dist/database/operations/queries.js +77 -0
  100. package/dist/database/operations/queries.js.map +1 -0
  101. package/dist/database/operations/updates.d.ts +10 -0
  102. package/dist/database/operations/updates.d.ts.map +1 -0
  103. package/dist/database/operations/updates.js +14 -0
  104. package/dist/database/operations/updates.js.map +1 -0
  105. package/dist/database/types.d.ts +5 -0
  106. package/dist/database/types.d.ts.map +1 -0
  107. package/dist/database/types.js +5 -0
  108. package/dist/database/types.js.map +1 -0
  109. package/dist/database.d.ts +4 -144
  110. package/dist/database.d.ts.map +1 -1
  111. package/dist/database.js +5 -461
  112. package/dist/database.js.map +1 -1
  113. package/dist/index.js +29 -777
  114. package/dist/index.js.map +1 -1
  115. package/dist/server/arg-parser.d.ts +40 -0
  116. package/dist/server/arg-parser.d.ts.map +1 -0
  117. package/dist/server/arg-parser.js +137 -0
  118. package/dist/server/arg-parser.js.map +1 -0
  119. package/dist/server/setup.d.ts +31 -0
  120. package/dist/server/setup.d.ts.map +1 -0
  121. package/dist/server/setup.js +186 -0
  122. package/dist/server/setup.js.map +1 -0
  123. package/dist/server/shutdown.d.ts +15 -0
  124. package/dist/server/shutdown.d.ts.map +1 -0
  125. package/dist/server/shutdown.js +42 -0
  126. package/dist/server/shutdown.js.map +1 -0
  127. package/dist/server/tool-handlers.d.ts +10 -0
  128. package/dist/server/tool-handlers.d.ts.map +1 -0
  129. package/dist/server/tool-handlers.js +478 -0
  130. package/dist/server/tool-handlers.js.map +1 -0
  131. package/dist/server/tool-registry.d.ts +11 -0
  132. package/dist/server/tool-registry.d.ts.map +1 -0
  133. package/dist/server/tool-registry.js +225 -0
  134. package/dist/server/tool-registry.js.map +1 -0
  135. package/dist/tests/all-features.test.js +6 -38
  136. package/dist/tests/all-features.test.js.map +1 -1
  137. package/dist/tests/batch-validation-comprehensive.test.d.ts +12 -0
  138. package/dist/tests/batch-validation-comprehensive.test.d.ts.map +1 -0
  139. package/dist/tests/batch-validation-comprehensive.test.js +472 -0
  140. package/dist/tests/batch-validation-comprehensive.test.js.map +1 -0
  141. package/dist/tests/batch-validation-integration.test.d.ts +6 -0
  142. package/dist/tests/batch-validation-integration.test.d.ts.map +1 -0
  143. package/dist/tests/batch-validation-integration.test.js +193 -0
  144. package/dist/tests/batch-validation-integration.test.js.map +1 -0
  145. package/dist/tests/batch-validation.test.d.ts +6 -0
  146. package/dist/tests/batch-validation.test.d.ts.map +1 -0
  147. package/dist/tests/batch-validation.test.js +298 -0
  148. package/dist/tests/batch-validation.test.js.map +1 -0
  149. package/dist/tests/context-modular.test.d.ts +7 -0
  150. package/dist/tests/context-modular.test.d.ts.map +1 -0
  151. package/dist/tests/context-modular.test.js +271 -0
  152. package/dist/tests/context-modular.test.js.map +1 -0
  153. package/dist/tests/decision-batch-validation.test.d.ts +6 -0
  154. package/dist/tests/decision-batch-validation.test.d.ts.map +1 -0
  155. package/dist/tests/decision-batch-validation.test.js +253 -0
  156. package/dist/tests/decision-batch-validation.test.js.map +1 -0
  157. package/dist/tests/help-system.test.js +1 -1
  158. package/dist/tests/help-system.test.js.map +1 -1
  159. package/dist/tests/migrations/test-all-versions-real.js +3 -2
  160. package/dist/tests/migrations/test-all-versions-real.js.map +1 -1
  161. package/dist/tests/multi-project.test.js +2 -2
  162. package/dist/tests/multi-project.test.js.map +1 -1
  163. package/dist/tests/parameter-validation.test.js +2 -16
  164. package/dist/tests/parameter-validation.test.js.map +1 -1
  165. package/dist/tests/tasks.auto-pruning-decision-link.test.js +1 -1
  166. package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -1
  167. package/dist/tests/tasks.file-actions-integration.test.d.ts +10 -0
  168. package/dist/tests/tasks.file-actions-integration.test.d.ts.map +1 -0
  169. package/dist/tests/tasks.file-actions-integration.test.js +162 -0
  170. package/dist/tests/tasks.file-actions-integration.test.js.map +1 -0
  171. package/dist/tests/tasks.file-actions-validation.test.d.ts +6 -0
  172. package/dist/tests/tasks.file-actions-validation.test.d.ts.map +1 -0
  173. package/dist/tests/tasks.file-actions-validation.test.js +221 -0
  174. package/dist/tests/tasks.file-actions-validation.test.js.map +1 -0
  175. package/dist/tools/constraints/actions/add.d.ts +15 -0
  176. package/dist/tools/constraints/actions/add.d.ts.map +1 -0
  177. package/dist/tools/constraints/actions/add.js +101 -0
  178. package/dist/tools/constraints/actions/add.js.map +1 -0
  179. package/dist/tools/constraints/actions/deactivate.d.ts +16 -0
  180. package/dist/tools/constraints/actions/deactivate.d.ts.map +1 -0
  181. package/dist/tools/constraints/actions/deactivate.js +49 -0
  182. package/dist/tools/constraints/actions/deactivate.js.map +1 -0
  183. package/dist/tools/constraints/actions/get.d.ts +16 -0
  184. package/dist/tools/constraints/actions/get.d.ts.map +1 -0
  185. package/dist/tools/constraints/actions/get.js +76 -0
  186. package/dist/tools/constraints/actions/get.js.map +1 -0
  187. package/dist/tools/constraints/help/example.d.ts +9 -0
  188. package/dist/tools/constraints/help/example.d.ts.map +1 -0
  189. package/dist/tools/constraints/help/example.js +144 -0
  190. package/dist/tools/constraints/help/example.js.map +1 -0
  191. package/dist/tools/constraints/help/help.d.ts +9 -0
  192. package/dist/tools/constraints/help/help.d.ts.map +1 -0
  193. package/dist/tools/constraints/help/help.js +31 -0
  194. package/dist/tools/constraints/help/help.js.map +1 -0
  195. package/dist/tools/constraints/index.d.ts +12 -0
  196. package/dist/tools/constraints/index.d.ts.map +1 -0
  197. package/dist/tools/constraints/index.js +13 -0
  198. package/dist/tools/constraints/index.js.map +1 -0
  199. package/dist/tools/constraints/internal/validation.d.ts +11 -0
  200. package/dist/tools/constraints/internal/validation.d.ts.map +1 -0
  201. package/dist/tools/constraints/internal/validation.js +17 -0
  202. package/dist/tools/constraints/internal/validation.js.map +1 -0
  203. package/dist/tools/constraints/types.d.ts +6 -0
  204. package/dist/tools/constraints/types.d.ts.map +1 -0
  205. package/dist/tools/constraints/types.js +6 -0
  206. package/dist/tools/constraints/types.js.map +1 -0
  207. package/dist/tools/context/actions/add-context.d.ts +14 -0
  208. package/dist/tools/context/actions/add-context.d.ts.map +1 -0
  209. package/dist/tools/context/actions/add-context.js +62 -0
  210. package/dist/tools/context/actions/add-context.js.map +1 -0
  211. package/dist/tools/context/actions/batch-set.d.ts +16 -0
  212. package/dist/tools/context/actions/batch-set.d.ts.map +1 -0
  213. package/dist/tools/context/actions/batch-set.js +126 -0
  214. package/dist/tools/context/actions/batch-set.js.map +1 -0
  215. package/dist/tools/context/actions/create-template.d.ts +15 -0
  216. package/dist/tools/context/actions/create-template.d.ts.map +1 -0
  217. package/dist/tools/context/actions/create-template.js +68 -0
  218. package/dist/tools/context/actions/create-template.js.map +1 -0
  219. package/dist/tools/context/actions/get.d.ts +18 -0
  220. package/dist/tools/context/actions/get.d.ts.map +1 -0
  221. package/dist/tools/context/actions/get.js +80 -0
  222. package/dist/tools/context/actions/get.js.map +1 -0
  223. package/dist/tools/context/actions/hard-delete.d.ts +18 -0
  224. package/dist/tools/context/actions/hard-delete.d.ts.map +1 -0
  225. package/dist/tools/context/actions/hard-delete.js +85 -0
  226. package/dist/tools/context/actions/hard-delete.js.map +1 -0
  227. package/dist/tools/context/actions/has-updates.d.ts +16 -0
  228. package/dist/tools/context/actions/has-updates.d.ts.map +1 -0
  229. package/dist/tools/context/actions/has-updates.js +83 -0
  230. package/dist/tools/context/actions/has-updates.js.map +1 -0
  231. package/dist/tools/context/actions/list-contexts.d.ts +14 -0
  232. package/dist/tools/context/actions/list-contexts.d.ts.map +1 -0
  233. package/dist/tools/context/actions/list-contexts.js +43 -0
  234. package/dist/tools/context/actions/list-contexts.js.map +1 -0
  235. package/dist/tools/context/actions/list-templates.d.ts +15 -0
  236. package/dist/tools/context/actions/list-templates.d.ts.map +1 -0
  237. package/dist/tools/context/actions/list-templates.js +47 -0
  238. package/dist/tools/context/actions/list-templates.js.map +1 -0
  239. package/dist/tools/context/actions/list.d.ts +16 -0
  240. package/dist/tools/context/actions/list.d.ts.map +1 -0
  241. package/dist/tools/context/actions/list.js +100 -0
  242. package/dist/tools/context/actions/list.js.map +1 -0
  243. package/dist/tools/context/actions/quick-set.d.ts +21 -0
  244. package/dist/tools/context/actions/quick-set.d.ts.map +1 -0
  245. package/dist/tools/context/actions/quick-set.js +104 -0
  246. package/dist/tools/context/actions/quick-set.js.map +1 -0
  247. package/dist/tools/context/actions/search-advanced.d.ts +15 -0
  248. package/dist/tools/context/actions/search-advanced.d.ts.map +1 -0
  249. package/dist/tools/context/actions/search-advanced.js +140 -0
  250. package/dist/tools/context/actions/search-advanced.js.map +1 -0
  251. package/dist/tools/context/actions/search-layer.d.ts +15 -0
  252. package/dist/tools/context/actions/search-layer.d.ts.map +1 -0
  253. package/dist/tools/context/actions/search-layer.js +106 -0
  254. package/dist/tools/context/actions/search-layer.js.map +1 -0
  255. package/dist/tools/context/actions/search-tags.d.ts +15 -0
  256. package/dist/tools/context/actions/search-tags.d.ts.map +1 -0
  257. package/dist/tools/context/actions/search-tags.js +85 -0
  258. package/dist/tools/context/actions/search-tags.js.map +1 -0
  259. package/dist/tools/context/actions/set-from-template.d.ts +16 -0
  260. package/dist/tools/context/actions/set-from-template.d.ts.map +1 -0
  261. package/dist/tools/context/actions/set-from-template.js +83 -0
  262. package/dist/tools/context/actions/set-from-template.js.map +1 -0
  263. package/dist/tools/context/actions/set.d.ts +16 -0
  264. package/dist/tools/context/actions/set.d.ts.map +1 -0
  265. package/dist/tools/context/actions/set.js +56 -0
  266. package/dist/tools/context/actions/set.js.map +1 -0
  267. package/dist/tools/context/actions/versions.d.ts +15 -0
  268. package/dist/tools/context/actions/versions.d.ts.map +1 -0
  269. package/dist/tools/context/actions/versions.js +69 -0
  270. package/dist/tools/context/actions/versions.js.map +1 -0
  271. package/dist/tools/context/help/example.d.ts +5 -0
  272. package/dist/tools/context/help/example.d.ts.map +1 -0
  273. package/dist/tools/context/help/example.js +96 -0
  274. package/dist/tools/context/help/example.js.map +1 -0
  275. package/dist/tools/context/help/help.d.ts +5 -0
  276. package/dist/tools/context/help/help.d.ts.map +1 -0
  277. package/dist/tools/context/help/help.js +65 -0
  278. package/dist/tools/context/help/help.js.map +1 -0
  279. package/dist/tools/context/index.d.ts +25 -0
  280. package/dist/tools/context/index.d.ts.map +1 -0
  281. package/dist/tools/context/index.js +26 -0
  282. package/dist/tools/context/index.js.map +1 -0
  283. package/dist/tools/context/internal/queries.d.ts +18 -0
  284. package/dist/tools/context/internal/queries.d.ts.map +1 -0
  285. package/dist/tools/context/internal/queries.js +160 -0
  286. package/dist/tools/context/internal/queries.js.map +1 -0
  287. package/dist/tools/context/internal/validation.d.ts +39 -0
  288. package/dist/tools/context/internal/validation.d.ts.map +1 -0
  289. package/dist/tools/context/internal/validation.js +125 -0
  290. package/dist/tools/context/internal/validation.js.map +1 -0
  291. package/dist/tools/context/types.d.ts +6 -0
  292. package/dist/tools/context/types.d.ts.map +1 -0
  293. package/dist/tools/context/types.js +6 -0
  294. package/dist/tools/context/types.js.map +1 -0
  295. package/dist/tools/example/actions/get.d.ts +14 -0
  296. package/dist/tools/example/actions/get.d.ts.map +1 -0
  297. package/dist/tools/example/actions/get.js +40 -0
  298. package/dist/tools/example/actions/get.js.map +1 -0
  299. package/dist/tools/example/actions/list-all.d.ts +13 -0
  300. package/dist/tools/example/actions/list-all.d.ts.map +1 -0
  301. package/dist/tools/example/actions/list-all.js +39 -0
  302. package/dist/tools/example/actions/list-all.js.map +1 -0
  303. package/dist/tools/example/actions/search.d.ts +14 -0
  304. package/dist/tools/example/actions/search.d.ts.map +1 -0
  305. package/dist/tools/example/actions/search.js +52 -0
  306. package/dist/tools/example/actions/search.js.map +1 -0
  307. package/dist/tools/example/help/example.d.ts +6 -0
  308. package/dist/tools/example/help/example.d.ts.map +1 -0
  309. package/dist/tools/example/help/example.js +69 -0
  310. package/dist/tools/example/help/example.js.map +1 -0
  311. package/dist/tools/example/help/help.d.ts +6 -0
  312. package/dist/tools/example/help/help.d.ts.map +1 -0
  313. package/dist/tools/example/help/help.js +133 -0
  314. package/dist/tools/example/help/help.js.map +1 -0
  315. package/dist/tools/example/index.d.ts +11 -0
  316. package/dist/tools/example/index.d.ts.map +1 -0
  317. package/dist/tools/example/index.js +12 -0
  318. package/dist/tools/example/index.js.map +1 -0
  319. package/dist/tools/example/types.d.ts +59 -0
  320. package/dist/tools/example/types.d.ts.map +1 -0
  321. package/dist/tools/example/types.js +6 -0
  322. package/dist/tools/example/types.js.map +1 -0
  323. package/dist/tools/files/actions/check-lock.d.ts +16 -0
  324. package/dist/tools/files/actions/check-lock.d.ts.map +1 -0
  325. package/dist/tools/files/actions/check-lock.js +70 -0
  326. package/dist/tools/files/actions/check-lock.js.map +1 -0
  327. package/dist/tools/files/actions/get.d.ts +16 -0
  328. package/dist/tools/files/actions/get.d.ts.map +1 -0
  329. package/dist/tools/files/actions/get.js +113 -0
  330. package/dist/tools/files/actions/get.js.map +1 -0
  331. package/dist/tools/files/actions/record-batch.d.ts +18 -0
  332. package/dist/tools/files/actions/record-batch.d.ts.map +1 -0
  333. package/dist/tools/files/actions/record-batch.js +114 -0
  334. package/dist/tools/files/actions/record-batch.js.map +1 -0
  335. package/dist/tools/files/actions/record.d.ts +16 -0
  336. package/dist/tools/files/actions/record.d.ts.map +1 -0
  337. package/dist/tools/files/actions/record.js +37 -0
  338. package/dist/tools/files/actions/record.js.map +1 -0
  339. package/dist/tools/files/actions/sqlite-flush.d.ts +27 -0
  340. package/dist/tools/files/actions/sqlite-flush.d.ts.map +1 -0
  341. package/dist/tools/files/actions/sqlite-flush.js +66 -0
  342. package/dist/tools/files/actions/sqlite-flush.js.map +1 -0
  343. package/dist/tools/files/help/example.d.ts +5 -0
  344. package/dist/tools/files/help/example.d.ts.map +1 -0
  345. package/dist/tools/files/help/example.js +98 -0
  346. package/dist/tools/files/help/example.js.map +1 -0
  347. package/dist/tools/files/help/help.d.ts +5 -0
  348. package/dist/tools/files/help/help.d.ts.map +1 -0
  349. package/dist/tools/files/help/help.js +29 -0
  350. package/dist/tools/files/help/help.js.map +1 -0
  351. package/dist/tools/files/index.d.ts +14 -0
  352. package/dist/tools/files/index.d.ts.map +1 -0
  353. package/dist/tools/files/index.js +15 -0
  354. package/dist/tools/files/index.js.map +1 -0
  355. package/dist/tools/files/internal/queries.d.ts +18 -0
  356. package/dist/tools/files/internal/queries.d.ts.map +1 -0
  357. package/dist/tools/files/internal/queries.js +63 -0
  358. package/dist/tools/files/internal/queries.js.map +1 -0
  359. package/dist/tools/files/internal/validation.d.ts +18 -0
  360. package/dist/tools/files/internal/validation.d.ts.map +1 -0
  361. package/dist/tools/files/internal/validation.js +40 -0
  362. package/dist/tools/files/internal/validation.js.map +1 -0
  363. package/dist/tools/files/types.d.ts +6 -0
  364. package/dist/tools/files/types.d.ts.map +1 -0
  365. package/dist/tools/files/types.js +6 -0
  366. package/dist/tools/files/types.js.map +1 -0
  367. package/dist/tools/help/actions/batch-guide.d.ts +14 -0
  368. package/dist/tools/help/actions/batch-guide.d.ts.map +1 -0
  369. package/dist/tools/help/actions/batch-guide.js +59 -0
  370. package/dist/tools/help/actions/batch-guide.js.map +1 -0
  371. package/dist/tools/help/actions/error-recovery.d.ts +12 -0
  372. package/dist/tools/help/actions/error-recovery.d.ts.map +1 -0
  373. package/dist/tools/help/actions/error-recovery.js +107 -0
  374. package/dist/tools/help/actions/error-recovery.js.map +1 -0
  375. package/dist/tools/help/actions/query-action.d.ts +15 -0
  376. package/dist/tools/help/actions/query-action.d.ts.map +1 -0
  377. package/dist/tools/help/actions/query-action.js +15 -0
  378. package/dist/tools/help/actions/query-action.js.map +1 -0
  379. package/dist/tools/help/actions/query-params.d.ts +15 -0
  380. package/dist/tools/help/actions/query-params.d.ts.map +1 -0
  381. package/dist/tools/help/actions/query-params.js +15 -0
  382. package/dist/tools/help/actions/query-params.js.map +1 -0
  383. package/dist/tools/help/actions/query-tool.d.ts +15 -0
  384. package/dist/tools/help/actions/query-tool.d.ts.map +1 -0
  385. package/dist/tools/help/actions/query-tool.js +15 -0
  386. package/dist/tools/help/actions/query-tool.js.map +1 -0
  387. package/dist/tools/help/actions/workflow-hints.d.ts +14 -0
  388. package/dist/tools/help/actions/workflow-hints.d.ts.map +1 -0
  389. package/dist/tools/help/actions/workflow-hints.js +15 -0
  390. package/dist/tools/help/actions/workflow-hints.js.map +1 -0
  391. package/dist/tools/help/help/example.d.ts +6 -0
  392. package/dist/tools/help/help/example.d.ts.map +1 -0
  393. package/dist/tools/help/help/example.js +70 -0
  394. package/dist/tools/help/help/example.js.map +1 -0
  395. package/dist/tools/help/help/help.d.ts +6 -0
  396. package/dist/tools/help/help/help.d.ts.map +1 -0
  397. package/dist/tools/help/help/help.js +67 -0
  398. package/dist/tools/help/help/help.js.map +1 -0
  399. package/dist/tools/help/index.d.ts +14 -0
  400. package/dist/tools/help/index.d.ts.map +1 -0
  401. package/dist/tools/help/index.js +15 -0
  402. package/dist/tools/help/index.js.map +1 -0
  403. package/dist/tools/help/types.d.ts +92 -0
  404. package/dist/tools/help/types.d.ts.map +1 -0
  405. package/dist/tools/help/types.js +6 -0
  406. package/dist/tools/help/types.js.map +1 -0
  407. package/dist/tools/help-queries.d.ts.map +1 -1
  408. package/dist/tools/help-queries.js +1 -0
  409. package/dist/tools/help-queries.js.map +1 -1
  410. package/dist/tools/tasks/actions/add-dependency.d.ts +12 -0
  411. package/dist/tools/tasks/actions/add-dependency.d.ts.map +1 -0
  412. package/dist/tools/tasks/actions/add-dependency.js +124 -0
  413. package/dist/tools/tasks/actions/add-dependency.js.map +1 -0
  414. package/dist/tools/tasks/actions/archive.d.ts +11 -0
  415. package/dist/tools/tasks/actions/archive.d.ts.map +1 -0
  416. package/dist/tools/tasks/actions/archive.js +67 -0
  417. package/dist/tools/tasks/actions/archive.js.map +1 -0
  418. package/dist/tools/tasks/actions/create-batch.d.ts +19 -0
  419. package/dist/tools/tasks/actions/create-batch.d.ts.map +1 -0
  420. package/dist/tools/tasks/actions/create-batch.js +103 -0
  421. package/dist/tools/tasks/actions/create-batch.js.map +1 -0
  422. package/dist/tools/tasks/actions/create.d.ts +16 -0
  423. package/dist/tools/tasks/actions/create.d.ts.map +1 -0
  424. package/dist/tools/tasks/actions/create.js +180 -0
  425. package/dist/tools/tasks/actions/create.js.map +1 -0
  426. package/dist/tools/tasks/actions/get-dependencies.d.ts +12 -0
  427. package/dist/tools/tasks/actions/get-dependencies.d.ts.map +1 -0
  428. package/dist/tools/tasks/actions/get-dependencies.js +41 -0
  429. package/dist/tools/tasks/actions/get-dependencies.js.map +1 -0
  430. package/dist/tools/tasks/actions/get-pruned-files.d.ts +13 -0
  431. package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +1 -0
  432. package/dist/tools/tasks/actions/get-pruned-files.js +45 -0
  433. package/dist/tools/tasks/actions/get-pruned-files.js.map +1 -0
  434. package/dist/tools/tasks/actions/get.d.ts +12 -0
  435. package/dist/tools/tasks/actions/get.d.ts.map +1 -0
  436. package/dist/tools/tasks/actions/get.js +88 -0
  437. package/dist/tools/tasks/actions/get.js.map +1 -0
  438. package/dist/tools/tasks/actions/link-pruned-file.d.ts +13 -0
  439. package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +1 -0
  440. package/dist/tools/tasks/actions/link-pruned-file.js +63 -0
  441. package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -0
  442. package/dist/tools/tasks/actions/link.d.ts +14 -0
  443. package/dist/tools/tasks/actions/link.d.ts.map +1 -0
  444. package/dist/tools/tasks/actions/link.js +118 -0
  445. package/dist/tools/tasks/actions/link.js.map +1 -0
  446. package/dist/tools/tasks/actions/list.d.ts +17 -0
  447. package/dist/tools/tasks/actions/list.d.ts.map +1 -0
  448. package/dist/tools/tasks/actions/list.js +98 -0
  449. package/dist/tools/tasks/actions/list.js.map +1 -0
  450. package/dist/tools/tasks/actions/move.d.ts +12 -0
  451. package/dist/tools/tasks/actions/move.d.ts.map +1 -0
  452. package/dist/tools/tasks/actions/move.js +91 -0
  453. package/dist/tools/tasks/actions/move.js.map +1 -0
  454. package/dist/tools/tasks/actions/remove-dependency.d.ts +12 -0
  455. package/dist/tools/tasks/actions/remove-dependency.d.ts.map +1 -0
  456. package/dist/tools/tasks/actions/remove-dependency.js +36 -0
  457. package/dist/tools/tasks/actions/remove-dependency.js.map +1 -0
  458. package/dist/tools/tasks/actions/update.d.ts +10 -0
  459. package/dist/tools/tasks/actions/update.d.ts.map +1 -0
  460. package/dist/tools/tasks/actions/update.js +186 -0
  461. package/dist/tools/tasks/actions/update.js.map +1 -0
  462. package/dist/tools/tasks/actions/watch-files.d.ts +14 -0
  463. package/dist/tools/tasks/actions/watch-files.d.ts.map +1 -0
  464. package/dist/tools/tasks/actions/watch-files.js +127 -0
  465. package/dist/tools/tasks/actions/watch-files.js.map +1 -0
  466. package/dist/tools/tasks/help/example.d.ts +8 -0
  467. package/dist/tools/tasks/help/example.d.ts.map +1 -0
  468. package/dist/tools/tasks/help/example.js +215 -0
  469. package/dist/tools/tasks/help/example.js.map +1 -0
  470. package/dist/tools/tasks/help/help.d.ts +8 -0
  471. package/dist/tools/tasks/help/help.d.ts.map +1 -0
  472. package/dist/tools/tasks/help/help.js +293 -0
  473. package/dist/tools/tasks/help/help.js.map +1 -0
  474. package/dist/tools/tasks/help/use-case.d.ts +11 -0
  475. package/dist/tools/tasks/help/use-case.d.ts.map +1 -0
  476. package/dist/tools/tasks/help/use-case.js +768 -0
  477. package/dist/tools/tasks/help/use-case.js.map +1 -0
  478. package/dist/tools/tasks/index.d.ts +28 -0
  479. package/dist/tools/tasks/index.d.ts.map +1 -0
  480. package/dist/tools/tasks/index.js +33 -0
  481. package/dist/tools/tasks/index.js.map +1 -0
  482. package/dist/tools/tasks/internal/state-machine.d.ts +16 -0
  483. package/dist/tools/tasks/internal/state-machine.d.ts.map +1 -0
  484. package/dist/tools/tasks/internal/state-machine.js +36 -0
  485. package/dist/tools/tasks/internal/state-machine.js.map +1 -0
  486. package/dist/tools/tasks/internal/task-queries.d.ts +12 -0
  487. package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -0
  488. package/dist/tools/tasks/internal/task-queries.js +61 -0
  489. package/dist/tools/tasks/internal/task-queries.js.map +1 -0
  490. package/dist/tools/tasks/internal/validation.d.ts +47 -0
  491. package/dist/tools/tasks/internal/validation.d.ts.map +1 -0
  492. package/dist/tools/tasks/internal/validation.js +261 -0
  493. package/dist/tools/tasks/internal/validation.js.map +1 -0
  494. package/dist/tools/tasks/types.d.ts +68 -0
  495. package/dist/tools/tasks/types.d.ts.map +1 -0
  496. package/dist/tools/tasks/types.js +45 -0
  497. package/dist/tools/tasks/types.js.map +1 -0
  498. package/dist/tools/tasks/watcher/status.d.ts +9 -0
  499. package/dist/tools/tasks/watcher/status.d.ts.map +1 -0
  500. package/dist/tools/tasks/watcher/status.js +126 -0
  501. package/dist/tools/tasks/watcher/status.js.map +1 -0
  502. package/dist/tools/tasks.d.ts +12 -148
  503. package/dist/tools/tasks.d.ts.map +1 -1
  504. package/dist/tools/tasks.js +12 -2037
  505. package/dist/tools/tasks.js.map +1 -1
  506. package/dist/tools/use_case/actions/get.d.ts +14 -0
  507. package/dist/tools/use_case/actions/get.d.ts.map +1 -0
  508. package/dist/tools/use_case/actions/get.js +15 -0
  509. package/dist/tools/use_case/actions/get.js.map +1 -0
  510. package/dist/tools/use_case/actions/list-all.d.ts +15 -0
  511. package/dist/tools/use_case/actions/list-all.d.ts.map +1 -0
  512. package/dist/tools/use_case/actions/list-all.js +20 -0
  513. package/dist/tools/use_case/actions/list-all.js.map +1 -0
  514. package/dist/tools/use_case/actions/search.d.ts +14 -0
  515. package/dist/tools/use_case/actions/search.d.ts.map +1 -0
  516. package/dist/tools/use_case/actions/search.js +87 -0
  517. package/dist/tools/use_case/actions/search.js.map +1 -0
  518. package/dist/tools/use_case/help/example.d.ts +105 -0
  519. package/dist/tools/use_case/help/example.d.ts.map +1 -0
  520. package/dist/tools/use_case/help/example.js +138 -0
  521. package/dist/tools/use_case/help/example.js.map +1 -0
  522. package/dist/tools/use_case/help/help.d.ts +33 -0
  523. package/dist/tools/use_case/help/help.d.ts.map +1 -0
  524. package/dist/tools/use_case/help/help.js +109 -0
  525. package/dist/tools/use_case/help/help.js.map +1 -0
  526. package/dist/tools/use_case/index.d.ts +11 -0
  527. package/dist/tools/use_case/index.d.ts.map +1 -0
  528. package/dist/tools/use_case/index.js +12 -0
  529. package/dist/tools/use_case/index.js.map +1 -0
  530. package/dist/tools/use_case/types.d.ts +58 -0
  531. package/dist/tools/use_case/types.d.ts.map +1 -0
  532. package/dist/tools/use_case/types.js +6 -0
  533. package/dist/tools/use_case/types.js.map +1 -0
  534. package/dist/types/actions.d.ts +37 -0
  535. package/dist/types/actions.d.ts.map +1 -0
  536. package/dist/types/actions.js +6 -0
  537. package/dist/types/actions.js.map +1 -0
  538. package/dist/types/constraint/params.d.ts +2 -0
  539. package/dist/types/constraint/params.d.ts.map +1 -0
  540. package/dist/types/constraint/params.js +2 -0
  541. package/dist/types/constraint/params.js.map +1 -0
  542. package/dist/types/constraint/responses.d.ts +2 -0
  543. package/dist/types/constraint/responses.d.ts.map +1 -0
  544. package/dist/types/constraint/responses.js +2 -0
  545. package/dist/types/constraint/responses.js.map +1 -0
  546. package/dist/types/decision/batch.d.ts +24 -0
  547. package/dist/types/decision/batch.d.ts.map +1 -0
  548. package/dist/types/decision/batch.js +5 -0
  549. package/dist/types/decision/batch.js.map +1 -0
  550. package/dist/types/decision/params.d.ts +73 -0
  551. package/dist/types/decision/params.d.ts.map +1 -0
  552. package/dist/types/decision/params.js +5 -0
  553. package/dist/types/decision/params.js.map +1 -0
  554. package/dist/types/decision/responses.d.ts +79 -0
  555. package/dist/types/decision/responses.d.ts.map +1 -0
  556. package/dist/types/decision/responses.js +5 -0
  557. package/dist/types/decision/responses.js.map +1 -0
  558. package/dist/types/decision/templates.d.ts +74 -0
  559. package/dist/types/decision/templates.d.ts.map +1 -0
  560. package/dist/types/decision/templates.js +5 -0
  561. package/dist/types/decision/templates.js.map +1 -0
  562. package/dist/types/enums.d.ts +43 -0
  563. package/dist/types/enums.d.ts.map +1 -0
  564. package/dist/types/enums.js +47 -0
  565. package/dist/types/enums.js.map +1 -0
  566. package/dist/types/file/params.d.ts +40 -0
  567. package/dist/types/file/params.d.ts.map +1 -0
  568. package/dist/types/file/params.js +6 -0
  569. package/dist/types/file/params.js.map +1 -0
  570. package/dist/types/file/responses.d.ts +2 -0
  571. package/dist/types/file/responses.d.ts.map +1 -0
  572. package/dist/types/file/responses.js +2 -0
  573. package/dist/types/file/responses.js.map +1 -0
  574. package/dist/types/import-export.d.ts +126 -0
  575. package/dist/types/import-export.d.ts.map +1 -0
  576. package/dist/types/import-export.js +6 -0
  577. package/dist/types/import-export.js.map +1 -0
  578. package/dist/types/index.d.ts +25 -0
  579. package/dist/types/index.d.ts.map +1 -0
  580. package/dist/types/index.js +35 -0
  581. package/dist/types/index.js.map +1 -0
  582. package/dist/types/master-entities.d.ts +33 -0
  583. package/dist/types/master-entities.d.ts.map +1 -0
  584. package/dist/types/master-entities.js +6 -0
  585. package/dist/types/master-entities.js.map +1 -0
  586. package/dist/types/task/params.d.ts +172 -0
  587. package/dist/types/task/params.d.ts.map +1 -0
  588. package/dist/types/task/params.js +8 -0
  589. package/dist/types/task/params.js.map +1 -0
  590. package/dist/types/task/responses.d.ts +334 -0
  591. package/dist/types/task/responses.d.ts.map +1 -0
  592. package/dist/types/task/responses.js +8 -0
  593. package/dist/types/task/responses.js.map +1 -0
  594. package/dist/types/transaction-entities.d.ts +89 -0
  595. package/dist/types/transaction-entities.d.ts.map +1 -0
  596. package/dist/types/transaction-entities.js +5 -0
  597. package/dist/types/transaction-entities.js.map +1 -0
  598. package/dist/types/validation.d.ts +44 -0
  599. package/dist/types/validation.d.ts.map +1 -0
  600. package/dist/types/validation.js +6 -0
  601. package/dist/types/validation.js.map +1 -0
  602. package/dist/types/view-entities.d.ts +61 -0
  603. package/dist/types/view-entities.d.ts.map +1 -0
  604. package/dist/types/view-entities.js +5 -0
  605. package/dist/types/view-entities.js.map +1 -0
  606. package/dist/types.d.ts +133 -10
  607. package/dist/types.d.ts.map +1 -1
  608. package/dist/utils/action-specs/config-specs.d.ts +10 -0
  609. package/dist/utils/action-specs/config-specs.d.ts.map +1 -0
  610. package/dist/utils/action-specs/config-specs.js +12 -0
  611. package/dist/utils/action-specs/config-specs.js.map +1 -0
  612. package/dist/utils/action-specs/constraint-specs.d.ts +9 -0
  613. package/dist/utils/action-specs/constraint-specs.d.ts.map +1 -0
  614. package/dist/utils/action-specs/constraint-specs.js +42 -0
  615. package/dist/utils/action-specs/constraint-specs.js.map +1 -0
  616. package/dist/utils/action-specs/decision-specs.d.ts +9 -0
  617. package/dist/utils/action-specs/decision-specs.d.ts.map +1 -0
  618. package/dist/utils/action-specs/decision-specs.js +194 -0
  619. package/dist/utils/action-specs/decision-specs.js.map +1 -0
  620. package/dist/utils/action-specs/file-specs.d.ts +9 -0
  621. package/dist/utils/action-specs/file-specs.d.ts.map +1 -0
  622. package/dist/utils/action-specs/file-specs.js +56 -0
  623. package/dist/utils/action-specs/file-specs.js.map +1 -0
  624. package/dist/utils/action-specs/index.d.ts +38 -0
  625. package/dist/utils/action-specs/index.d.ts.map +1 -0
  626. package/dist/utils/action-specs/index.js +63 -0
  627. package/dist/utils/action-specs/index.js.map +1 -0
  628. package/dist/utils/action-specs/task-specs.d.ts +9 -0
  629. package/dist/utils/action-specs/task-specs.d.ts.map +1 -0
  630. package/dist/utils/action-specs/task-specs.js +143 -0
  631. package/dist/utils/action-specs/task-specs.js.map +1 -0
  632. package/dist/utils/action-specs/types.d.ts +14 -0
  633. package/dist/utils/action-specs/types.d.ts.map +1 -0
  634. package/dist/utils/action-specs/types.js +9 -0
  635. package/dist/utils/action-specs/types.js.map +1 -0
  636. package/dist/utils/batch-validation.d.ts +156 -0
  637. package/dist/utils/batch-validation.d.ts.map +1 -0
  638. package/dist/utils/batch-validation.example.d.ts +48 -0
  639. package/dist/utils/batch-validation.example.d.ts.map +1 -0
  640. package/dist/utils/batch-validation.example.js +180 -0
  641. package/dist/utils/batch-validation.example.js.map +1 -0
  642. package/dist/utils/batch-validation.js +345 -0
  643. package/dist/utils/batch-validation.js.map +1 -0
  644. package/dist/utils/exporter/export.d.ts +100 -0
  645. package/dist/utils/exporter/export.d.ts.map +1 -0
  646. package/dist/utils/exporter/export.js +363 -0
  647. package/dist/utils/exporter/export.js.map +1 -0
  648. package/dist/utils/importer/import.d.ts +29 -0
  649. package/dist/utils/importer/import.d.ts.map +1 -0
  650. package/dist/utils/importer/import.js +514 -0
  651. package/dist/utils/importer/import.js.map +1 -0
  652. package/dist/utils/importer/master-tables.d.ts +18 -0
  653. package/dist/utils/importer/master-tables.d.ts.map +1 -0
  654. package/dist/utils/importer/master-tables.js +255 -0
  655. package/dist/utils/importer/master-tables.js.map +1 -0
  656. package/dist/utils/importer/topological-sort.d.ts +61 -0
  657. package/dist/utils/importer/topological-sort.d.ts.map +1 -0
  658. package/dist/utils/importer/topological-sort.js +143 -0
  659. package/dist/utils/importer/topological-sort.js.map +1 -0
  660. package/dist/utils/levenshtein.d.ts +18 -0
  661. package/dist/utils/levenshtein.d.ts.map +1 -0
  662. package/dist/utils/levenshtein.js +46 -0
  663. package/dist/utils/levenshtein.js.map +1 -0
  664. package/dist/utils/parameter-validator.d.ts +3 -3
  665. package/dist/utils/parameter-validator.d.ts.map +1 -1
  666. package/dist/utils/parameter-validator.js +3 -39
  667. package/dist/utils/parameter-validator.js.map +1 -1
  668. package/dist/utils/sql-dump/core/dependency-sort.d.ts +16 -0
  669. package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +1 -0
  670. package/dist/utils/sql-dump/core/dependency-sort.js +105 -0
  671. package/dist/utils/sql-dump/core/dependency-sort.js.map +1 -0
  672. package/dist/utils/sql-dump/core/generate-dump.d.ts +13 -0
  673. package/dist/utils/sql-dump/core/generate-dump.d.ts.map +1 -0
  674. package/dist/utils/sql-dump/core/generate-dump.js +181 -0
  675. package/dist/utils/sql-dump/core/generate-dump.js.map +1 -0
  676. package/dist/utils/sql-dump/core/index-export.d.ts +9 -0
  677. package/dist/utils/sql-dump/core/index-export.d.ts.map +1 -0
  678. package/dist/utils/sql-dump/core/index-export.js +173 -0
  679. package/dist/utils/sql-dump/core/index-export.js.map +1 -0
  680. package/dist/utils/sql-dump/core/sequence-reset.d.ts +6 -0
  681. package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +1 -0
  682. package/dist/utils/sql-dump/core/sequence-reset.js +28 -0
  683. package/dist/utils/sql-dump/core/sequence-reset.js.map +1 -0
  684. package/dist/utils/sql-dump/core/table-export.d.ts +2 -0
  685. package/dist/utils/sql-dump/core/table-export.d.ts.map +1 -0
  686. package/dist/utils/sql-dump/core/table-export.js +4 -0
  687. package/dist/utils/sql-dump/core/table-export.js.map +1 -0
  688. package/dist/utils/sql-dump/core/view-export.d.ts +2 -0
  689. package/dist/utils/sql-dump/core/view-export.d.ts.map +1 -0
  690. package/dist/utils/sql-dump/core/view-export.js +4 -0
  691. package/dist/utils/sql-dump/core/view-export.js.map +1 -0
  692. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +14 -0
  693. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +1 -0
  694. package/dist/utils/sql-dump/formatters/bulk-insert.js +177 -0
  695. package/dist/utils/sql-dump/formatters/bulk-insert.js.map +1 -0
  696. package/dist/utils/sql-dump/formatters/identifiers.d.ts +6 -0
  697. package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +1 -0
  698. package/dist/utils/sql-dump/formatters/identifiers.js +16 -0
  699. package/dist/utils/sql-dump/formatters/identifiers.js.map +1 -0
  700. package/dist/utils/sql-dump/formatters/value-formatter.d.ts +14 -0
  701. package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +1 -0
  702. package/dist/utils/sql-dump/formatters/value-formatter.js +281 -0
  703. package/dist/utils/sql-dump/formatters/value-formatter.js.map +1 -0
  704. package/dist/utils/sql-dump/generators/controls.d.ts +10 -0
  705. package/dist/utils/sql-dump/generators/controls.d.ts.map +1 -0
  706. package/dist/utils/sql-dump/generators/controls.js +36 -0
  707. package/dist/utils/sql-dump/generators/controls.js.map +1 -0
  708. package/dist/utils/sql-dump/generators/headers.d.ts +6 -0
  709. package/dist/utils/sql-dump/generators/headers.d.ts.map +1 -0
  710. package/dist/utils/sql-dump/generators/headers.js +19 -0
  711. package/dist/utils/sql-dump/generators/headers.js.map +1 -0
  712. package/dist/utils/sql-dump/index.d.ts +14 -0
  713. package/dist/utils/sql-dump/index.d.ts.map +1 -0
  714. package/dist/utils/sql-dump/index.js +16 -0
  715. package/dist/utils/sql-dump/index.js.map +1 -0
  716. package/dist/utils/sql-dump/schema/indexes.d.ts +6 -0
  717. package/dist/utils/sql-dump/schema/indexes.d.ts.map +1 -0
  718. package/dist/utils/sql-dump/schema/indexes.js +42 -0
  719. package/dist/utils/sql-dump/schema/indexes.js.map +1 -0
  720. package/dist/utils/sql-dump/schema/primary-keys.d.ts +6 -0
  721. package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +1 -0
  722. package/dist/utils/sql-dump/schema/primary-keys.js +41 -0
  723. package/dist/utils/sql-dump/schema/primary-keys.js.map +1 -0
  724. package/dist/utils/sql-dump/schema/tables.d.ts +12 -0
  725. package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -0
  726. package/dist/utils/sql-dump/schema/tables.js +370 -0
  727. package/dist/utils/sql-dump/schema/tables.js.map +1 -0
  728. package/dist/utils/sql-dump/schema/views.d.ts +11 -0
  729. package/dist/utils/sql-dump/schema/views.d.ts.map +1 -0
  730. package/dist/utils/sql-dump/schema/views.js +110 -0
  731. package/dist/utils/sql-dump/schema/views.js.map +1 -0
  732. package/dist/utils/sql-dump/types.d.ts +10 -0
  733. package/dist/utils/sql-dump/types.d.ts.map +1 -0
  734. package/dist/utils/sql-dump/types.js +3 -0
  735. package/dist/utils/sql-dump/types.js.map +1 -0
  736. package/docs/AI_AGENT_GUIDE.md +2 -2
  737. package/docs/AUTO_FILE_TRACKING.md +0 -1
  738. package/docs/BATCH_VALIDATION.md +617 -0
  739. package/docs/DATABASE_AUTH.md +1 -2
  740. package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +2 -2
  741. package/docs/SHARED_CONCEPTS.md +2 -2
  742. package/docs/SPECIALIZED_AGENTS.md +1 -1
  743. package/docs/TASK_ACTIONS.md +7 -7
  744. package/docs/TASK_MIGRATION.md +5 -5
  745. package/docs/TASK_SYSTEM.md +5 -5
  746. package/docs/TOOL_REFERENCE.md +1 -3
  747. package/docs/WORKFLOWS.md +1 -1
  748. package/docs/{DATABASE_MIGRATION.md → cli/DATABASE_MIGRATION.md} +71 -32
  749. package/docs/cli/DATA_EXPORT_IMPORT.md +400 -0
  750. package/docs/cli/README.md +227 -0
  751. package/package.json +7 -4
  752. package/dist/tools/config.d.ts +0 -58
  753. package/dist/tools/config.d.ts.map +0 -1
  754. package/dist/tools/config.js +0 -281
  755. package/dist/tools/config.js.map +0 -1
  756. package/dist/tools/constraints.d.ts +0 -49
  757. package/dist/tools/constraints.d.ts.map +0 -1
  758. package/dist/tools/constraints.js +0 -378
  759. package/dist/tools/constraints.js.map +0 -1
  760. package/dist/tools/context.d.ts +0 -208
  761. package/dist/tools/context.d.ts.map +0 -1
  762. package/dist/tools/context.js +0 -1661
  763. package/dist/tools/context.js.map +0 -1
  764. package/dist/tools/files.d.ts +0 -54
  765. package/dist/tools/files.d.ts.map +0 -1
  766. package/dist/tools/files.js +0 -478
  767. package/dist/tools/files.js.map +0 -1
  768. package/dist/tools/messaging.d.ts +0 -71
  769. package/dist/tools/messaging.d.ts.map +0 -1
  770. package/dist/tools/messaging.js +0 -483
  771. package/dist/tools/messaging.js.map +0 -1
  772. package/dist/tools/utils.d.ts +0 -70
  773. package/dist/tools/utils.d.ts.map +0 -1
  774. package/dist/tools/utils.js +0 -483
  775. package/dist/tools/utils.js.map +0 -1
  776. package/dist/utils/action-specs.d.ts +0 -46
  777. package/dist/utils/action-specs.d.ts.map +0 -1
  778. package/dist/utils/action-specs.js +0 -527
  779. package/dist/utils/action-specs.js.map +0 -1
  780. package/docs/BASEADAPTER_IMPLEMENTATION.md +0 -399
  781. package/docs/HELP_PREVIEW_COMPARISON.md +0 -259
  782. package/docs/MIGRATION_CHAIN.md +0 -293
  783. package/docs/MIGRATION_v2.md +0 -538
  784. package/docs/MIGRATION_v3.3.md +0 -602
  785. package/docs/MIGRATION_v3.6.0.md +0 -170
  786. package/docs/MULTI_PROJECT_ARCHITECTURE.md +0 -497
@@ -0,0 +1,400 @@
1
+ # Data Export/Import
2
+
3
+ > JSON-based project data migration for sharing and multi-database workflows
4
+
5
+ ## Overview
6
+
7
+ sqlew provides a complete JSON export/import system for migrating project data between databases. This is useful for:
8
+
9
+ - **Project Sharing** - Share context with team members or between machines
10
+ - **Database Migration** - Move projects to different sqlew databases (different machine, different DB type)
11
+ - **Multi-Project Consolidation** - Merge multiple project exports into one database
12
+
13
+ **⚠️ Important**: Import skips if project name already exists (default: `--skip-if-exists=true`). This is **NOT a
14
+ backup/restore solution**.
15
+
16
+ **For backup/restore, use `db:dump` instead**: See [Database Migration Guide](DATABASE_MIGRATION.md) for full backup
17
+ solutions including schema + data using SQL dumps.
18
+
19
+ ## Quick Start
20
+
21
+ ### Export a Project
22
+
23
+ ```bash
24
+ # You have to install sqlew via npm to use CLI mode
25
+ cd /path/to/your/project
26
+ npm install sqlew
27
+
28
+ # Export all projects
29
+ node node_modules/sqlew/dist/cli.js db:export --output=full-backup.json
30
+
31
+ # or Export specific project to file
32
+ node node_modules/sqlew/dist/cli.js db:export --project=my-project --output=backup.json
33
+
34
+ # Export to stdout (pipe to another command)
35
+ node node_modules/sqlew/dist/cli.js db:export --project=visualizer
36
+ ```
37
+
38
+ ### Import a Project
39
+
40
+ ```bash
41
+ # You have to install sqlew via npm to use CLI mode (We recommend install per project)
42
+ cd /path/to/your/other-project
43
+ npm install sqlew
44
+
45
+ # Import from JSON export
46
+ node node_modules/sqlew/dist/cli.js db:import --source=backup.json
47
+
48
+ # Import with custom project name
49
+ node node_modules/sqlew/dist/cli.js db:import --source=backup.json --project-name=new-name
50
+
51
+ # Dry-run validation (no actual import)
52
+ node node_modules/sqlew/dist/cli.js db:import --source=backup.json --dry-run
53
+ ```
54
+
55
+ ## Export Command
56
+
57
+ ### Syntax
58
+
59
+ ```bash
60
+ node node_modules/sqlew/dist/cli.js db:export [options]
61
+ ```
62
+
63
+ ### Options
64
+
65
+ | Option | Description | Default |
66
+ |--------------------|---------------------------------|-------------------|
67
+ | `--project <name>` | Export specific project by name | All projects |
68
+ | `--output <file>` | Output file path | stdout |
69
+ | `--db-path <path>` | Database file path | `.sqlew/sqlew.db` |
70
+ | `--config <path>` | Config file path | Auto-detect |
71
+
72
+ ### What Gets Exported
73
+
74
+ - **Master Tables** (filtered to used entries only):
75
+ - Agents (m_agents)
76
+ - Context keys (m_context_keys)
77
+ - Files (m_files)
78
+ - Tags (m_tags)
79
+ - Scopes (m_scopes)
80
+ - Layers (m_layers)
81
+ - Project metadata (m_projects)
82
+
83
+ - **Transaction Tables** (all data for selected project):
84
+ - Decisions with context (t_decisions, t_decision_context)
85
+ - Tasks with details (t_tasks, t_task_details)
86
+ - File changes (t_file_changes)
87
+ - Constraints (t_constraints)
88
+
89
+ - **Junction Tables** (relationships):
90
+ - Task tags, file links, decision links, dependencies
91
+ - Decision tags, scopes
92
+ - Constraint tags
93
+
94
+ ## Import Command
95
+
96
+ ### Syntax
97
+
98
+ ```bash
99
+ node node_modules/sqlew/dist/cli.js db:import --source=<file> [options]
100
+ ```
101
+
102
+ ### Options
103
+
104
+ | Option | Description | Default |
105
+ |-------------------------|-------------------------------|--------------------|
106
+ | `--source <file>` | JSON export file path | **Required** |
107
+ | `--project-name <name>` | Target project name | Use name from JSON |
108
+ | `--skip-if-exists` | Skip import if project exists | `true` |
109
+ | `--dry-run` | Validate only, don't import | `false` |
110
+ | `--db-path <path>` | Database file path | `.sqlew/sqlew.db` |
111
+ | `--config <path>` | Config file path | Auto-detect |
112
+
113
+ ### Import Process
114
+
115
+ 1. **Validation** - Checks JSON format, required fields, data types
116
+ 2. **Conflict Detection** - Checks if project name already exists
117
+ 3. **Topological Sort** - Resolves task dependencies (circular detection)
118
+ 4. **ID Remapping** - Creates new IDs for all imported data
119
+ 5. **Master Table Merge** - Reuses existing agents/tags/files by name
120
+ 6. **Transaction Import** - Imports with fresh IDs and translated foreign keys
121
+ 7. **Junction Table Import** - Restores all relationships
122
+ 8. **Validation** - Verifies all foreign key references
123
+
124
+ ### Smart Features
125
+
126
+ **ID Remapping**:
127
+
128
+ - All imported data gets fresh auto-incremented IDs
129
+ - Original IDs are mapped to new IDs during transaction
130
+ - Foreign key references automatically updated
131
+
132
+ **Master Table Deduplication**:
133
+
134
+ - Agents, tags, scopes, files reused if they already exist (by name/path)
135
+ - Prevents duplicate entries for common metadata
136
+ - Project-scoped master tables (m_files, m_tags, m_scopes) isolated by project_id
137
+
138
+ **Dependency Resolution**:
139
+
140
+ - Task dependencies sorted topologically
141
+ - Circular dependency detection prevents invalid imports
142
+ - Dependencies always imported before dependents
143
+
144
+ **Transaction Safety**:
145
+
146
+ - All-or-nothing semantics (full rollback on any error)
147
+ - Idempotent operations (safe to retry on failure)
148
+ - Comprehensive error messages with validation details
149
+
150
+ ## Installation for CLI Usage
151
+
152
+ For users who need to use export/import commands, install sqlew per-project:
153
+
154
+ ```bash
155
+ # Install in your project directory
156
+ cd /path/to/your/project
157
+ npm install sqlew
158
+
159
+ # Now you can use CLI commands
160
+ node node_modules/sqlew/dist/cli.js db:export --output=backup.json
161
+ node node_modules/sqlew/dist/cli.js db:import --source=backup.json
162
+ ```
163
+
164
+ **Tip**: Add a shortcut to your `package.json` for convenience:
165
+
166
+ ```json
167
+ {
168
+ "scripts": {
169
+ "sqlew": "node node_modules/sqlew/dist/cli.js"
170
+ }
171
+ }
172
+ ```
173
+
174
+ Then you can use: `npm run sqlew db:export --output=backup.json`
175
+
176
+ **Note**: The MCP server (`npx sqlew`) and CLI commands are both included in the same `sqlew` package. You only need to
177
+ install once.
178
+
179
+ ## Use Cases
180
+
181
+ ### Multi-Project Single Database (Permission-Constrained Environments)
182
+
183
+ **Scenario**: You work on multiple projects but don't have permissions to create separate MySQL databases. You want to
184
+ consolidate all project contexts into one shared database.
185
+
186
+ **Solution**: Use export/import to merge multiple project contexts:
187
+
188
+ ```bash
189
+ # Step 1: Export from each project's SQLite database
190
+ cd ~/project-a
191
+ npm install sqlew
192
+ node node_modules/sqlew/dist/cli.js db:export --project=project-a --output=/tmp/project-a.json
193
+
194
+ cd ~/project-b
195
+ npm install sqlew
196
+ node node_modules/sqlew/dist/cli.js db:export --project=project-b --output=/tmp/project-b.json
197
+
198
+ cd ~/project-c
199
+ npm install sqlew
200
+ node node_modules/sqlew/dist/cli.js db:export --project=project-c --output=/tmp/project-c.json
201
+
202
+ # Step 2: Create shared database and import all projects
203
+ cd ~/shared-database
204
+ npm install sqlew
205
+
206
+ # Configure to use single MySQL database (edit .sqlew/config.toml)
207
+ # [database]
208
+ # type = "mysql"
209
+ # host = "localhost"
210
+ # port = 3306
211
+ # user = "myuser"
212
+ # password = "mypassword"
213
+ # database = "shared_sqlew_db"
214
+
215
+ node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-a.json
216
+ node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-b.json
217
+ node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-c.json
218
+
219
+ # Step 3: Configure each project to use shared database
220
+ # In each project's .mcp.json:
221
+ # {
222
+ # "mcpServers": {
223
+ # "sqlew": {
224
+ # "command": "npx",
225
+ # "args": ["sqlew", "--config-path=/path/to/shared-database/.sqlew/config.toml"]
226
+ # }
227
+ # }
228
+ # }
229
+ ```
230
+
231
+ **Benefits**:
232
+
233
+ - ✅ Single database for multiple projects (saves database quota)
234
+ - ✅ Cross-project context visibility (search decisions across all projects)
235
+ - ✅ Centralized backup and maintenance
236
+ - ✅ Works with permission-constrained MySQL/PostgreSQL environments
237
+
238
+ **Trade-offs**:
239
+
240
+ - ⚠️ All projects share same database connection pool
241
+ - ⚠️ Requires manual config path in each project's .mcp.json
242
+ - ⚠️ Project isolation maintained via project_id, not separate databases
243
+
244
+ ### Database Migration (Cross-Machine or Cross-Database)
245
+
246
+ ```bash
247
+ # Export from source database
248
+ node node_modules/sqlew/dist/cli.js db:export --project=main --output=main-export.json
249
+
250
+ # Import to different database (different machine or different database type)
251
+ # This works because the project doesn't exist in the target database yet
252
+ node node_modules/sqlew/dist/cli.js db:import --source=main-export.json --db-path=/path/to/new/database.db
253
+ ```
254
+
255
+ **Note**: Import skips if project name exists.
256
+
257
+ **For backup/restore, use `db:dump` instead**:
258
+
259
+ ```bash
260
+ # Backup with SQL dump (preserves schema + data)
261
+ node node_modules/sqlew/dist/cli.js db:dump --format=sqlite --output=backup-$(date +%Y%m%d).sql
262
+
263
+ # Or simple SQLite file copy
264
+ cp .sqlew/sqlew.db .sqlew/backup-$(date +%Y%m%d).db
265
+ ```
266
+
267
+ See `node node_modules/sqlew/dist/cli.js db:dump --help` for full backup options.
268
+
269
+ ### Project Sharing
270
+
271
+ ```bash
272
+ # Developer A: Export project
273
+ node node_modules/sqlew/dist/cli.js db:export --project=feature-x --output=feature-x.json
274
+
275
+ # Developer B: Import project
276
+ node node_modules/sqlew/dist/cli.js db:import --source=feature-x.json
277
+ ```
278
+
279
+ ### Multi-Project Consolidation
280
+
281
+ ```bash
282
+ # Export from different databases
283
+ node node_modules/sqlew/dist/cli.js db:export --project=visualizer --output=vis.json
284
+ node node_modules/sqlew/dist/cli.js db:export --project=api --output=api.json
285
+
286
+ # Import to single database
287
+ node node_modules/sqlew/dist/cli.js db:import --source=vis.json
288
+ node node_modules/sqlew/dist/cli.js db:import --source=api.json
289
+ ```
290
+
291
+ ### Cross-Database Migration
292
+
293
+ ```bash
294
+ # Export from SQLite
295
+ node node_modules/sqlew/dist/cli.js db:export --output=data.json --db-path=.sqlew/sqlew.db
296
+
297
+ # Import to MySQL
298
+ node node_modules/sqlew/dist/cli.js db:import --source=data.json --db-path=mysql://localhost/sqlew
299
+ ```
300
+
301
+ ## Error Handling
302
+
303
+ ### Common Errors
304
+
305
+ **Project Already Exists**:
306
+
307
+ ```
308
+ Error: Project "my-project" already exists in target database
309
+ ```
310
+
311
+ Solution: Use `--project-name` to specify different name, or remove existing project
312
+
313
+ **Circular Dependencies**:
314
+
315
+ ```
316
+ Error: Circular dependency detected in task dependencies
317
+ ```
318
+
319
+ Solution: Fix dependency graph in source database before exporting
320
+
321
+ **Invalid Foreign Keys**:
322
+
323
+ ```
324
+ Error: Foreign key constraint violation for task_id=123
325
+ ```
326
+
327
+ Solution: Ensure all referenced entities exist in export
328
+
329
+ ### Dry-Run Validation
330
+
331
+ Always test imports with `--dry-run` first:
332
+
333
+ ```bash
334
+ node node_modules/sqlew/dist/cli.js db:import --source=data.json --dry-run
335
+ ```
336
+
337
+ This validates:
338
+
339
+ - JSON format and structure
340
+ - Project name conflicts
341
+ - Task dependency cycles
342
+ - Foreign key references
343
+ - Data type correctness
344
+
345
+ ## Technical Details
346
+
347
+ ### Performance
348
+
349
+ - **Batch Inserts**: 10-row batches to avoid SQLite limits
350
+ - **Transaction Scope**: Single transaction for atomicity
351
+ - **Memory Efficient**: Streams large datasets
352
+
353
+ ### Limitations
354
+
355
+ - **Max JSON Size**: Limited by available memory
356
+ - **SQLite Batch Limit**: 500 UNION ALL clauses (handled automatically)
357
+ - **Cross-Database**: JSON format only (no SQL dump)
358
+
359
+ ### Data Integrity
360
+
361
+ - **Foreign Key Validation**: All references validated before insertion
362
+ - **Orphan Cleanup**: Invalid references automatically filtered
363
+ - **View Restoration**: Views temporarily dropped and restored during import
364
+ - **Idempotent Operations**: Safe to retry on network/disk failures
365
+
366
+ ## Comparison with db:dump
367
+
368
+ | Feature | db:export (JSON) | db:dump (SQL) |
369
+ |--------------------|--------------------------|------------------------------------------|
370
+ | Format | JSON data only | SQL DDL + data |
371
+ | Schema | Not included | Full schema included |
372
+ | Use Case | Project migration | **Backup/restore, database replication** |
373
+ | Cross-DB | ✅ Yes | ❌ No (dialect-specific) |
374
+ | Size | Smaller (~40% reduction) | Larger (includes schema) |
375
+ | Import Speed | Slower (ID remapping) | Faster (direct SQL execution) |
376
+ | Conflict Handling | Smart deduplication | Overwrite or fail |
377
+ | Restore Capability | ❌ Skips if exists | ✅ Full restore |
378
+
379
+ **When to use db:export (JSON)**:
380
+
381
+ - Migrating projects between different sqlew databases
382
+ - Sharing specific projects with team members
383
+ - Merging multiple projects into one database
384
+ - Cross-database migration (SQLite → MySQL → PostgreSQL)
385
+
386
+ **When to use db:dump (SQL)** - **RECOMMENDED FOR BACKUP**:
387
+
388
+ - **Full database backup with schema** ✅
389
+ - **Database restore/recovery** ✅
390
+ - Database replication
391
+ - Development → Production deployment
392
+ - Same database type migration
393
+
394
+ See [Database Migration Guide](DATABASE_MIGRATION.md) for complete `db:dump` documentation.
395
+
396
+ ## See Also
397
+
398
+ - [Database Migration](DATABASE_MIGRATION.md) - SQLite → MySQL/PostgreSQL migration
399
+ - [CHANGELOG.md](../../CHANGELOG.md#374) - v3.7.4 release notes
400
+ - [Architecture](../ARCHITECTURE.md) - Technical architecture overview
@@ -0,0 +1,227 @@
1
+ # sqlew CLI Mode
2
+
3
+ > Command-line tools for database migration and project data export/import
4
+
5
+ ## Overview
6
+
7
+ sqlew provides CLI commands for advanced database operations that complement the main MCP server functionality. These
8
+ commands are useful for database administration, backup/restore, and cross-project data migration.
9
+
10
+ ## What is CLI Mode?
11
+
12
+ While the primary use of sqlew is as an **MCP server** (integrated with Claude Code via `.mcp.json`), it also provides
13
+ standalone **CLI commands** for:
14
+
15
+ - **Database Migration** - Generate SQL dumps for SQLite, MySQL, PostgresSQL migration
16
+ - **Project Export/Import** - Share project data across databases or team members
17
+ - **Backup/Restore** - Create SQL backups with schema and data
18
+
19
+ ## MCP Server vs CLI Mode
20
+
21
+ | Feature | MCP Server (`npx sqlew`) | CLI Mode |
22
+ |-----------------|----------------------------------------|----------------------------------------------|
23
+ | **Primary Use** | AI agent context management | Database administration |
24
+ | **Setup** | `.mcp.json` configuration | Per-project npm install |
25
+ | **Commands** | MCP tools (decision, task, file, etc.) | CLI commands (db:dump, db:export, db:import) |
26
+ | **When to Use** | Daily AI development workflow | Database migration, backup, data sharing |
27
+
28
+ ## Installation
29
+
30
+ ### Install sqlew in Your Project
31
+
32
+ ```bash
33
+ cd /path/to/your/project
34
+ npm install sqlew
35
+ ```
36
+
37
+ ### Add npm Script Shortcut (Recommended)
38
+
39
+ Add to your `package.json`:
40
+
41
+ ```json
42
+ {
43
+ "scripts": {
44
+ "sqlew": "node node_modules/sqlew/dist/cli.js"
45
+ }
46
+ }
47
+ ```
48
+
49
+ Then you can use shorter commands:
50
+
51
+ ```bash
52
+ npm run sqlew db:dump --format=mysql --output=backup.sql
53
+ ```
54
+
55
+ ### Direct Command (Without Shortcut)
56
+
57
+ ```bash
58
+ node node_modules/sqlew/dist/cli.js db:dump --format=mysql --output=backup.sql
59
+ ```
60
+
61
+ ## Available Commands
62
+
63
+ ### 1. `db:dump` - SQL Database Migration
64
+
65
+ Generate complete SQL dumps (schema + data) for database migration or backup.
66
+
67
+ **Use Cases**:
68
+
69
+ - Full database backup with schema
70
+ - Cross-database migration (SQLite → MySQL/PostgresSQL)
71
+ - Development → Production deployment
72
+
73
+ **Quick Example**:
74
+
75
+ ```bash
76
+ # Backup SQLite to MySQL dump
77
+ node node_modules/sqlew/dist/cli.js db:dump --format=mysql --output=backup.sql
78
+
79
+ # Backup to PostgresSQL dump
80
+ node node_modules/sqlew/dist/cli.js db:dump --format=postgresql --output=backup.sql
81
+ ```
82
+
83
+ **📖 Full Documentation**: [DATABASE_MIGRATION.md](DATABASE_MIGRATION.md)
84
+
85
+ ---
86
+
87
+ ### 2. `db:export` - Project Data Export
88
+
89
+ Export project data to JSON format for sharing or multi-project consolidation.
90
+
91
+ **Use Cases**:
92
+
93
+ - Share context with team members
94
+ - Move projects between different databases
95
+ - Consolidate multiple projects into one database
96
+
97
+ **Quick Example**:
98
+
99
+ ```bash
100
+ # Export specific project
101
+ node node_modules/sqlew/dist/cli.js db:export --project=my-project --output=project.json
102
+
103
+ # Export all projects
104
+ node node_modules/sqlew/dist/cli.js db:export --output=all-projects.json
105
+ ```
106
+
107
+ **📖 Full Documentation**: [DATA_EXPORT_IMPORT.md](DATA_EXPORT_IMPORT.md#export-command)
108
+
109
+ ---
110
+
111
+ ### 3. `db:import` - Project Data Import
112
+
113
+ Import project data from JSON export files.
114
+
115
+ **Use Cases**:
116
+
117
+ - Import shared project context
118
+ - Merge multiple projects into one database
119
+ - Migrate projects to a new database (different machine or DB type)
120
+
121
+ **Quick Example**:
122
+
123
+ ```bash
124
+ # Import from JSON export
125
+ node node_modules/sqlew/dist/cli.js db:import --source=project.json
126
+
127
+ # Import with custom name
128
+ node node_modules/sqlew/dist/cli.js db:import --source=project.json --project-name=new-name
129
+
130
+ # Dry-run validation
131
+ node node_modules/sqlew/dist/cli.js db:import --source=project.json --dry-run
132
+ ```
133
+
134
+ **📖 Full Documentation**: [DATA_EXPORT_IMPORT.md](DATA_EXPORT_IMPORT.md#import-command)
135
+
136
+ ---
137
+
138
+ ## Quick Comparison: When to Use Which Command
139
+
140
+ | Scenario | Use Command | Restore Capability |
141
+ |-----------------------------------------------|---------------------------|----------------------------|
142
+ | **Full database backup** | `db:dump` | ✅ Full restore |
143
+ | **Cross-database migration** (SQLite → MySQL) | `db:dump` | ✅ Full restore |
144
+ | **Share project with team** | `db:export` / `db:import` | ⚠️ Skips if project exists |
145
+ | **Consolidate multiple projects** | `db:export` / `db:import` | ⚠️ Skips if project exists |
146
+ | **Backup/restore same database** | `db:dump` | ✅ Full restore |
147
+
148
+ **⚠️ Important**: `db:export`/`db:import` uses `--skip-if-exists=true` by default, so it's NOT suitable for
149
+ backup/restore to the same database. Use `db:dump` for proper backup/restore.
150
+
151
+ ## Common Workflows
152
+
153
+ ### Workflow 1: Full Database Backup
154
+
155
+ ```bash
156
+ # Create SQL backup with schema + data
157
+ node node_modules/sqlew/dist/cli.js db:dump --format=sqlite --output=backup-$(date +%Y%m%d).sql
158
+
159
+ # Or simple SQLite file copy
160
+ cp .sqlew/sqlew.db .sqlew/backup-$(date +%Y%m%d).db
161
+ ```
162
+
163
+ ### Workflow 2: Share the Project with a Team Member
164
+
165
+ ```bash
166
+ # Developer A: Export project
167
+ node node_modules/sqlew/dist/cli.js db:export --project=feature-x --output=feature-x.json
168
+
169
+ # Developer B: Import project (in their own database)
170
+ node node_modules/sqlew/dist/cli.js db:import --source=feature-x.json
171
+ ```
172
+
173
+ ### Workflow 3: Migrate to MySQL from SQLite
174
+
175
+ ```bash
176
+ # Step 1: Generate MySQL dump
177
+ node node_modules/sqlew/dist/cli.js db:dump --format=mysql --output=migrate-to-mysql.sql
178
+
179
+ # Step 2: Create MySQL database
180
+ mysql -e "CREATE DATABASE sqlew_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
181
+
182
+ # Step 3: Import dump
183
+ mysql sqlew_db < migrate-to-mysql.sql
184
+ ```
185
+
186
+ ### Workflow 4: Consolidate Multiple Projects (Permission-Constrained)
187
+
188
+ ```bash
189
+ # Export from each project
190
+ cd ~/project-a && node node_modules/sqlew/dist/cli.js db:export --project=project-a --output=/tmp/a.json
191
+ cd ~/project-b && node node_modules/sqlew/dist/cli.js db:export --project=project-b --output=/tmp/b.json
192
+
193
+ # Import all to shared database
194
+ cd ~/shared-db
195
+ node node_modules/sqlew/dist/cli.js db:import --source=/tmp/a.json
196
+ node node_modules/sqlew/dist/cli.js db:import --source=/tmp/b.json
197
+ ```
198
+
199
+ ## Getting Help
200
+
201
+ Show command-specific help:
202
+
203
+ ```bash
204
+ node node_modules/sqlew/dist/cli.js db:dump --help
205
+ node node_modules/sqlew/dist/cli.js db:export --help
206
+ node node_modules/sqlew/dist/cli.js db:import --help
207
+ ```
208
+
209
+ ## Detailed Documentation
210
+
211
+ - **[DATABASE_MIGRATION.md](DATABASE_MIGRATION.md)** - Complete `db:dump` reference
212
+ - SQL dump generation for all database types
213
+ - Data type mappings
214
+ - Transaction safety
215
+ - Conflict resolution
216
+
217
+ - **[DATA_EXPORT_IMPORT.md](DATA_EXPORT_IMPORT.md)** - Complete `db:export`/`db:import` reference
218
+ - JSON export/import system
219
+ - ID remapping strategy
220
+ - Multi-project consolidation
221
+ - Use cases and examples
222
+
223
+ ## See Also
224
+
225
+ - [Main README](../../README.md) - MCP server setup and usage
226
+ - [Configuration Guide](../CONFIGURATION.md) - Database configuration options
227
+ - [Architecture](../ARCHITECTURE.md) - Technical architecture overview
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sqlew",
3
- "version": "3.7.3",
3
+ "version": "3.8.0",
4
4
  "description": "MCP server for efficient context sharing between Claude Code sub-agents (60-70% token reduction), Kanban Task Watcher, Decision or Constraint Context, and streamlined documentation",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -25,8 +25,9 @@
25
25
  "cli": "node dist/cli.js",
26
26
  "inspector": "npx @modelcontextprotocol/inspector node dist/index.js",
27
27
  "dev": "tsc --watch",
28
- "clean": "rm -rf dist",
28
+ "clean": "rimraf dist",
29
29
  "rebuild": "npm run clean && npm run build",
30
+ "test": "npm run test:all-features",
30
31
  "test:all-features": "npm run build && node dist/tests/all-features.test.js",
31
32
  "test:docker": "npm run build && node --test dist/tests/multi-project-migration.test.js dist/tests/sql-dump-fk-constraints.test.js",
32
33
  "test:cross-db": "npm run build && node --test dist/tests/sql-dump-cross-database.test.js",
@@ -34,7 +35,7 @@
34
35
  "test:migration-upgrade-paths": "npm run build && node --test dist/tests/migration-upgrade-paths.test.js",
35
36
  "test:migration-idempotency": "npm run build && node --test dist/tests/migration-idempotency.test.js",
36
37
  "test:migrations:all": "npm run build && node dist/tests/migrations/test-all-versions-real.js",
37
- "test:migrations:ci": "npm run build && SKIP_DOCKER_TESTS=true node dist/tests/migrations/test-all-versions-real.js",
38
+ "test:migrations:ci": "npm run build && node dist/tests/migrations/test-all-versions-real.js",
38
39
  "prepare": "husky",
39
40
  "prepublishOnly": "npm run rebuild",
40
41
  "knex": "tsx node_modules/.bin/knex --knexfile src/knexfile.ts",
@@ -45,7 +46,8 @@
45
46
  "migrate:status": "npm run knex migrate:status",
46
47
  "seed:make": "npm run knex seed:make",
47
48
  "seed:run": "npm run knex seed:run",
48
- "db:dump": "node dist/cli.js db:dump"
49
+ "db:dump": "node dist/cli.js db:dump",
50
+ "db:export": "node dist/cli.js db:export"
49
51
  },
50
52
  "engines": {
51
53
  "node": ">=18.0.0"
@@ -87,6 +89,7 @@
87
89
  "husky": "^9.1.7",
88
90
  "mysql2": "^3.15.3",
89
91
  "pg": "^8.16.3",
92
+ "rimraf": "^6.1.0",
90
93
  "tsx": "^4.20.6",
91
94
  "typescript": "^5.0.0"
92
95
  }