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
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Batch Validation Usage Examples
3
+ * Demonstrates how to use batch validation utilities in batch operations
4
+ *
5
+ * This file is NOT imported by production code - it's documentation only
6
+ */
7
+ import { validateBatch, formatBatchValidationError, validateRequiredField, validateEnum, validateType, validateRange, validateLength, validateLayerFileRequirement } from './batch-validation.js';
8
+ // ============================================================================
9
+ // Example 1: Task Batch Validation
10
+ // ============================================================================
11
+ /**
12
+ * Validate single task item for batch creation
13
+ * This validator would be called by validateBatch() for each task
14
+ */
15
+ async function validateTaskItem(task, index, adapter, errors) {
16
+ const identifier = task.title || `Item ${index}`;
17
+ // Required fields
18
+ validateRequiredField(task.title, 'title', index, identifier, errors);
19
+ // String length
20
+ if (task.title) {
21
+ validateLength(task.title, 'title', 200, index, identifier, errors);
22
+ }
23
+ // Enums
24
+ if (task.status) {
25
+ validateEnum(task.status, 'status', ['todo', 'in_progress', 'waiting_review', 'blocked', 'done', 'archived'], index, identifier, errors);
26
+ }
27
+ if (task.layer) {
28
+ validateEnum(task.layer, 'layer', ['presentation', 'business', 'data', 'infrastructure', 'cross-cutting',
29
+ 'documentation', 'planning', 'coordination', 'review'], index, identifier, errors);
30
+ }
31
+ // Range validation
32
+ if (task.priority !== undefined) {
33
+ validateRange(task.priority, 'priority', 1, 4, index, identifier, errors);
34
+ }
35
+ // Type validation
36
+ if (task.tags !== undefined) {
37
+ validateType(task.tags, 'tags', 'array', index, identifier, errors);
38
+ }
39
+ // Complex field validation: file_actions
40
+ if (task.file_actions !== undefined) {
41
+ validateType(task.file_actions, 'file_actions', 'array', index, identifier, errors);
42
+ if (Array.isArray(task.file_actions)) {
43
+ task.file_actions.forEach((fa, faIndex) => {
44
+ if (!fa.action) {
45
+ errors.push({
46
+ itemIndex: index,
47
+ itemIdentifier: identifier,
48
+ field: `file_actions[${faIndex}].action`,
49
+ issue: 'Missing action field in file_actions',
50
+ fix: 'Add action field: { action: "create"|"edit"|"delete", path: "..." }',
51
+ current: fa
52
+ });
53
+ }
54
+ else {
55
+ validateEnum(fa.action, `file_actions[${faIndex}].action`, ['create', 'edit', 'delete'], index, identifier, errors);
56
+ }
57
+ if (!fa.path || typeof fa.path !== 'string') {
58
+ errors.push({
59
+ itemIndex: index,
60
+ itemIdentifier: identifier,
61
+ field: `file_actions[${faIndex}].path`,
62
+ issue: 'Missing or invalid path field in file_actions',
63
+ fix: 'Add path field as string: { action: "...", path: "src/file.ts" }',
64
+ current: fa
65
+ });
66
+ }
67
+ });
68
+ }
69
+ }
70
+ // Layer-specific validation (FILE_REQUIRED vs FILE_OPTIONAL)
71
+ validateLayerFileRequirement(task.layer, task.file_actions, index, identifier, errors);
72
+ }
73
+ /**
74
+ * Example batch operation with pre-validation
75
+ */
76
+ async function batchCreateTasksExample(params, adapter) {
77
+ // Basic validation
78
+ if (!params.tasks || !Array.isArray(params.tasks)) {
79
+ throw new Error('Parameter "tasks" is required and must be an array');
80
+ }
81
+ if (params.tasks.length > 50) {
82
+ throw new Error('Parameter "tasks" must contain at most 50 items');
83
+ }
84
+ // ✅ PRE-VALIDATION: Check ALL items BEFORE transaction
85
+ const validationResult = await validateBatch(params.tasks, validateTaskItem, adapter);
86
+ // ✅ FAIL FAST: If any validation errors, throw formatted error
87
+ if (!validationResult.valid) {
88
+ throw new Error(formatBatchValidationError(validationResult));
89
+ }
90
+ // Validation passed - proceed with transaction
91
+ console.log('All items valid, proceeding with batch creation...');
92
+ // ... existing batch creation logic
93
+ }
94
+ // ============================================================================
95
+ // Example 2: Decision Batch Validation
96
+ // ============================================================================
97
+ /**
98
+ * Validate single decision item for batch set
99
+ */
100
+ async function validateDecisionItem(decision, index, adapter, errors) {
101
+ const identifier = decision.key || `Item ${index}`;
102
+ // Required fields
103
+ validateRequiredField(decision.key, 'key', index, identifier, errors);
104
+ validateRequiredField(decision.value, 'value', index, identifier, errors);
105
+ // Enums
106
+ if (decision.status) {
107
+ validateEnum(decision.status, 'status', ['active', 'deprecated', 'draft'], index, identifier, errors);
108
+ }
109
+ if (decision.layer) {
110
+ validateEnum(decision.layer, 'layer', ['presentation', 'business', 'data', 'infrastructure', 'cross-cutting',
111
+ 'documentation', 'planning', 'coordination', 'review'], index, identifier, errors);
112
+ }
113
+ // Type validation
114
+ if (decision.tags !== undefined) {
115
+ validateType(decision.tags, 'tags', 'array', index, identifier, errors);
116
+ }
117
+ }
118
+ // ============================================================================
119
+ // Example 3: File Change Batch Validation
120
+ // ============================================================================
121
+ /**
122
+ * Validate single file change item for batch record
123
+ */
124
+ async function validateFileChangeItem(fileChange, index, adapter, errors) {
125
+ const identifier = fileChange.file_path || `Item ${index}`;
126
+ // Required fields
127
+ validateRequiredField(fileChange.file_path, 'file_path', index, identifier, errors);
128
+ // Enums
129
+ if (fileChange.change_type) {
130
+ validateEnum(fileChange.change_type, 'change_type', ['created', 'modified', 'deleted'], index, identifier, errors);
131
+ }
132
+ if (fileChange.layer) {
133
+ validateEnum(fileChange.layer, 'layer', ['presentation', 'business', 'data', 'infrastructure', 'cross-cutting',
134
+ 'documentation', 'planning', 'coordination', 'review'], index, identifier, errors);
135
+ }
136
+ }
137
+ // ============================================================================
138
+ // Example 4: Error Output Examples
139
+ // ============================================================================
140
+ /**
141
+ * Example error message for batch with multiple issues
142
+ *
143
+ * Input:
144
+ * {
145
+ * tasks: [
146
+ * { title: "Task 1", layer: "busines", priority: 5 },
147
+ * { layer: "presentation" }, // Missing title and file_actions
148
+ * { title: "Task 3", layer: "planning" } // Valid
149
+ * ]
150
+ * }
151
+ *
152
+ * Output:
153
+ * ```
154
+ * Batch validation failed. Found 4 validation error(s) in 2 item(s). 1 items are valid.
155
+ *
156
+ * Item 0 (Task 1):
157
+ * ❌ layer: Invalid layer: "busines"
158
+ * 💡 Fix: Change to "business" (closest match)
159
+ * Current: "busines"
160
+ * Valid: presentation, business, data, infrastructure, cross-cutting, documentation, planning, coordination, review
161
+ *
162
+ * ❌ priority: Field "priority" must be between 1 and 4
163
+ * 💡 Fix: Provide a number between 1 and 4
164
+ * Current: 5
165
+ *
166
+ * Item 1 (Item 1):
167
+ * ❌ title: Field "title" is required but missing or empty
168
+ * 💡 Fix: Provide a non-empty value for "title"
169
+ * Current: undefined
170
+ *
171
+ * ❌ file_actions: Layer "presentation" requires file_actions parameter
172
+ * 💡 Fix: Add file_actions: [{ action: "edit", path: "src/..." }] or use [] for planning tasks
173
+ * Current: undefined
174
+ * Valid: Add file_actions array, Change to FILE_OPTIONAL layer (planning/coordination/review)
175
+ *
176
+ * 💡 Result: 1 valid, 2 invalid
177
+ * 💡 Action: Fix the 2 invalid item(s) and retry batch operation
178
+ * ```
179
+ */
180
+ //# sourceMappingURL=batch-validation.example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-validation.example.js","sourceRoot":"","sources":["../../src/utils/batch-validation.example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,345 @@
1
+ /**
2
+ * Batch Validation Utilities
3
+ * Pre-validates batch items BEFORE transaction to reduce failures by 70-85%
4
+ *
5
+ * Features:
6
+ * - Comprehensive validation (required fields, types, enums, ranges, FK references)
7
+ * - Reports ALL errors at once (not just first error)
8
+ * - AI-friendly error messages with actionable fix instructions
9
+ * - Reusable validators for all batch operations
10
+ *
11
+ * Usage:
12
+ * const result = await validateBatch(items, validateTaskItem, adapter);
13
+ * if (!result.valid) {
14
+ * throw new Error(formatBatchValidationError(result));
15
+ * }
16
+ */
17
+ import { levenshteinDistance } from './levenshtein.js';
18
+ import { FILE_REQUIRED_LAYERS } from '../constants.js';
19
+ // ============================================================================
20
+ // Core Field Validators (Reusable Building Blocks)
21
+ // ============================================================================
22
+ /**
23
+ * Validate required field exists and is non-empty
24
+ *
25
+ * @param value Field value to check
26
+ * @param fieldName Field name for error messages
27
+ * @param itemIndex Item index in batch
28
+ * @param itemIdentifier Item identifier (e.g., title, key)
29
+ * @param errors Error array to append to
30
+ */
31
+ export function validateRequiredField(value, fieldName, itemIndex, itemIdentifier, errors) {
32
+ if (value === undefined || value === null || value === '') {
33
+ errors.push({
34
+ itemIndex,
35
+ itemIdentifier,
36
+ field: fieldName,
37
+ issue: `Field "${fieldName}" is required but missing or empty`,
38
+ fix: `Provide a non-empty value for "${fieldName}"`,
39
+ current: value
40
+ });
41
+ }
42
+ }
43
+ /**
44
+ * Find closest match for typo suggestions using Levenshtein distance
45
+ *
46
+ * @param value Provided value
47
+ * @param validOptions Valid enum values
48
+ * @returns Closest match or null if no good match
49
+ */
50
+ function findClosestMatch(value, validOptions) {
51
+ let bestMatch = null;
52
+ let bestDistance = Infinity;
53
+ const lowerValue = String(value).toLowerCase();
54
+ for (const option of validOptions) {
55
+ const distance = levenshteinDistance(lowerValue, option.toLowerCase());
56
+ if (distance <= 2 && distance < bestDistance) {
57
+ bestDistance = distance;
58
+ bestMatch = option;
59
+ }
60
+ }
61
+ return bestMatch;
62
+ }
63
+ /**
64
+ * Validate enum value (status, layer, priority, etc.)
65
+ * Suggests closest match using Levenshtein distance for typos
66
+ *
67
+ * @param value Value to validate
68
+ * @param fieldName Field name for error messages
69
+ * @param validOptions Valid enum values
70
+ * @param itemIndex Item index in batch
71
+ * @param itemIdentifier Item identifier
72
+ * @param errors Error array to append to
73
+ */
74
+ export function validateEnum(value, fieldName, validOptions, itemIndex, itemIdentifier, errors) {
75
+ if (value === undefined)
76
+ return; // Optional field
77
+ const strValue = String(value);
78
+ if (!validOptions.includes(strValue)) {
79
+ // Suggest closest match using Levenshtein distance
80
+ const suggestion = findClosestMatch(strValue, validOptions);
81
+ errors.push({
82
+ itemIndex,
83
+ itemIdentifier,
84
+ field: fieldName,
85
+ issue: `Invalid ${fieldName}: "${value}"`,
86
+ fix: suggestion
87
+ ? `Change to "${suggestion}" (closest match)`
88
+ : `Use one of: ${validOptions.join(', ')}`,
89
+ current: value,
90
+ validOptions: [...validOptions]
91
+ });
92
+ }
93
+ }
94
+ /**
95
+ * Validate type (array, string, number, object)
96
+ *
97
+ * @param value Value to validate
98
+ * @param fieldName Field name for error messages
99
+ * @param expectedType Expected type
100
+ * @param itemIndex Item index in batch
101
+ * @param itemIdentifier Item identifier
102
+ * @param errors Error array to append to
103
+ */
104
+ export function validateType(value, fieldName, expectedType, itemIndex, itemIdentifier, errors) {
105
+ if (value === undefined)
106
+ return; // Optional field
107
+ let isValid = false;
108
+ let actualType = typeof value;
109
+ switch (expectedType) {
110
+ case 'array':
111
+ isValid = Array.isArray(value);
112
+ actualType = Array.isArray(value) ? 'array' : actualType;
113
+ break;
114
+ case 'string':
115
+ isValid = typeof value === 'string';
116
+ break;
117
+ case 'number':
118
+ isValid = typeof value === 'number';
119
+ break;
120
+ case 'object':
121
+ isValid = typeof value === 'object' && value !== null && !Array.isArray(value);
122
+ break;
123
+ }
124
+ if (!isValid) {
125
+ errors.push({
126
+ itemIndex,
127
+ itemIdentifier,
128
+ field: fieldName,
129
+ issue: `Field "${fieldName}" must be ${expectedType}, got ${actualType}`,
130
+ fix: expectedType === 'array'
131
+ ? `Change to array format: ["item1", "item2"]`
132
+ : `Provide ${expectedType} value`,
133
+ current: value
134
+ });
135
+ }
136
+ }
137
+ /**
138
+ * Validate range (priority, numeric fields)
139
+ *
140
+ * @param value Value to validate
141
+ * @param fieldName Field name for error messages
142
+ * @param min Minimum value (inclusive)
143
+ * @param max Maximum value (inclusive)
144
+ * @param itemIndex Item index in batch
145
+ * @param itemIdentifier Item identifier
146
+ * @param errors Error array to append to
147
+ */
148
+ export function validateRange(value, fieldName, min, max, itemIndex, itemIdentifier, errors) {
149
+ if (value === undefined)
150
+ return; // Optional field
151
+ const numValue = Number(value);
152
+ if (isNaN(numValue) || numValue < min || numValue > max) {
153
+ errors.push({
154
+ itemIndex,
155
+ itemIdentifier,
156
+ field: fieldName,
157
+ issue: `Field "${fieldName}" must be between ${min} and ${max}`,
158
+ fix: `Provide a number between ${min} and ${max}`,
159
+ current: value
160
+ });
161
+ }
162
+ }
163
+ /**
164
+ * Validate string length
165
+ *
166
+ * @param value Value to validate
167
+ * @param fieldName Field name for error messages
168
+ * @param maxLength Maximum length
169
+ * @param itemIndex Item index in batch
170
+ * @param itemIdentifier Item identifier
171
+ * @param errors Error array to append to
172
+ */
173
+ export function validateLength(value, fieldName, maxLength, itemIndex, itemIdentifier, errors) {
174
+ if (value === undefined)
175
+ return; // Optional field
176
+ const strValue = String(value);
177
+ if (strValue.length > maxLength) {
178
+ errors.push({
179
+ itemIndex,
180
+ itemIdentifier,
181
+ field: fieldName,
182
+ issue: `Field "${fieldName}" exceeds maximum length of ${maxLength} characters`,
183
+ fix: `Shorten to ${maxLength} characters or less (currently ${strValue.length} chars)`,
184
+ current: value
185
+ });
186
+ }
187
+ }
188
+ /**
189
+ * Validate foreign key reference (layer, agent, tag, etc.)
190
+ * Requires database lookup for existence check
191
+ *
192
+ * @param value Value to validate
193
+ * @param fieldName Field name for error messages
194
+ * @param tableName Master table name (e.g., 'm_layers', 'm_agents')
195
+ * @param columnName Column name to check (usually 'name' or 'id')
196
+ * @param adapter Database adapter
197
+ * @param itemIndex Item index in batch
198
+ * @param itemIdentifier Item identifier
199
+ * @param errors Error array to append to
200
+ */
201
+ export async function validateForeignKey(value, fieldName, tableName, columnName, adapter, itemIndex, itemIdentifier, errors) {
202
+ if (value === undefined)
203
+ return; // Optional field
204
+ const knex = adapter.getKnex();
205
+ const exists = await knex(tableName)
206
+ .where(columnName, value)
207
+ .first();
208
+ if (!exists) {
209
+ // For layers, provide valid options
210
+ if (tableName === 'm_layers') {
211
+ const validLayers = await knex('m_layers').select('name');
212
+ errors.push({
213
+ itemIndex,
214
+ itemIdentifier,
215
+ field: fieldName,
216
+ issue: `Invalid layer: "${value}" does not exist`,
217
+ fix: `Use one of: ${validLayers.map((l) => l.name).join(', ')}`,
218
+ current: value,
219
+ validOptions: validLayers.map((l) => l.name)
220
+ });
221
+ }
222
+ else {
223
+ errors.push({
224
+ itemIndex,
225
+ itemIdentifier,
226
+ field: fieldName,
227
+ issue: `Reference "${value}" not found in ${tableName}`,
228
+ fix: `Ensure "${value}" exists in ${tableName} before creating this item`,
229
+ current: value
230
+ });
231
+ }
232
+ }
233
+ }
234
+ /**
235
+ * Validate layer-specific constraints (FILE_REQUIRED vs FILE_OPTIONAL)
236
+ * FILE_REQUIRED layers must have file_actions parameter (or empty array)
237
+ *
238
+ * @param layer Layer name
239
+ * @param fileActions file_actions parameter value
240
+ * @param itemIndex Item index in batch
241
+ * @param itemIdentifier Item identifier
242
+ * @param errors Error array to append to
243
+ */
244
+ export function validateLayerFileRequirement(layer, fileActions, itemIndex, itemIdentifier, errors) {
245
+ if (!layer)
246
+ return; // No layer specified, skip check
247
+ const fileRequiredLayers = FILE_REQUIRED_LAYERS;
248
+ if (fileRequiredLayers.includes(layer)) {
249
+ if (fileActions === undefined) {
250
+ errors.push({
251
+ itemIndex,
252
+ itemIdentifier,
253
+ field: 'file_actions',
254
+ issue: `Layer "${layer}" requires file_actions parameter`,
255
+ fix: `Add file_actions: [{ action: "edit", path: "src/..." }] or use [] for planning tasks`,
256
+ current: undefined,
257
+ validOptions: [
258
+ 'Add file_actions array',
259
+ 'Change to FILE_OPTIONAL layer (planning/coordination/review)'
260
+ ]
261
+ });
262
+ }
263
+ }
264
+ }
265
+ // ============================================================================
266
+ // Batch Validation Orchestrator
267
+ // ============================================================================
268
+ /**
269
+ * Validate entire batch before transaction
270
+ * Returns structured result with ALL validation errors
271
+ *
272
+ * @param items Array of items to validate
273
+ * @param itemValidator Validator function for single item
274
+ * @param adapter Database adapter
275
+ * @returns Validation result with all errors
276
+ */
277
+ export async function validateBatch(items, itemValidator, adapter) {
278
+ const errors = [];
279
+ // Validate all items (don't stop on first error)
280
+ for (let i = 0; i < items.length; i++) {
281
+ await itemValidator(items[i], i, adapter, errors);
282
+ }
283
+ // Calculate statistics
284
+ const invalidIndices = new Set(errors.map(e => e.itemIndex));
285
+ const invalidCount = invalidIndices.size;
286
+ const validCount = items.length - invalidCount;
287
+ // Generate summary
288
+ const summary = errors.length === 0
289
+ ? `All ${items.length} items are valid`
290
+ : `Found ${errors.length} validation error(s) in ${invalidCount} item(s). ${validCount} items are valid.`;
291
+ return {
292
+ valid: errors.length === 0,
293
+ errors,
294
+ validCount,
295
+ invalidCount,
296
+ summary
297
+ };
298
+ }
299
+ // ============================================================================
300
+ // Error Message Formatting
301
+ // ============================================================================
302
+ /**
303
+ * Format batch validation errors for AI comprehension
304
+ * Returns human-readable message with actionable fix instructions
305
+ *
306
+ * @param result Batch validation result
307
+ * @returns Formatted error message
308
+ */
309
+ export function formatBatchValidationError(result) {
310
+ if (result.valid) {
311
+ return result.summary;
312
+ }
313
+ // Group errors by item index
314
+ const errorsByItem = new Map();
315
+ for (const error of result.errors) {
316
+ if (!errorsByItem.has(error.itemIndex)) {
317
+ errorsByItem.set(error.itemIndex, []);
318
+ }
319
+ errorsByItem.get(error.itemIndex).push(error);
320
+ }
321
+ // Build formatted message
322
+ const lines = [];
323
+ lines.push(`Batch validation failed. ${result.summary}`);
324
+ lines.push('');
325
+ // List each invalid item with its errors
326
+ for (const [itemIndex, itemErrors] of errorsByItem.entries()) {
327
+ const identifier = itemErrors[0].itemIdentifier;
328
+ lines.push(`Item ${itemIndex} (${identifier}):`);
329
+ for (const error of itemErrors) {
330
+ lines.push(` ❌ ${error.field}: ${error.issue}`);
331
+ lines.push(` 💡 Fix: ${error.fix}`);
332
+ if (error.current !== undefined) {
333
+ lines.push(` Current: ${JSON.stringify(error.current)}`);
334
+ }
335
+ if (error.validOptions) {
336
+ lines.push(` Valid: ${error.validOptions.join(', ')}`);
337
+ }
338
+ lines.push('');
339
+ }
340
+ }
341
+ lines.push(`💡 Result: ${result.validCount} valid, ${result.invalidCount} invalid`);
342
+ lines.push(`💡 Action: Fix the ${result.invalidCount} invalid item(s) and retry batch operation`);
343
+ return lines.join('\n');
344
+ }
345
+ //# sourceMappingURL=batch-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-validation.js","sourceRoot":"","sources":["../../src/utils/batch-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Levenshtein Distance Calculation
3
+ * Shared utility for typo detection across validation modules
4
+ *
5
+ * Used by:
6
+ * - parameter-validator.ts (parameter typo suggestions)
7
+ * - batch-validation.ts (enum value typo suggestions)
8
+ */
9
+ /**
10
+ * Calculate Levenshtein distance between two strings
11
+ * Used for typo detection (e.g., "busines" → "business", "context_key" → "key")
12
+ *
13
+ * @param a First string
14
+ * @param b Second string
15
+ * @returns Edit distance (number of single-character edits needed)
16
+ */
17
+ export declare function levenshteinDistance(a: string, b: string): number;
18
+ //# sourceMappingURL=levenshtein.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levenshtein.d.ts","sourceRoot":"","sources":["../../src/utils/levenshtein.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BhE"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Levenshtein Distance Calculation
3
+ * Shared utility for typo detection across validation modules
4
+ *
5
+ * Used by:
6
+ * - parameter-validator.ts (parameter typo suggestions)
7
+ * - batch-validation.ts (enum value typo suggestions)
8
+ */
9
+ /**
10
+ * Calculate Levenshtein distance between two strings
11
+ * Used for typo detection (e.g., "busines" → "business", "context_key" → "key")
12
+ *
13
+ * @param a First string
14
+ * @param b Second string
15
+ * @returns Edit distance (number of single-character edits needed)
16
+ */
17
+ export function levenshteinDistance(a, b) {
18
+ if (a.length === 0)
19
+ return b.length;
20
+ if (b.length === 0)
21
+ return a.length;
22
+ const matrix = [];
23
+ // Initialize matrix
24
+ for (let i = 0; i <= b.length; i++) {
25
+ matrix[i] = [i];
26
+ }
27
+ for (let j = 0; j <= a.length; j++) {
28
+ matrix[0][j] = j;
29
+ }
30
+ // Fill matrix
31
+ for (let i = 1; i <= b.length; i++) {
32
+ for (let j = 1; j <= a.length; j++) {
33
+ if (b.charAt(i - 1) === a.charAt(j - 1)) {
34
+ matrix[i][j] = matrix[i - 1][j - 1];
35
+ }
36
+ else {
37
+ matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
38
+ matrix[i][j - 1] + 1, // insertion
39
+ matrix[i - 1][j] + 1 // deletion
40
+ );
41
+ }
42
+ }
43
+ }
44
+ return matrix[b.length][a.length];
45
+ }
46
+ //# sourceMappingURL=levenshtein.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levenshtein.js","sourceRoot":"","sources":["../../src/utils/levenshtein.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAS,EAAE,CAAS;IACtD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IAEpC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,oBAAoB;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,cAAc;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe;gBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAM,YAAY;gBACtC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAM,WAAW;iBACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -11,7 +11,7 @@
11
11
  * validateActionParams('decision', 'set', params);
12
12
  * // Throws ValidationError with structured details if validation fails
13
13
  */
14
- import type { DecisionAction, TaskAction, FileAction, ConstraintAction, StatsAction, ConfigAction, MessageAction } from '../types.js';
14
+ import type { DecisionAction, TaskAction, FileAction, ConstraintAction, StatsAction } from '../types/actions.js';
15
15
  /**
16
16
  * Validate action parameters and throw structured error if invalid
17
17
  *
@@ -20,10 +20,10 @@ import type { DecisionAction, TaskAction, FileAction, ConstraintAction, StatsAct
20
20
  * @param params Parameters provided by user
21
21
  * @throws Error with structured ValidationError JSON if validation fails
22
22
  */
23
- export declare function validateActionParams(tool: string, action: DecisionAction | TaskAction | FileAction | ConstraintAction | StatsAction | ConfigAction | MessageAction | string, params: any): void;
23
+ export declare function validateActionParams(tool: string, action: DecisionAction | TaskAction | FileAction | ConstraintAction | StatsAction | string, params: any): void;
24
24
  /**
25
25
  * Validate batch operation parameters
26
- * Used by set_batch, record_batch, batch_create actions
26
+ * Used by set_batch, record_batch, create_batch actions
27
27
  *
28
28
  * @param tool Tool name
29
29
  * @param batchParamName Name of the batch array parameter (e.g., 'decisions', 'tasks', 'file_changes')
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-validator.d.ts","sourceRoot":"","sources":["../../src/utils/parameter-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAEV,cAAc,EACd,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,EACd,MAAM,aAAa,CAAC;AAgKrB;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,EACzH,MAAM,EAAE,GAAG,GACV,IAAI,CA8EN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,GAAG,EAAE,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAW,GACpB,IAAI,CAkDN;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAM1D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAcpF"}
1
+ {"version":3,"file":"parameter-validator.d.ts","sourceRoot":"","sources":["../../src/utils/parameter-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAuH7B;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,GAAG,WAAW,GAAG,MAAM,EAC1F,MAAM,EAAE,GAAG,GACV,IAAI,CA8EN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,GAAG,EAAE,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAW,GACpB,IAAI,CAkDN;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAM1D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAcpF"}