sqlew 3.7.4 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/CHANGELOG.md +243 -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 +12 -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 +5 -3
  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,60 +1,173 @@
1
1
  export async function up(knex) {
2
2
  // ============================================================================
3
3
  // Initial Data Seeding
4
- // Database-aware INSERT syntax: SQLite uses "INSERT OR IGNORE", MySQL/MariaDB use "INSERT IGNORE"
4
+ // Database-aware INSERT syntax:
5
+ // - SQLite: INSERT OR IGNORE
6
+ // - MySQL/MariaDB: INSERT IGNORE
7
+ // - PostgreSQL: INSERT ... ON CONFLICT DO NOTHING
5
8
  // ============================================================================
6
- const isMySQL = knex.client.config.client === 'mysql2';
7
- const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
9
+ const client = knex.client.config.client;
10
+ const isMySQL = client === 'mysql2' || client === 'mysql';
11
+ const isPostgreSQL = client === 'pg' || client === 'postgresql';
12
+ const isSQLite = client === 'sqlite3' || client === 'better-sqlite3';
8
13
  // Seed layers (5 predefined architecture layers)
9
- await knex.raw(`
10
- ${insertIgnore} INTO m_layers (id, name) VALUES
11
- (1, 'presentation'),
12
- (2, 'business'),
13
- (3, 'data'),
14
- (4, 'infrastructure'),
15
- (5, 'cross-cutting')
16
- `);
14
+ if (isPostgreSQL) {
15
+ await knex.raw(`
16
+ INSERT INTO m_layers (id, name) VALUES
17
+ (1, 'presentation'),
18
+ (2, 'business'),
19
+ (3, 'data'),
20
+ (4, 'infrastructure'),
21
+ (5, 'cross-cutting')
22
+ ON CONFLICT (id) DO NOTHING
23
+ `);
24
+ }
25
+ else {
26
+ const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
27
+ await knex.raw(`
28
+ ${insertIgnore} INTO m_layers (id, name) VALUES
29
+ (1, 'presentation'),
30
+ (2, 'business'),
31
+ (3, 'data'),
32
+ (4, 'infrastructure'),
33
+ (5, 'cross-cutting')
34
+ `);
35
+ }
17
36
  // Seed constraint categories
18
- await knex.raw(`
19
- ${insertIgnore} INTO m_constraint_categories (name) VALUES
20
- ('architecture'),
21
- ('security'),
22
- ('performance'),
23
- ('compatibility'),
24
- ('maintainability')
25
- `);
37
+ if (isPostgreSQL) {
38
+ await knex.raw(`
39
+ INSERT INTO m_constraint_categories (name) VALUES
40
+ ('architecture'),
41
+ ('security'),
42
+ ('performance'),
43
+ ('compatibility'),
44
+ ('maintainability')
45
+ ON CONFLICT (name) DO NOTHING
46
+ `);
47
+ }
48
+ else {
49
+ const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
50
+ await knex.raw(`
51
+ ${insertIgnore} INTO m_constraint_categories (name) VALUES
52
+ ('architecture'),
53
+ ('security'),
54
+ ('performance'),
55
+ ('compatibility'),
56
+ ('maintainability')
57
+ `);
58
+ }
26
59
  // Seed common tags
27
- await knex.raw(`
28
- ${insertIgnore} INTO m_tags (name) VALUES
29
- ('authentication'),
30
- ('authorization'),
31
- ('validation'),
32
- ('error-handling'),
33
- ('logging'),
34
- ('performance'),
35
- ('security'),
36
- ('testing')
37
- `);
60
+ // Check if project_id column exists (added in v3.7.0 multi-project migration)
61
+ const hasProjectId = await knex.schema.hasColumn('m_tags', 'project_id');
62
+ if (hasProjectId) {
63
+ // New schema with project_id
64
+ if (isPostgreSQL) {
65
+ await knex.raw(`
66
+ INSERT INTO m_tags (project_id, name) VALUES
67
+ (1, 'authentication'),
68
+ (1, 'authorization'),
69
+ (1, 'validation'),
70
+ (1, 'error-handling'),
71
+ (1, 'logging'),
72
+ (1, 'performance'),
73
+ (1, 'security'),
74
+ (1, 'testing')
75
+ ON CONFLICT (project_id, name) DO NOTHING
76
+ `);
77
+ }
78
+ else {
79
+ const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
80
+ await knex.raw(`
81
+ ${insertIgnore} INTO m_tags (project_id, name) VALUES
82
+ (1, 'authentication'),
83
+ (1, 'authorization'),
84
+ (1, 'validation'),
85
+ (1, 'error-handling'),
86
+ (1, 'logging'),
87
+ (1, 'performance'),
88
+ (1, 'security'),
89
+ (1, 'testing')
90
+ `);
91
+ }
92
+ }
93
+ else {
94
+ // Old schema without project_id (v3.1-v3.6)
95
+ if (isPostgreSQL) {
96
+ await knex.raw(`
97
+ INSERT INTO m_tags (name) VALUES
98
+ ('authentication'),
99
+ ('authorization'),
100
+ ('validation'),
101
+ ('error-handling'),
102
+ ('logging'),
103
+ ('performance'),
104
+ ('security'),
105
+ ('testing')
106
+ ON CONFLICT (name) DO NOTHING
107
+ `);
108
+ }
109
+ else {
110
+ const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
111
+ await knex.raw(`
112
+ ${insertIgnore} INTO m_tags (name) VALUES
113
+ ('authentication'),
114
+ ('authorization'),
115
+ ('validation'),
116
+ ('error-handling'),
117
+ ('logging'),
118
+ ('performance'),
119
+ ('security'),
120
+ ('testing')
121
+ `);
122
+ }
123
+ }
38
124
  // Seed configuration defaults
39
125
  // Note: 'key' and 'value' are MySQL reserved words, so we escape them with backticks for MySQL/MariaDB
40
126
  const keyCol = isMySQL ? '`key`' : 'key';
41
127
  const valueCol = isMySQL ? '`value`' : 'value';
42
- await knex.raw(`
43
- ${insertIgnore} INTO m_config (${keyCol}, ${valueCol}) VALUES
44
- ('autodelete_ignore_weekend', '1'),
45
- ('autodelete_message_hours', '24'),
46
- ('autodelete_file_history_days', '7')
47
- `);
128
+ if (isPostgreSQL) {
129
+ await knex.raw(`
130
+ INSERT INTO m_config (key, value) VALUES
131
+ ('autodelete_ignore_weekend', '1'),
132
+ ('autodelete_message_hours', '24'),
133
+ ('autodelete_file_history_days', '7')
134
+ ON CONFLICT (key) DO NOTHING
135
+ `);
136
+ }
137
+ else {
138
+ const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
139
+ await knex.raw(`
140
+ ${insertIgnore} INTO m_config (${keyCol}, ${valueCol}) VALUES
141
+ ('autodelete_ignore_weekend', '1'),
142
+ ('autodelete_message_hours', '24'),
143
+ ('autodelete_file_history_days', '7')
144
+ `);
145
+ }
48
146
  // Seed task statuses
49
- await knex.raw(`
50
- ${insertIgnore} INTO m_task_statuses (id, name) VALUES
51
- (1, 'todo'),
52
- (2, 'in_progress'),
53
- (3, 'waiting_review'),
54
- (4, 'blocked'),
55
- (5, 'done'),
56
- (6, 'archived')
57
- `);
147
+ if (isPostgreSQL) {
148
+ await knex.raw(`
149
+ INSERT INTO m_task_statuses (id, name) VALUES
150
+ (1, 'todo'),
151
+ (2, 'in_progress'),
152
+ (3, 'waiting_review'),
153
+ (4, 'blocked'),
154
+ (5, 'done'),
155
+ (6, 'archived')
156
+ ON CONFLICT (id) DO NOTHING
157
+ `);
158
+ }
159
+ else {
160
+ const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
161
+ await knex.raw(`
162
+ ${insertIgnore} INTO m_task_statuses (id, name) VALUES
163
+ (1, 'todo'),
164
+ (2, 'in_progress'),
165
+ (3, 'waiting_review'),
166
+ (4, 'blocked'),
167
+ (5, 'done'),
168
+ (6, 'archived')
169
+ `);
170
+ }
58
171
  console.log('✅ Master data seeded successfully');
59
172
  }
60
173
  export async function down(knex) {
@@ -1 +1 @@
1
- {"version":3,"file":"20251025021416_seed_master_data.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025021416_seed_master_data.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,+EAA+E;IAC/E,uBAAuB;IACvB,kGAAkG;IAClG,+EAA+E;IAE/E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;IACvD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEpE,iDAAiD;IACjD,MAAM,IAAI,CAAC,GAAG,CAAC;MACX,YAAY;;;;;;GAMf,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,IAAI,CAAC,GAAG,CAAC;MACX,YAAY;;;;;;GAMf,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,IAAI,CAAC,GAAG,CAAC;MACX,YAAY;;;;;;;;;GASf,CAAC,CAAC;IAEH,8BAA8B;IAC9B,uGAAuG;IACvG,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAE/C,MAAM,IAAI,CAAC,GAAG,CAAC;MACX,YAAY,mBAAmB,MAAM,KAAK,QAAQ;;;;GAIrD,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,IAAI,CAAC,GAAG,CAAC;MACX,YAAY;;;;;;;GAOf,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACnD,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,wBAAwB;IACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"20251025021416_seed_master_data.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025021416_seed_master_data.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"20251025070349_create_views.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA4DjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2IlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpD"}
1
+ {"version":3,"file":"20251025070349_create_views.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAsHjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2IlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpD"}
@@ -50,6 +50,58 @@ function getCreateViewStatement(knex, viewName) {
50
50
  return `CREATE VIEW IF NOT EXISTS ${viewName} AS`;
51
51
  }
52
52
  }
53
+ /**
54
+ * Returns database-specific string aggregation function
55
+ * @param knex - Knex instance with database client configuration
56
+ * @param column - Column name to aggregate
57
+ * @param separator - Separator string (default: ',')
58
+ * @returns SQL function string for string aggregation
59
+ */
60
+ function getStringAggFunction(knex, column, separator = ',') {
61
+ const client = knex.client.config.client;
62
+ switch (client) {
63
+ case 'mysql':
64
+ case 'mysql2':
65
+ case 'better-sqlite3':
66
+ case 'sqlite3':
67
+ return `GROUP_CONCAT(${column}, '${separator}')`;
68
+ case 'pg':
69
+ case 'postgresql':
70
+ return `string_agg(${column}, '${separator}')`;
71
+ default:
72
+ return `GROUP_CONCAT(${column}, '${separator}')`;
73
+ }
74
+ }
75
+ /**
76
+ * Returns database-specific boolean TRUE value
77
+ * @param knex - Knex instance with database client configuration
78
+ * @returns SQL boolean TRUE value
79
+ */
80
+ function getBooleanTrue(knex) {
81
+ const client = knex.client.config.client;
82
+ switch (client) {
83
+ case 'pg':
84
+ case 'postgresql':
85
+ return 'TRUE';
86
+ default: // MySQL, SQLite use 1 for true
87
+ return '1';
88
+ }
89
+ }
90
+ /**
91
+ * Returns database-specific boolean FALSE value
92
+ * @param knex - Knex instance with database client configuration
93
+ * @returns SQL boolean FALSE value
94
+ */
95
+ function getBooleanFalse(knex) {
96
+ const client = knex.client.config.client;
97
+ switch (client) {
98
+ case 'pg':
99
+ case 'postgresql':
100
+ return 'FALSE';
101
+ default: // MySQL, SQLite use 0 for false
102
+ return '0';
103
+ }
104
+ }
53
105
  export async function up(knex) {
54
106
  // ============================================================================
55
107
  // Token-Efficient Views (v_ prefix)
@@ -63,10 +115,10 @@ export async function up(knex) {
63
115
  d.version,
64
116
  CASE d.status WHEN 1 THEN 'active' WHEN 2 THEN 'deprecated' ELSE 'draft' END as status,
65
117
  l.name as layer,
66
- (SELECT GROUP_CONCAT(t2.name, ',') FROM t_decision_tags dt2
118
+ (SELECT ${getStringAggFunction(knex, 't2.name', ',')} FROM t_decision_tags dt2
67
119
  JOIN m_tags t2 ON dt2.tag_id = t2.id
68
120
  WHERE dt2.decision_key_id = d.key_id) as tags,
69
- (SELECT GROUP_CONCAT(s2.name, ',') FROM t_decision_scopes ds2
121
+ (SELECT ${getStringAggFunction(knex, 's2.name', ',')} FROM t_decision_scopes ds2
70
122
  JOIN m_scopes s2 ON ds2.scope_id = s2.id
71
123
  WHERE ds2.decision_key_id = d.key_id) as scopes,
72
124
  a.name as decided_by,
@@ -104,7 +156,7 @@ export async function up(knex) {
104
156
  FROM m_layers l
105
157
  LEFT JOIN t_decisions d ON l.id = d.layer_id AND d.status = 1
106
158
  LEFT JOIN t_file_changes fc ON l.id = fc.layer_id AND fc.ts > ${getCurrentUnixTimestamp(knex)} - 3600
107
- LEFT JOIN t_constraints c ON l.id = c.layer_id AND c.active = 1
159
+ LEFT JOIN t_constraints c ON l.id = c.layer_id AND c.active = ${getBooleanTrue(knex)}
108
160
  GROUP BY l.id
109
161
  `);
110
162
  // Unread Messages by Priority
@@ -116,8 +168,8 @@ export async function up(knex) {
116
168
  COUNT(*) as count
117
169
  FROM t_agent_messages m
118
170
  JOIN m_agents a ON m.to_agent_id = a.id
119
- WHERE m.read = 0
120
- GROUP BY m.to_agent_id, m.priority
171
+ WHERE m.read = ${getBooleanFalse(knex)}
172
+ GROUP BY a.name, m.priority
121
173
  ORDER BY m.priority DESC
122
174
  `);
123
175
  // Recent File Changes (With Layer)
@@ -146,7 +198,7 @@ export async function up(knex) {
146
198
  l.name as layer,
147
199
  c.constraint_text,
148
200
  CASE c.priority WHEN 4 THEN 'critical' WHEN 3 THEN 'high' WHEN 2 THEN 'medium' ELSE 'low' END as priority,
149
- (SELECT GROUP_CONCAT(t2.name, ',') FROM t_constraint_tags ct2
201
+ (SELECT ${getStringAggFunction(knex, 't2.name', ',')} FROM t_constraint_tags ct2
150
202
  JOIN m_tags t2 ON ct2.tag_id = t2.id
151
203
  WHERE ct2.constraint_id = c.id) as tags,
152
204
  a.name as created_by,
@@ -155,7 +207,7 @@ export async function up(knex) {
155
207
  JOIN m_constraint_categories cc ON c.category_id = cc.id
156
208
  LEFT JOIN m_layers l ON c.layer_id = l.id
157
209
  LEFT JOIN m_agents a ON c.agent_id = a.id
158
- WHERE c.active = 1
210
+ WHERE c.active = ${getBooleanTrue(knex)}
159
211
  ORDER BY c.priority DESC, cc.name, c.ts DESC
160
212
  `);
161
213
  // Task Board View (Token-efficient)
@@ -171,7 +223,7 @@ export async function up(knex) {
171
223
  t.created_ts,
172
224
  t.updated_ts,
173
225
  t.completed_ts,
174
- (SELECT GROUP_CONCAT(tg2.name, ', ')
226
+ (SELECT ${getStringAggFunction(knex, 'tg2.name', ', ')}
175
227
  FROM t_task_tags tt2
176
228
  JOIN m_tags tg2 ON tt2.tag_id = tg2.id
177
229
  WHERE tt2.task_id = t.id) as tags
@@ -1 +1 @@
1
- {"version":3,"file":"20251025070349_create_views.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"20251025070349_create_views.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,7 @@ export async function up(knex) {
74
74
  { tool_name: 'task', action_name: 'move', description: 'Move task to new status with validation. Enforces state machine transitions (e.g., cannot jump todo → done). Automatically logs status changes and updates timestamps.' },
75
75
  { tool_name: 'task', action_name: 'link', description: 'Link task to decision, constraint, or file for context tracking. Supports multiple link types (implements, addresses, modifies) to express relationships.' },
76
76
  { tool_name: 'task', action_name: 'archive', description: 'Archive a task (soft delete) removing it from active lists while preserving data. Archived tasks remain queryable for history but do not appear in default views.' },
77
- { tool_name: 'task', action_name: 'batch_create', description: 'Create multiple tasks in a single operation for efficiency. Accepts array of task definitions and returns array of created task IDs. Atomic operation with transaction safety.' },
77
+ { tool_name: 'task', action_name: 'create_batch', description: 'Create multiple tasks in a single operation for efficiency. Accepts array of task definitions and returns array of created task IDs. Atomic operation with transaction safety.' },
78
78
  { tool_name: 'task', action_name: 'add_dependency', description: 'Add blocking dependency between tasks. Prevents circular dependencies and maintains dependency graph integrity. Task cannot be marked done while blockers are incomplete.' },
79
79
  { tool_name: 'task', action_name: 'remove_dependency', description: 'Remove blocking dependency between tasks. Validates dependency exists before removal. Updates dependency graph and unblocks dependent task if all blockers removed.' },
80
80
  { tool_name: 'task', action_name: 'get_dependencies', description: 'Get all dependencies for a task showing which tasks block it and which tasks it blocks. Returns dependency graph with task details for visualization.' },
@@ -40,17 +40,17 @@ export async function up(knex) {
40
40
  category_id: categoryMap.task_management,
41
41
  title: 'Batch create multiple related tasks',
42
42
  complexity: 'intermediate',
43
- description: 'Use batch_create to create multiple related tasks in a single operation with consistent metadata.\n\nExpected Outcome: Multiple tasks created atomically with shared tags and layer\n\nCommon Pitfalls: ["Not providing required title for each task","Mixing unrelated tasks in batch","Forgetting to link tasks after batch creation"]\n\nRelated Tools: ["task"]',
43
+ description: 'Use create_batch to create multiple related tasks in a single operation with consistent metadata.\n\nExpected Outcome: Multiple tasks created atomically with shared tags and layer\n\nCommon Pitfalls: ["Not providing required title for each task","Mixing unrelated tasks in batch","Forgetting to link tasks after batch creation"]\n\nRelated Tools: ["task"]',
44
44
  full_example: JSON.stringify({
45
45
  steps: [
46
- { step: 1, action: 'task', params: { action: 'batch_create', tasks: [
46
+ { step: 1, action: 'task', params: { action: 'create_batch', tasks: [
47
47
  { title: 'Setup CI pipeline', priority: 3, layer: 'infrastructure', tags: ['devops', 'ci'] },
48
48
  { title: 'Configure deployment', priority: 3, layer: 'infrastructure', tags: ['devops', 'deployment'] },
49
49
  { title: 'Setup monitoring', priority: 2, layer: 'infrastructure', tags: ['devops', 'monitoring'] }
50
50
  ] } }
51
51
  ]
52
52
  }),
53
- action_sequence: JSON.stringify(['batch_create'])
53
+ action_sequence: JSON.stringify(['create_batch'])
54
54
  },
55
55
  {
56
56
  category_id: categoryMap.task_management,
@@ -221,7 +221,7 @@ export async function up(knex) {
221
221
  outcome: 'Complete constraint lifecycle managed. All API endpoints measured, constraint enforced through tasks, validation tasks created, constraint deactivated when new decision supersedes it.',
222
222
  audit_trail: 'Full history of constraint enforcement preserved even after deactivation'
223
223
  }),
224
- action_sequence: JSON.stringify(['constraint.add', 'task.batch_create', 'task.link', 'task.move', 'constraint.get', 'decision.set', 'constraint.deactivate'])
224
+ action_sequence: JSON.stringify(['constraint.add', 'task.create_batch', 'task.link', 'task.move', 'constraint.get', 'decision.set', 'constraint.deactivate'])
225
225
  },
226
226
  {
227
227
  category_id: categoryMap.cross_tool_workflow,
@@ -236,7 +236,7 @@ export async function up(knex) {
236
236
  outcome: 'Feature complete with: architectural decision documented, 8 tasks created/linked, 15 file changes tracked, 3 constraints enforced, 12 coordination messages sent',
237
237
  token_efficiency: 'Complete feature context in ~3k tokens vs ~20k tokens with manual tracking'
238
238
  }),
239
- action_sequence: JSON.stringify(['decision.set', 'decision.add_decision_context', 'task.batch_create', 'constraint.add', 'task.link', 'message.send', 'file.record', 'task.watch_files', 'task.add_dependency', 'task.move', 'stats.layer_summary'])
239
+ action_sequence: JSON.stringify(['decision.set', 'decision.add_decision_context', 'task.create_batch', 'constraint.add', 'task.link', 'message.send', 'file.record', 'task.watch_files', 'task.add_dependency', 'task.move', 'stats.layer_summary'])
240
240
  },
241
241
  {
242
242
  category_id: categoryMap.configuration,
@@ -1 +1 @@
1
- {"version":3,"file":"20251028000000_simplify_agent_system.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBpD"}
1
+ {"version":3,"file":"20251028000000_simplify_agent_system.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAelD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBpD"}
@@ -19,7 +19,15 @@
19
19
  */
20
20
  export async function up(knex) {
21
21
  // Drop t_agent_messages table (messaging system not used)
22
- await knex.schema.dropTableIfExists('t_agent_messages');
22
+ // PostgreSQL requires CASCADE when dropping tables with foreign key dependencies
23
+ const client = knex.client.config.client;
24
+ const isPostgreSQL = client === 'pg' || client === 'postgresql';
25
+ if (isPostgreSQL) {
26
+ await knex.raw('DROP TABLE IF EXISTS t_agent_messages CASCADE');
27
+ }
28
+ else {
29
+ await knex.schema.dropTableIfExists('t_agent_messages');
30
+ }
23
31
  // Note: in_use and is_reusable columns remain in m_agents table but are ignored by code
24
32
  // Dropping these columns would require complex table recreation on SQLite due to FK constraints
25
33
  // This approach maintains cross-RDBMS compatibility without raw SQL
@@ -1 +1 @@
1
- {"version":3,"file":"20251028000000_simplify_agent_system.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,0DAA0D;IAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAExD,wFAAwF;IACxF,gGAAgG;IAChG,oEAAoE;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,gCAAgC;IAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEhE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,+EAA+E;AACjF,CAAC"}
1
+ {"version":3,"file":"20251028000000_simplify_agent_system.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,0DAA0D;IAC1D,iFAAiF;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,CAAC;IAEhE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,wFAAwF;IACxF,gGAAgG;IAChG,oEAAoE;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,gCAAgC;IAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEhE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,+EAA+E;AACjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"20251105000000_add_token_usage_table.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;GAWG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ClD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpD"}
1
+ {"version":3,"file":"20251105000000_add_token_usage_table.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;GAWG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpD"}
@@ -11,6 +11,14 @@
11
11
  * This migration ensures consistency across all databases.
12
12
  */
13
13
  export async function up(knex) {
14
+ const client = knex.client.config.client;
15
+ const isSQLite = client === 'better-sqlite3' || client === 'sqlite3';
16
+ // **BUG FIX v3.7.5**: MySQL/PostgreSQL compatibility issue with DEFAULT UNIX_TIMESTAMP()
17
+ // MySQL/PostgreSQL handled by 20251109000003_token_usage_cross_db_compat_v3_7_5.ts
18
+ if (!isSQLite) {
19
+ console.log(`✓ Non-SQLite database (${client}) detected, skipping (handled by 20251109000003)`);
20
+ return;
21
+ }
14
22
  // Check if table already exists (idempotency)
15
23
  const hasTable = await knex.schema.hasTable('t_help_token_usage');
16
24
  if (hasTable) {
@@ -18,7 +26,6 @@ export async function up(knex) {
18
26
  return;
19
27
  }
20
28
  console.log('Creating t_help_token_usage table...');
21
- const client = knex.client.config.client;
22
29
  await knex.schema.createTable('t_help_token_usage', (table) => {
23
30
  table.increments('usage_id').primary();
24
31
  table.text('query_type').notNullable();
@@ -1 +1 @@
1
- {"version":3,"file":"20251105000000_add_token_usage_table.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"20251105000000_add_token_usage_table.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,SAAS,CAAC;IAErE,yFAAyF;IACzF,mFAAmF;IACnF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,kDAAkD,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5D,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5C,oDAAoD;QACpD,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACxD,0CAA0C;YAC1C,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC1F,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrD,iDAAiD;YACjD,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACtD,0EAA0E;YAC1E,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACrG,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;QAED,6BAA6B;QAC7B,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QAC1C,qDAAqD;QACrD,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,wCAAwC;IACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Knex } from "knex";
2
+ /**
3
+ * Migration: Add Planning Layers (v3.8.0)
4
+ *
5
+ * Expands layer taxonomy from 5 to 9 layers by adding 4 planning-focused layers:
6
+ * - planning: Research, surveys, investigation (file_actions optional)
7
+ * - documentation: README, CHANGELOG, docs/ (file_actions REQUIRED - docs = files!)
8
+ * - coordination: Multi-agent orchestration (file_actions optional)
9
+ * - review: Code review, verification (file_actions optional)
10
+ *
11
+ * This enables layer-based file_actions validation:
12
+ * - 6 file-required layers: presentation, business, data, infrastructure, cross-cutting, documentation
13
+ * - 3 file-optional layers: planning, coordination, review
14
+ *
15
+ * Idempotent: Checks for existing layers before inserting
16
+ *
17
+ * Related: v3.8.0 File Actions & Layer Expansion Plan
18
+ */
19
+ export declare function up(knex: Knex): Promise<void>;
20
+ export declare function down(knex: Knex): Promise<void>;
21
+ //# sourceMappingURL=20251108000000_add_planning_layers_v3_8_0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20251108000000_add_planning_layers_v3_8_0.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyClD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBpD"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Migration: Add Planning Layers (v3.8.0)
3
+ *
4
+ * Expands layer taxonomy from 5 to 9 layers by adding 4 planning-focused layers:
5
+ * - planning: Research, surveys, investigation (file_actions optional)
6
+ * - documentation: README, CHANGELOG, docs/ (file_actions REQUIRED - docs = files!)
7
+ * - coordination: Multi-agent orchestration (file_actions optional)
8
+ * - review: Code review, verification (file_actions optional)
9
+ *
10
+ * This enables layer-based file_actions validation:
11
+ * - 6 file-required layers: presentation, business, data, infrastructure, cross-cutting, documentation
12
+ * - 3 file-optional layers: planning, coordination, review
13
+ *
14
+ * Idempotent: Checks for existing layers before inserting
15
+ *
16
+ * Related: v3.8.0 File Actions & Layer Expansion Plan
17
+ */
18
+ export async function up(knex) {
19
+ console.log('🔧 Adding v3.8.0 planning layers...');
20
+ // Check if any of the new layers already exist
21
+ const newLayerNames = ['planning', 'documentation', 'coordination', 'review'];
22
+ const existingLayers = await knex('m_layers')
23
+ .whereIn('name', newLayerNames)
24
+ .select('name');
25
+ if (existingLayers.length > 0) {
26
+ console.log(`✓ Planning layers already exist (${existingLayers.map(l => l.name).join(', ')}), skipping`);
27
+ return;
28
+ }
29
+ // Insert the 4 new layers
30
+ // Note: Explicit IDs (6-9) required for PostgreSQL compatibility
31
+ // PostgreSQL sequences don't auto-increment when explicit IDs are used in bootstrap (IDs 1-5)
32
+ const client = knex.client.config.client;
33
+ const isPostgreSQL = client === 'pg' || client === 'postgresql';
34
+ if (isPostgreSQL) {
35
+ // PostgreSQL: Use explicit IDs and update sequence
36
+ await knex('m_layers').insert([
37
+ { id: 6, name: 'planning' },
38
+ { id: 7, name: 'documentation' },
39
+ { id: 8, name: 'coordination' },
40
+ { id: 9, name: 'review' }
41
+ ]);
42
+ // Update sequence to 9 so future auto-increment starts at 10
43
+ await knex.raw("SELECT setval('m_layers_id_seq', 9, true)");
44
+ }
45
+ else {
46
+ // SQLite/MySQL: Let auto-increment handle IDs
47
+ await knex('m_layers').insert([
48
+ { name: 'planning' },
49
+ { name: 'documentation' },
50
+ { name: 'coordination' },
51
+ { name: 'review' }
52
+ ]);
53
+ }
54
+ console.log('✅ Added 4 planning layers: planning, documentation, coordination, review');
55
+ }
56
+ export async function down(knex) {
57
+ console.log('🔄 Removing v3.8.0 planning layers...');
58
+ // Check if layers exist before removing
59
+ const layersToRemove = ['planning', 'documentation', 'coordination', 'review'];
60
+ const existingLayers = await knex('m_layers')
61
+ .whereIn('name', layersToRemove)
62
+ .select('name');
63
+ if (existingLayers.length === 0) {
64
+ console.log('✓ Planning layers already removed, skipping');
65
+ return;
66
+ }
67
+ // Remove the 4 planning layers
68
+ await knex('m_layers')
69
+ .whereIn('name', layersToRemove)
70
+ .delete();
71
+ console.log('✅ Removed planning layers');
72
+ }
73
+ //# sourceMappingURL=20251108000000_add_planning_layers_v3_8_0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20251108000000_add_planning_layers_v3_8_0.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;SAC1C,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,oCAAoC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzG,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,iEAAiE;IACjE,8FAA8F;IAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,CAAC;IAEhE,IAAI,YAAY,EAAE,CAAC;QACjB,mDAAmD;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;YAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;YAChC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;YAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;QACH,6DAA6D;QAC7D,MAAM,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5B,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB,EAAE,IAAI,EAAE,eAAe,EAAE;YACzB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAErD,wCAAwC;IACxC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;SAC1C,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,MAAM,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,MAAM,IAAI,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,MAAM,EAAE,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Migration: Fix t_task_file_links UNIQUE constraint (v3.8.0)
3
+ *
4
+ * Problem: t_task_file_links missing UNIQUE constraint on (project_id, task_id, file_id)
5
+ * Code expects: ON CONFLICT (project_id, task_id, file_id) DO NOTHING
6
+ * Current state: Only has auto-increment PRIMARY KEY on id
7
+ *
8
+ * Root Cause: v3.7.0 migration added project_id column but didn't update PRIMARY KEY
9
+ * or add UNIQUE constraint. This causes "ON CONFLICT clause does not match any
10
+ * PRIMARY KEY or UNIQUE constraint" error when linking files to tasks.
11
+ *
12
+ * Solution: Add UNIQUE constraint on (project_id, task_id, file_id)
13
+ *
14
+ * Idempotency: Checks if constraint/index already exists before creating
15
+ */
16
+ import type { Knex } from 'knex';
17
+ export declare function up(knex: Knex): Promise<void>;
18
+ export declare function down(knex: Knex): Promise<void>;
19
+ //# sourceMappingURL=20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map