sqlew 3.7.4 → 3.8.1

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 (772) hide show
  1. package/CHANGELOG.md +339 -1
  2. package/LICENSE +0 -0
  3. package/README.md +69 -0
  4. package/assets/config.example.toml +0 -0
  5. package/assets/kanban-style.png +0 -0
  6. package/assets/kanban-visualizer.png +0 -0
  7. package/assets/sample-agents/README.md +0 -0
  8. package/assets/sample-agents/sqlew-architect.md +0 -0
  9. package/assets/sample-agents/sqlew-researcher.md +0 -0
  10. package/assets/sample-agents/sqlew-scrum-master.md +4 -4
  11. package/assets/schema.sql +0 -0
  12. package/assets/sqlew-logo.png +0 -0
  13. package/dist/adapters/postgresql-adapter.d.ts +197 -5
  14. package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
  15. package/dist/adapters/postgresql-adapter.js +300 -36
  16. package/dist/adapters/postgresql-adapter.js.map +1 -1
  17. package/dist/cli.d.ts +1 -1
  18. package/dist/cli.js +8 -71
  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/multi-project.test.js +2 -2
  160. package/dist/tests/multi-project.test.js.map +1 -1
  161. package/dist/tests/parameter-validation.test.js +2 -16
  162. package/dist/tests/parameter-validation.test.js.map +1 -1
  163. package/dist/tests/tasks.auto-pruning-decision-link.test.js +1 -1
  164. package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -1
  165. package/dist/tests/tasks.file-actions-integration.test.d.ts +10 -0
  166. package/dist/tests/tasks.file-actions-integration.test.d.ts.map +1 -0
  167. package/dist/tests/tasks.file-actions-integration.test.js +162 -0
  168. package/dist/tests/tasks.file-actions-integration.test.js.map +1 -0
  169. package/dist/tests/tasks.file-actions-validation.test.d.ts +6 -0
  170. package/dist/tests/tasks.file-actions-validation.test.d.ts.map +1 -0
  171. package/dist/tests/tasks.file-actions-validation.test.js +221 -0
  172. package/dist/tests/tasks.file-actions-validation.test.js.map +1 -0
  173. package/dist/tools/constraints/actions/add.d.ts +15 -0
  174. package/dist/tools/constraints/actions/add.d.ts.map +1 -0
  175. package/dist/tools/constraints/actions/add.js +101 -0
  176. package/dist/tools/constraints/actions/add.js.map +1 -0
  177. package/dist/tools/constraints/actions/deactivate.d.ts +16 -0
  178. package/dist/tools/constraints/actions/deactivate.d.ts.map +1 -0
  179. package/dist/tools/constraints/actions/deactivate.js +49 -0
  180. package/dist/tools/constraints/actions/deactivate.js.map +1 -0
  181. package/dist/tools/constraints/actions/get.d.ts +16 -0
  182. package/dist/tools/constraints/actions/get.d.ts.map +1 -0
  183. package/dist/tools/constraints/actions/get.js +76 -0
  184. package/dist/tools/constraints/actions/get.js.map +1 -0
  185. package/dist/tools/constraints/help/example.d.ts +9 -0
  186. package/dist/tools/constraints/help/example.d.ts.map +1 -0
  187. package/dist/tools/constraints/help/example.js +144 -0
  188. package/dist/tools/constraints/help/example.js.map +1 -0
  189. package/dist/tools/constraints/help/help.d.ts +9 -0
  190. package/dist/tools/constraints/help/help.d.ts.map +1 -0
  191. package/dist/tools/constraints/help/help.js +31 -0
  192. package/dist/tools/constraints/help/help.js.map +1 -0
  193. package/dist/tools/constraints/index.d.ts +12 -0
  194. package/dist/tools/constraints/index.d.ts.map +1 -0
  195. package/dist/tools/constraints/index.js +13 -0
  196. package/dist/tools/constraints/index.js.map +1 -0
  197. package/dist/tools/constraints/internal/validation.d.ts +11 -0
  198. package/dist/tools/constraints/internal/validation.d.ts.map +1 -0
  199. package/dist/tools/constraints/internal/validation.js +17 -0
  200. package/dist/tools/constraints/internal/validation.js.map +1 -0
  201. package/dist/tools/constraints/types.d.ts +6 -0
  202. package/dist/tools/constraints/types.d.ts.map +1 -0
  203. package/dist/tools/constraints/types.js +6 -0
  204. package/dist/tools/constraints/types.js.map +1 -0
  205. package/dist/tools/context/actions/add-context.d.ts +14 -0
  206. package/dist/tools/context/actions/add-context.d.ts.map +1 -0
  207. package/dist/tools/context/actions/add-context.js +62 -0
  208. package/dist/tools/context/actions/add-context.js.map +1 -0
  209. package/dist/tools/context/actions/batch-set.d.ts +16 -0
  210. package/dist/tools/context/actions/batch-set.d.ts.map +1 -0
  211. package/dist/tools/context/actions/batch-set.js +126 -0
  212. package/dist/tools/context/actions/batch-set.js.map +1 -0
  213. package/dist/tools/context/actions/create-template.d.ts +15 -0
  214. package/dist/tools/context/actions/create-template.d.ts.map +1 -0
  215. package/dist/tools/context/actions/create-template.js +68 -0
  216. package/dist/tools/context/actions/create-template.js.map +1 -0
  217. package/dist/tools/context/actions/get.d.ts +18 -0
  218. package/dist/tools/context/actions/get.d.ts.map +1 -0
  219. package/dist/tools/context/actions/get.js +80 -0
  220. package/dist/tools/context/actions/get.js.map +1 -0
  221. package/dist/tools/context/actions/hard-delete.d.ts +18 -0
  222. package/dist/tools/context/actions/hard-delete.d.ts.map +1 -0
  223. package/dist/tools/context/actions/hard-delete.js +85 -0
  224. package/dist/tools/context/actions/hard-delete.js.map +1 -0
  225. package/dist/tools/context/actions/has-updates.d.ts +16 -0
  226. package/dist/tools/context/actions/has-updates.d.ts.map +1 -0
  227. package/dist/tools/context/actions/has-updates.js +83 -0
  228. package/dist/tools/context/actions/has-updates.js.map +1 -0
  229. package/dist/tools/context/actions/list-contexts.d.ts +14 -0
  230. package/dist/tools/context/actions/list-contexts.d.ts.map +1 -0
  231. package/dist/tools/context/actions/list-contexts.js +43 -0
  232. package/dist/tools/context/actions/list-contexts.js.map +1 -0
  233. package/dist/tools/context/actions/list-templates.d.ts +15 -0
  234. package/dist/tools/context/actions/list-templates.d.ts.map +1 -0
  235. package/dist/tools/context/actions/list-templates.js +47 -0
  236. package/dist/tools/context/actions/list-templates.js.map +1 -0
  237. package/dist/tools/context/actions/list.d.ts +16 -0
  238. package/dist/tools/context/actions/list.d.ts.map +1 -0
  239. package/dist/tools/context/actions/list.js +100 -0
  240. package/dist/tools/context/actions/list.js.map +1 -0
  241. package/dist/tools/context/actions/quick-set.d.ts +21 -0
  242. package/dist/tools/context/actions/quick-set.d.ts.map +1 -0
  243. package/dist/tools/context/actions/quick-set.js +104 -0
  244. package/dist/tools/context/actions/quick-set.js.map +1 -0
  245. package/dist/tools/context/actions/search-advanced.d.ts +15 -0
  246. package/dist/tools/context/actions/search-advanced.d.ts.map +1 -0
  247. package/dist/tools/context/actions/search-advanced.js +140 -0
  248. package/dist/tools/context/actions/search-advanced.js.map +1 -0
  249. package/dist/tools/context/actions/search-layer.d.ts +15 -0
  250. package/dist/tools/context/actions/search-layer.d.ts.map +1 -0
  251. package/dist/tools/context/actions/search-layer.js +106 -0
  252. package/dist/tools/context/actions/search-layer.js.map +1 -0
  253. package/dist/tools/context/actions/search-tags.d.ts +15 -0
  254. package/dist/tools/context/actions/search-tags.d.ts.map +1 -0
  255. package/dist/tools/context/actions/search-tags.js +85 -0
  256. package/dist/tools/context/actions/search-tags.js.map +1 -0
  257. package/dist/tools/context/actions/set-from-template.d.ts +16 -0
  258. package/dist/tools/context/actions/set-from-template.d.ts.map +1 -0
  259. package/dist/tools/context/actions/set-from-template.js +83 -0
  260. package/dist/tools/context/actions/set-from-template.js.map +1 -0
  261. package/dist/tools/context/actions/set.d.ts +16 -0
  262. package/dist/tools/context/actions/set.d.ts.map +1 -0
  263. package/dist/tools/context/actions/set.js +56 -0
  264. package/dist/tools/context/actions/set.js.map +1 -0
  265. package/dist/tools/context/actions/versions.d.ts +15 -0
  266. package/dist/tools/context/actions/versions.d.ts.map +1 -0
  267. package/dist/tools/context/actions/versions.js +69 -0
  268. package/dist/tools/context/actions/versions.js.map +1 -0
  269. package/dist/tools/context/help/example.d.ts +5 -0
  270. package/dist/tools/context/help/example.d.ts.map +1 -0
  271. package/dist/tools/context/help/example.js +96 -0
  272. package/dist/tools/context/help/example.js.map +1 -0
  273. package/dist/tools/context/help/help.d.ts +5 -0
  274. package/dist/tools/context/help/help.d.ts.map +1 -0
  275. package/dist/tools/context/help/help.js +65 -0
  276. package/dist/tools/context/help/help.js.map +1 -0
  277. package/dist/tools/context/index.d.ts +25 -0
  278. package/dist/tools/context/index.d.ts.map +1 -0
  279. package/dist/tools/context/index.js +26 -0
  280. package/dist/tools/context/index.js.map +1 -0
  281. package/dist/tools/context/internal/queries.d.ts +18 -0
  282. package/dist/tools/context/internal/queries.d.ts.map +1 -0
  283. package/dist/tools/context/internal/queries.js +160 -0
  284. package/dist/tools/context/internal/queries.js.map +1 -0
  285. package/dist/tools/context/internal/validation.d.ts +39 -0
  286. package/dist/tools/context/internal/validation.d.ts.map +1 -0
  287. package/dist/tools/context/internal/validation.js +125 -0
  288. package/dist/tools/context/internal/validation.js.map +1 -0
  289. package/dist/tools/context/types.d.ts +6 -0
  290. package/dist/tools/context/types.d.ts.map +1 -0
  291. package/dist/tools/context/types.js +6 -0
  292. package/dist/tools/context/types.js.map +1 -0
  293. package/dist/tools/example/actions/get.d.ts +14 -0
  294. package/dist/tools/example/actions/get.d.ts.map +1 -0
  295. package/dist/tools/example/actions/get.js +40 -0
  296. package/dist/tools/example/actions/get.js.map +1 -0
  297. package/dist/tools/example/actions/list-all.d.ts +13 -0
  298. package/dist/tools/example/actions/list-all.d.ts.map +1 -0
  299. package/dist/tools/example/actions/list-all.js +39 -0
  300. package/dist/tools/example/actions/list-all.js.map +1 -0
  301. package/dist/tools/example/actions/search.d.ts +14 -0
  302. package/dist/tools/example/actions/search.d.ts.map +1 -0
  303. package/dist/tools/example/actions/search.js +52 -0
  304. package/dist/tools/example/actions/search.js.map +1 -0
  305. package/dist/tools/example/help/example.d.ts +6 -0
  306. package/dist/tools/example/help/example.d.ts.map +1 -0
  307. package/dist/tools/example/help/example.js +69 -0
  308. package/dist/tools/example/help/example.js.map +1 -0
  309. package/dist/tools/example/help/help.d.ts +6 -0
  310. package/dist/tools/example/help/help.d.ts.map +1 -0
  311. package/dist/tools/example/help/help.js +133 -0
  312. package/dist/tools/example/help/help.js.map +1 -0
  313. package/dist/tools/example/index.d.ts +11 -0
  314. package/dist/tools/example/index.d.ts.map +1 -0
  315. package/dist/tools/example/index.js +12 -0
  316. package/dist/tools/example/index.js.map +1 -0
  317. package/dist/tools/example/types.d.ts +59 -0
  318. package/dist/tools/example/types.d.ts.map +1 -0
  319. package/dist/tools/example/types.js +6 -0
  320. package/dist/tools/example/types.js.map +1 -0
  321. package/dist/tools/files/actions/check-lock.d.ts +16 -0
  322. package/dist/tools/files/actions/check-lock.d.ts.map +1 -0
  323. package/dist/tools/files/actions/check-lock.js +70 -0
  324. package/dist/tools/files/actions/check-lock.js.map +1 -0
  325. package/dist/tools/files/actions/get.d.ts +16 -0
  326. package/dist/tools/files/actions/get.d.ts.map +1 -0
  327. package/dist/tools/files/actions/get.js +113 -0
  328. package/dist/tools/files/actions/get.js.map +1 -0
  329. package/dist/tools/files/actions/record-batch.d.ts +18 -0
  330. package/dist/tools/files/actions/record-batch.d.ts.map +1 -0
  331. package/dist/tools/files/actions/record-batch.js +114 -0
  332. package/dist/tools/files/actions/record-batch.js.map +1 -0
  333. package/dist/tools/files/actions/record.d.ts +16 -0
  334. package/dist/tools/files/actions/record.d.ts.map +1 -0
  335. package/dist/tools/files/actions/record.js +37 -0
  336. package/dist/tools/files/actions/record.js.map +1 -0
  337. package/dist/tools/files/actions/sqlite-flush.d.ts +27 -0
  338. package/dist/tools/files/actions/sqlite-flush.d.ts.map +1 -0
  339. package/dist/tools/files/actions/sqlite-flush.js +66 -0
  340. package/dist/tools/files/actions/sqlite-flush.js.map +1 -0
  341. package/dist/tools/files/help/example.d.ts +5 -0
  342. package/dist/tools/files/help/example.d.ts.map +1 -0
  343. package/dist/tools/files/help/example.js +98 -0
  344. package/dist/tools/files/help/example.js.map +1 -0
  345. package/dist/tools/files/help/help.d.ts +5 -0
  346. package/dist/tools/files/help/help.d.ts.map +1 -0
  347. package/dist/tools/files/help/help.js +29 -0
  348. package/dist/tools/files/help/help.js.map +1 -0
  349. package/dist/tools/files/index.d.ts +14 -0
  350. package/dist/tools/files/index.d.ts.map +1 -0
  351. package/dist/tools/files/index.js +15 -0
  352. package/dist/tools/files/index.js.map +1 -0
  353. package/dist/tools/files/internal/queries.d.ts +18 -0
  354. package/dist/tools/files/internal/queries.d.ts.map +1 -0
  355. package/dist/tools/files/internal/queries.js +63 -0
  356. package/dist/tools/files/internal/queries.js.map +1 -0
  357. package/dist/tools/files/internal/validation.d.ts +18 -0
  358. package/dist/tools/files/internal/validation.d.ts.map +1 -0
  359. package/dist/tools/files/internal/validation.js +40 -0
  360. package/dist/tools/files/internal/validation.js.map +1 -0
  361. package/dist/tools/files/types.d.ts +6 -0
  362. package/dist/tools/files/types.d.ts.map +1 -0
  363. package/dist/tools/files/types.js +6 -0
  364. package/dist/tools/files/types.js.map +1 -0
  365. package/dist/tools/help/actions/batch-guide.d.ts +14 -0
  366. package/dist/tools/help/actions/batch-guide.d.ts.map +1 -0
  367. package/dist/tools/help/actions/batch-guide.js +59 -0
  368. package/dist/tools/help/actions/batch-guide.js.map +1 -0
  369. package/dist/tools/help/actions/error-recovery.d.ts +12 -0
  370. package/dist/tools/help/actions/error-recovery.d.ts.map +1 -0
  371. package/dist/tools/help/actions/error-recovery.js +107 -0
  372. package/dist/tools/help/actions/error-recovery.js.map +1 -0
  373. package/dist/tools/help/actions/query-action.d.ts +15 -0
  374. package/dist/tools/help/actions/query-action.d.ts.map +1 -0
  375. package/dist/tools/help/actions/query-action.js +15 -0
  376. package/dist/tools/help/actions/query-action.js.map +1 -0
  377. package/dist/tools/help/actions/query-params.d.ts +15 -0
  378. package/dist/tools/help/actions/query-params.d.ts.map +1 -0
  379. package/dist/tools/help/actions/query-params.js +15 -0
  380. package/dist/tools/help/actions/query-params.js.map +1 -0
  381. package/dist/tools/help/actions/query-tool.d.ts +15 -0
  382. package/dist/tools/help/actions/query-tool.d.ts.map +1 -0
  383. package/dist/tools/help/actions/query-tool.js +15 -0
  384. package/dist/tools/help/actions/query-tool.js.map +1 -0
  385. package/dist/tools/help/actions/workflow-hints.d.ts +14 -0
  386. package/dist/tools/help/actions/workflow-hints.d.ts.map +1 -0
  387. package/dist/tools/help/actions/workflow-hints.js +15 -0
  388. package/dist/tools/help/actions/workflow-hints.js.map +1 -0
  389. package/dist/tools/help/help/example.d.ts +6 -0
  390. package/dist/tools/help/help/example.d.ts.map +1 -0
  391. package/dist/tools/help/help/example.js +70 -0
  392. package/dist/tools/help/help/example.js.map +1 -0
  393. package/dist/tools/help/help/help.d.ts +6 -0
  394. package/dist/tools/help/help/help.d.ts.map +1 -0
  395. package/dist/tools/help/help/help.js +67 -0
  396. package/dist/tools/help/help/help.js.map +1 -0
  397. package/dist/tools/help/index.d.ts +14 -0
  398. package/dist/tools/help/index.d.ts.map +1 -0
  399. package/dist/tools/help/index.js +15 -0
  400. package/dist/tools/help/index.js.map +1 -0
  401. package/dist/tools/help/types.d.ts +92 -0
  402. package/dist/tools/help/types.d.ts.map +1 -0
  403. package/dist/tools/help/types.js +6 -0
  404. package/dist/tools/help/types.js.map +1 -0
  405. package/dist/tools/help-queries.d.ts.map +1 -1
  406. package/dist/tools/help-queries.js +1 -0
  407. package/dist/tools/help-queries.js.map +1 -1
  408. package/dist/tools/tasks/actions/add-dependency.d.ts +12 -0
  409. package/dist/tools/tasks/actions/add-dependency.d.ts.map +1 -0
  410. package/dist/tools/tasks/actions/add-dependency.js +124 -0
  411. package/dist/tools/tasks/actions/add-dependency.js.map +1 -0
  412. package/dist/tools/tasks/actions/archive.d.ts +11 -0
  413. package/dist/tools/tasks/actions/archive.d.ts.map +1 -0
  414. package/dist/tools/tasks/actions/archive.js +67 -0
  415. package/dist/tools/tasks/actions/archive.js.map +1 -0
  416. package/dist/tools/tasks/actions/create-batch.d.ts +19 -0
  417. package/dist/tools/tasks/actions/create-batch.d.ts.map +1 -0
  418. package/dist/tools/tasks/actions/create-batch.js +103 -0
  419. package/dist/tools/tasks/actions/create-batch.js.map +1 -0
  420. package/dist/tools/tasks/actions/create.d.ts +16 -0
  421. package/dist/tools/tasks/actions/create.d.ts.map +1 -0
  422. package/dist/tools/tasks/actions/create.js +180 -0
  423. package/dist/tools/tasks/actions/create.js.map +1 -0
  424. package/dist/tools/tasks/actions/get-dependencies.d.ts +12 -0
  425. package/dist/tools/tasks/actions/get-dependencies.d.ts.map +1 -0
  426. package/dist/tools/tasks/actions/get-dependencies.js +41 -0
  427. package/dist/tools/tasks/actions/get-dependencies.js.map +1 -0
  428. package/dist/tools/tasks/actions/get-pruned-files.d.ts +13 -0
  429. package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +1 -0
  430. package/dist/tools/tasks/actions/get-pruned-files.js +45 -0
  431. package/dist/tools/tasks/actions/get-pruned-files.js.map +1 -0
  432. package/dist/tools/tasks/actions/get.d.ts +12 -0
  433. package/dist/tools/tasks/actions/get.d.ts.map +1 -0
  434. package/dist/tools/tasks/actions/get.js +88 -0
  435. package/dist/tools/tasks/actions/get.js.map +1 -0
  436. package/dist/tools/tasks/actions/link-pruned-file.d.ts +13 -0
  437. package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +1 -0
  438. package/dist/tools/tasks/actions/link-pruned-file.js +63 -0
  439. package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -0
  440. package/dist/tools/tasks/actions/link.d.ts +14 -0
  441. package/dist/tools/tasks/actions/link.d.ts.map +1 -0
  442. package/dist/tools/tasks/actions/link.js +118 -0
  443. package/dist/tools/tasks/actions/link.js.map +1 -0
  444. package/dist/tools/tasks/actions/list.d.ts +17 -0
  445. package/dist/tools/tasks/actions/list.d.ts.map +1 -0
  446. package/dist/tools/tasks/actions/list.js +98 -0
  447. package/dist/tools/tasks/actions/list.js.map +1 -0
  448. package/dist/tools/tasks/actions/move.d.ts +12 -0
  449. package/dist/tools/tasks/actions/move.d.ts.map +1 -0
  450. package/dist/tools/tasks/actions/move.js +91 -0
  451. package/dist/tools/tasks/actions/move.js.map +1 -0
  452. package/dist/tools/tasks/actions/remove-dependency.d.ts +12 -0
  453. package/dist/tools/tasks/actions/remove-dependency.d.ts.map +1 -0
  454. package/dist/tools/tasks/actions/remove-dependency.js +36 -0
  455. package/dist/tools/tasks/actions/remove-dependency.js.map +1 -0
  456. package/dist/tools/tasks/actions/update.d.ts +10 -0
  457. package/dist/tools/tasks/actions/update.d.ts.map +1 -0
  458. package/dist/tools/tasks/actions/update.js +186 -0
  459. package/dist/tools/tasks/actions/update.js.map +1 -0
  460. package/dist/tools/tasks/actions/watch-files.d.ts +14 -0
  461. package/dist/tools/tasks/actions/watch-files.d.ts.map +1 -0
  462. package/dist/tools/tasks/actions/watch-files.js +127 -0
  463. package/dist/tools/tasks/actions/watch-files.js.map +1 -0
  464. package/dist/tools/tasks/help/example.d.ts +8 -0
  465. package/dist/tools/tasks/help/example.d.ts.map +1 -0
  466. package/dist/tools/tasks/help/example.js +215 -0
  467. package/dist/tools/tasks/help/example.js.map +1 -0
  468. package/dist/tools/tasks/help/help.d.ts +8 -0
  469. package/dist/tools/tasks/help/help.d.ts.map +1 -0
  470. package/dist/tools/tasks/help/help.js +293 -0
  471. package/dist/tools/tasks/help/help.js.map +1 -0
  472. package/dist/tools/tasks/help/use-case.d.ts +11 -0
  473. package/dist/tools/tasks/help/use-case.d.ts.map +1 -0
  474. package/dist/tools/tasks/help/use-case.js +768 -0
  475. package/dist/tools/tasks/help/use-case.js.map +1 -0
  476. package/dist/tools/tasks/index.d.ts +28 -0
  477. package/dist/tools/tasks/index.d.ts.map +1 -0
  478. package/dist/tools/tasks/index.js +33 -0
  479. package/dist/tools/tasks/index.js.map +1 -0
  480. package/dist/tools/tasks/internal/state-machine.d.ts +16 -0
  481. package/dist/tools/tasks/internal/state-machine.d.ts.map +1 -0
  482. package/dist/tools/tasks/internal/state-machine.js +36 -0
  483. package/dist/tools/tasks/internal/state-machine.js.map +1 -0
  484. package/dist/tools/tasks/internal/task-queries.d.ts +12 -0
  485. package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -0
  486. package/dist/tools/tasks/internal/task-queries.js +61 -0
  487. package/dist/tools/tasks/internal/task-queries.js.map +1 -0
  488. package/dist/tools/tasks/internal/validation.d.ts +47 -0
  489. package/dist/tools/tasks/internal/validation.d.ts.map +1 -0
  490. package/dist/tools/tasks/internal/validation.js +261 -0
  491. package/dist/tools/tasks/internal/validation.js.map +1 -0
  492. package/dist/tools/tasks/types.d.ts +68 -0
  493. package/dist/tools/tasks/types.d.ts.map +1 -0
  494. package/dist/tools/tasks/types.js +45 -0
  495. package/dist/tools/tasks/types.js.map +1 -0
  496. package/dist/tools/tasks/watcher/status.d.ts +9 -0
  497. package/dist/tools/tasks/watcher/status.d.ts.map +1 -0
  498. package/dist/tools/tasks/watcher/status.js +126 -0
  499. package/dist/tools/tasks/watcher/status.js.map +1 -0
  500. package/dist/tools/tasks.d.ts +12 -148
  501. package/dist/tools/tasks.d.ts.map +1 -1
  502. package/dist/tools/tasks.js +12 -2037
  503. package/dist/tools/tasks.js.map +1 -1
  504. package/dist/tools/use_case/actions/get.d.ts +14 -0
  505. package/dist/tools/use_case/actions/get.d.ts.map +1 -0
  506. package/dist/tools/use_case/actions/get.js +15 -0
  507. package/dist/tools/use_case/actions/get.js.map +1 -0
  508. package/dist/tools/use_case/actions/list-all.d.ts +15 -0
  509. package/dist/tools/use_case/actions/list-all.d.ts.map +1 -0
  510. package/dist/tools/use_case/actions/list-all.js +20 -0
  511. package/dist/tools/use_case/actions/list-all.js.map +1 -0
  512. package/dist/tools/use_case/actions/search.d.ts +14 -0
  513. package/dist/tools/use_case/actions/search.d.ts.map +1 -0
  514. package/dist/tools/use_case/actions/search.js +87 -0
  515. package/dist/tools/use_case/actions/search.js.map +1 -0
  516. package/dist/tools/use_case/help/example.d.ts +105 -0
  517. package/dist/tools/use_case/help/example.d.ts.map +1 -0
  518. package/dist/tools/use_case/help/example.js +138 -0
  519. package/dist/tools/use_case/help/example.js.map +1 -0
  520. package/dist/tools/use_case/help/help.d.ts +33 -0
  521. package/dist/tools/use_case/help/help.d.ts.map +1 -0
  522. package/dist/tools/use_case/help/help.js +109 -0
  523. package/dist/tools/use_case/help/help.js.map +1 -0
  524. package/dist/tools/use_case/index.d.ts +11 -0
  525. package/dist/tools/use_case/index.d.ts.map +1 -0
  526. package/dist/tools/use_case/index.js +12 -0
  527. package/dist/tools/use_case/index.js.map +1 -0
  528. package/dist/tools/use_case/types.d.ts +58 -0
  529. package/dist/tools/use_case/types.d.ts.map +1 -0
  530. package/dist/tools/use_case/types.js +6 -0
  531. package/dist/tools/use_case/types.js.map +1 -0
  532. package/dist/types/actions.d.ts +37 -0
  533. package/dist/types/actions.d.ts.map +1 -0
  534. package/dist/types/actions.js +6 -0
  535. package/dist/types/actions.js.map +1 -0
  536. package/dist/types/constraint/params.d.ts +2 -0
  537. package/dist/types/constraint/params.d.ts.map +1 -0
  538. package/dist/types/constraint/params.js +2 -0
  539. package/dist/types/constraint/params.js.map +1 -0
  540. package/dist/types/constraint/responses.d.ts +2 -0
  541. package/dist/types/constraint/responses.d.ts.map +1 -0
  542. package/dist/types/constraint/responses.js +2 -0
  543. package/dist/types/constraint/responses.js.map +1 -0
  544. package/dist/types/decision/batch.d.ts +24 -0
  545. package/dist/types/decision/batch.d.ts.map +1 -0
  546. package/dist/types/decision/batch.js +5 -0
  547. package/dist/types/decision/batch.js.map +1 -0
  548. package/dist/types/decision/params.d.ts +73 -0
  549. package/dist/types/decision/params.d.ts.map +1 -0
  550. package/dist/types/decision/params.js +5 -0
  551. package/dist/types/decision/params.js.map +1 -0
  552. package/dist/types/decision/responses.d.ts +79 -0
  553. package/dist/types/decision/responses.d.ts.map +1 -0
  554. package/dist/types/decision/responses.js +5 -0
  555. package/dist/types/decision/responses.js.map +1 -0
  556. package/dist/types/decision/templates.d.ts +74 -0
  557. package/dist/types/decision/templates.d.ts.map +1 -0
  558. package/dist/types/decision/templates.js +5 -0
  559. package/dist/types/decision/templates.js.map +1 -0
  560. package/dist/types/enums.d.ts +43 -0
  561. package/dist/types/enums.d.ts.map +1 -0
  562. package/dist/types/enums.js +47 -0
  563. package/dist/types/enums.js.map +1 -0
  564. package/dist/types/file/params.d.ts +40 -0
  565. package/dist/types/file/params.d.ts.map +1 -0
  566. package/dist/types/file/params.js +6 -0
  567. package/dist/types/file/params.js.map +1 -0
  568. package/dist/types/file/responses.d.ts +2 -0
  569. package/dist/types/file/responses.d.ts.map +1 -0
  570. package/dist/types/file/responses.js +2 -0
  571. package/dist/types/file/responses.js.map +1 -0
  572. package/dist/types/import-export.d.ts +126 -0
  573. package/dist/types/import-export.d.ts.map +1 -0
  574. package/dist/types/import-export.js +6 -0
  575. package/dist/types/import-export.js.map +1 -0
  576. package/dist/types/index.d.ts +25 -0
  577. package/dist/types/index.d.ts.map +1 -0
  578. package/dist/types/index.js +35 -0
  579. package/dist/types/index.js.map +1 -0
  580. package/dist/types/master-entities.d.ts +33 -0
  581. package/dist/types/master-entities.d.ts.map +1 -0
  582. package/dist/types/master-entities.js +6 -0
  583. package/dist/types/master-entities.js.map +1 -0
  584. package/dist/types/task/params.d.ts +172 -0
  585. package/dist/types/task/params.d.ts.map +1 -0
  586. package/dist/types/task/params.js +8 -0
  587. package/dist/types/task/params.js.map +1 -0
  588. package/dist/types/task/responses.d.ts +334 -0
  589. package/dist/types/task/responses.d.ts.map +1 -0
  590. package/dist/types/task/responses.js +8 -0
  591. package/dist/types/task/responses.js.map +1 -0
  592. package/dist/types/transaction-entities.d.ts +89 -0
  593. package/dist/types/transaction-entities.d.ts.map +1 -0
  594. package/dist/types/transaction-entities.js +5 -0
  595. package/dist/types/transaction-entities.js.map +1 -0
  596. package/dist/types/validation.d.ts +44 -0
  597. package/dist/types/validation.d.ts.map +1 -0
  598. package/dist/types/validation.js +6 -0
  599. package/dist/types/validation.js.map +1 -0
  600. package/dist/types/view-entities.d.ts +61 -0
  601. package/dist/types/view-entities.d.ts.map +1 -0
  602. package/dist/types/view-entities.js +5 -0
  603. package/dist/types/view-entities.js.map +1 -0
  604. package/dist/types.d.ts +133 -10
  605. package/dist/types.d.ts.map +1 -1
  606. package/dist/utils/action-specs/config-specs.d.ts +10 -0
  607. package/dist/utils/action-specs/config-specs.d.ts.map +1 -0
  608. package/dist/utils/action-specs/config-specs.js +12 -0
  609. package/dist/utils/action-specs/config-specs.js.map +1 -0
  610. package/dist/utils/action-specs/constraint-specs.d.ts +9 -0
  611. package/dist/utils/action-specs/constraint-specs.d.ts.map +1 -0
  612. package/dist/utils/action-specs/constraint-specs.js +42 -0
  613. package/dist/utils/action-specs/constraint-specs.js.map +1 -0
  614. package/dist/utils/action-specs/decision-specs.d.ts +9 -0
  615. package/dist/utils/action-specs/decision-specs.d.ts.map +1 -0
  616. package/dist/utils/action-specs/decision-specs.js +194 -0
  617. package/dist/utils/action-specs/decision-specs.js.map +1 -0
  618. package/dist/utils/action-specs/file-specs.d.ts +9 -0
  619. package/dist/utils/action-specs/file-specs.d.ts.map +1 -0
  620. package/dist/utils/action-specs/file-specs.js +56 -0
  621. package/dist/utils/action-specs/file-specs.js.map +1 -0
  622. package/dist/utils/action-specs/index.d.ts +38 -0
  623. package/dist/utils/action-specs/index.d.ts.map +1 -0
  624. package/dist/utils/action-specs/index.js +63 -0
  625. package/dist/utils/action-specs/index.js.map +1 -0
  626. package/dist/utils/action-specs/task-specs.d.ts +9 -0
  627. package/dist/utils/action-specs/task-specs.d.ts.map +1 -0
  628. package/dist/utils/action-specs/task-specs.js +143 -0
  629. package/dist/utils/action-specs/task-specs.js.map +1 -0
  630. package/dist/utils/action-specs/types.d.ts +14 -0
  631. package/dist/utils/action-specs/types.d.ts.map +1 -0
  632. package/dist/utils/action-specs/types.js +9 -0
  633. package/dist/utils/action-specs/types.js.map +1 -0
  634. package/dist/utils/batch-validation.d.ts +156 -0
  635. package/dist/utils/batch-validation.d.ts.map +1 -0
  636. package/dist/utils/batch-validation.example.d.ts +48 -0
  637. package/dist/utils/batch-validation.example.d.ts.map +1 -0
  638. package/dist/utils/batch-validation.example.js +180 -0
  639. package/dist/utils/batch-validation.example.js.map +1 -0
  640. package/dist/utils/batch-validation.js +345 -0
  641. package/dist/utils/batch-validation.js.map +1 -0
  642. package/dist/utils/levenshtein.d.ts +18 -0
  643. package/dist/utils/levenshtein.d.ts.map +1 -0
  644. package/dist/utils/levenshtein.js +46 -0
  645. package/dist/utils/levenshtein.js.map +1 -0
  646. package/dist/utils/parameter-validator.d.ts +3 -3
  647. package/dist/utils/parameter-validator.d.ts.map +1 -1
  648. package/dist/utils/parameter-validator.js +3 -39
  649. package/dist/utils/parameter-validator.js.map +1 -1
  650. package/dist/utils/sql-dump/core/dependency-sort.d.ts +16 -0
  651. package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +1 -0
  652. package/dist/utils/sql-dump/core/dependency-sort.js +105 -0
  653. package/dist/utils/sql-dump/core/dependency-sort.js.map +1 -0
  654. package/dist/utils/sql-dump/core/generate-dump.d.ts +13 -0
  655. package/dist/utils/sql-dump/core/generate-dump.d.ts.map +1 -0
  656. package/dist/utils/sql-dump/core/generate-dump.js +181 -0
  657. package/dist/utils/sql-dump/core/generate-dump.js.map +1 -0
  658. package/dist/utils/sql-dump/core/index-export.d.ts +9 -0
  659. package/dist/utils/sql-dump/core/index-export.d.ts.map +1 -0
  660. package/dist/utils/sql-dump/core/index-export.js +173 -0
  661. package/dist/utils/sql-dump/core/index-export.js.map +1 -0
  662. package/dist/utils/sql-dump/core/sequence-reset.d.ts +6 -0
  663. package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +1 -0
  664. package/dist/utils/sql-dump/core/sequence-reset.js +28 -0
  665. package/dist/utils/sql-dump/core/sequence-reset.js.map +1 -0
  666. package/dist/utils/sql-dump/core/table-export.d.ts +2 -0
  667. package/dist/utils/sql-dump/core/table-export.d.ts.map +1 -0
  668. package/dist/utils/sql-dump/core/table-export.js +4 -0
  669. package/dist/utils/sql-dump/core/table-export.js.map +1 -0
  670. package/dist/utils/sql-dump/core/view-export.d.ts +2 -0
  671. package/dist/utils/sql-dump/core/view-export.d.ts.map +1 -0
  672. package/dist/utils/sql-dump/core/view-export.js +4 -0
  673. package/dist/utils/sql-dump/core/view-export.js.map +1 -0
  674. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +14 -0
  675. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +1 -0
  676. package/dist/utils/sql-dump/formatters/bulk-insert.js +177 -0
  677. package/dist/utils/sql-dump/formatters/bulk-insert.js.map +1 -0
  678. package/dist/utils/sql-dump/formatters/identifiers.d.ts +6 -0
  679. package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +1 -0
  680. package/dist/utils/sql-dump/formatters/identifiers.js +16 -0
  681. package/dist/utils/sql-dump/formatters/identifiers.js.map +1 -0
  682. package/dist/utils/sql-dump/formatters/value-formatter.d.ts +14 -0
  683. package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +1 -0
  684. package/dist/utils/sql-dump/formatters/value-formatter.js +281 -0
  685. package/dist/utils/sql-dump/formatters/value-formatter.js.map +1 -0
  686. package/dist/utils/sql-dump/generators/controls.d.ts +10 -0
  687. package/dist/utils/sql-dump/generators/controls.d.ts.map +1 -0
  688. package/dist/utils/sql-dump/generators/controls.js +36 -0
  689. package/dist/utils/sql-dump/generators/controls.js.map +1 -0
  690. package/dist/utils/sql-dump/generators/headers.d.ts +6 -0
  691. package/dist/utils/sql-dump/generators/headers.d.ts.map +1 -0
  692. package/dist/utils/sql-dump/generators/headers.js +19 -0
  693. package/dist/utils/sql-dump/generators/headers.js.map +1 -0
  694. package/dist/utils/sql-dump/index.d.ts +14 -0
  695. package/dist/utils/sql-dump/index.d.ts.map +1 -0
  696. package/dist/utils/sql-dump/index.js +16 -0
  697. package/dist/utils/sql-dump/index.js.map +1 -0
  698. package/dist/utils/sql-dump/schema/indexes.d.ts +6 -0
  699. package/dist/utils/sql-dump/schema/indexes.d.ts.map +1 -0
  700. package/dist/utils/sql-dump/schema/indexes.js +42 -0
  701. package/dist/utils/sql-dump/schema/indexes.js.map +1 -0
  702. package/dist/utils/sql-dump/schema/primary-keys.d.ts +6 -0
  703. package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +1 -0
  704. package/dist/utils/sql-dump/schema/primary-keys.js +41 -0
  705. package/dist/utils/sql-dump/schema/primary-keys.js.map +1 -0
  706. package/dist/utils/sql-dump/schema/tables.d.ts +12 -0
  707. package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -0
  708. package/dist/utils/sql-dump/schema/tables.js +370 -0
  709. package/dist/utils/sql-dump/schema/tables.js.map +1 -0
  710. package/dist/utils/sql-dump/schema/views.d.ts +11 -0
  711. package/dist/utils/sql-dump/schema/views.d.ts.map +1 -0
  712. package/dist/utils/sql-dump/schema/views.js +110 -0
  713. package/dist/utils/sql-dump/schema/views.js.map +1 -0
  714. package/dist/utils/sql-dump/types.d.ts +10 -0
  715. package/dist/utils/sql-dump/types.d.ts.map +1 -0
  716. package/dist/utils/sql-dump/types.js +3 -0
  717. package/dist/utils/sql-dump/types.js.map +1 -0
  718. package/docs/ACCEPTANCE_CRITERIA.md +0 -0
  719. package/docs/AI_AGENT_GUIDE.md +2 -2
  720. package/docs/ARCHITECTURE.md +0 -0
  721. package/docs/AUTO_FILE_TRACKING.md +0 -0
  722. package/docs/BATCH_VALIDATION.md +617 -0
  723. package/docs/BEST_PRACTICES.md +0 -0
  724. package/docs/CONFIGURATION.md +0 -0
  725. package/docs/DATABASE_AUTH.md +0 -0
  726. package/docs/DECISION_CONTEXT.md +0 -0
  727. package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +2 -2
  728. package/docs/GIT_AWARE_AUTO_COMPLETE.md +0 -0
  729. package/docs/SHARED_CONCEPTS.md +2 -2
  730. package/docs/SPECIALIZED_AGENTS.md +1 -1
  731. package/docs/TASK_ACTIONS.md +7 -7
  732. package/docs/TASK_DEPENDENCIES.md +0 -0
  733. package/docs/TASK_LINKING.md +0 -0
  734. package/docs/TASK_MIGRATION.md +5 -5
  735. package/docs/TASK_OVERVIEW.md +0 -0
  736. package/docs/TASK_PRUNING.md +0 -0
  737. package/docs/TASK_SYSTEM.md +5 -5
  738. package/docs/TOOL_REFERENCE.md +1 -1
  739. package/docs/TOOL_SELECTION.md +0 -0
  740. package/docs/WORKFLOWS.md +1 -1
  741. package/docs/cli/DATABASE_MIGRATION.md +0 -0
  742. package/docs/cli/DATA_EXPORT_IMPORT.md +400 -400
  743. package/docs/cli/README.md +227 -227
  744. package/package.json +7 -5
  745. package/dist/tools/config.d.ts +0 -58
  746. package/dist/tools/config.d.ts.map +0 -1
  747. package/dist/tools/config.js +0 -281
  748. package/dist/tools/config.js.map +0 -1
  749. package/dist/tools/constraints.d.ts +0 -49
  750. package/dist/tools/constraints.d.ts.map +0 -1
  751. package/dist/tools/constraints.js +0 -378
  752. package/dist/tools/constraints.js.map +0 -1
  753. package/dist/tools/context.d.ts +0 -208
  754. package/dist/tools/context.d.ts.map +0 -1
  755. package/dist/tools/context.js +0 -1661
  756. package/dist/tools/context.js.map +0 -1
  757. package/dist/tools/files.d.ts +0 -54
  758. package/dist/tools/files.d.ts.map +0 -1
  759. package/dist/tools/files.js +0 -478
  760. package/dist/tools/files.js.map +0 -1
  761. package/dist/tools/messaging.d.ts +0 -71
  762. package/dist/tools/messaging.d.ts.map +0 -1
  763. package/dist/tools/messaging.js +0 -483
  764. package/dist/tools/messaging.js.map +0 -1
  765. package/dist/tools/utils.d.ts +0 -70
  766. package/dist/tools/utils.d.ts.map +0 -1
  767. package/dist/tools/utils.js +0 -483
  768. package/dist/tools/utils.js.map +0 -1
  769. package/dist/utils/action-specs.d.ts +0 -46
  770. package/dist/utils/action-specs.d.ts.map +0 -1
  771. package/dist/utils/action-specs.js +0 -527
  772. package/dist/utils/action-specs.js.map +0 -1
@@ -1,400 +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
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