sqlew 3.9.1 → 4.0.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 (852) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +20 -3
  3. package/assets/sample-agents/sqlew-architect.md +3 -4
  4. package/assets/sample-agents/sqlew-researcher.md +6 -15
  5. package/assets/sample-agents/sqlew-scrum-master.md +58 -50
  6. package/assets/sample-commands/sqw-documentor.md +62 -16
  7. package/assets/sample-commands/sqw-plan.md +82 -35
  8. package/assets/sample-commands/sqw-research.md +78 -17
  9. package/assets/sample-commands/sqw-review.md +66 -29
  10. package/assets/sample-commands/sqw-scrum.md +37 -3
  11. package/dist/adapters/mysql-adapter.js +3 -3
  12. package/dist/adapters/postgresql-adapter.js +3 -3
  13. package/dist/cli/db-dump.js +73 -73
  14. package/dist/cli/db-export.js +50 -50
  15. package/dist/cli/db-import.js +51 -51
  16. package/dist/cli.js +52 -52
  17. package/dist/config/minimal-generator.js +91 -91
  18. package/dist/database/config/config-ops.d.ts +19 -11
  19. package/dist/database/config/config-ops.d.ts.map +1 -1
  20. package/dist/database/config/config-ops.js +62 -36
  21. package/dist/database/config/config-ops.js.map +1 -1
  22. package/dist/database/index.d.ts +3 -1
  23. package/dist/database/index.d.ts.map +1 -1
  24. package/dist/database/index.js +4 -2
  25. package/dist/database/index.js.map +1 -1
  26. package/dist/database/initialization/init.d.ts.map +1 -1
  27. package/dist/database/initialization/init.js +31 -0
  28. package/dist/database/initialization/init.js.map +1 -1
  29. package/dist/database/initialization/schema-version.d.ts +94 -0
  30. package/dist/database/initialization/schema-version.d.ts.map +1 -0
  31. package/dist/database/initialization/schema-version.js +166 -0
  32. package/dist/database/initialization/schema-version.js.map +1 -0
  33. package/dist/database/migrations/v4/20251126000000_v4_bootstrap.d.ts +36 -0
  34. package/dist/database/migrations/v4/20251126000000_v4_bootstrap.d.ts.map +1 -0
  35. package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js +597 -0
  36. package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js.map +1 -0
  37. package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts +26 -0
  38. package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts.map +1 -0
  39. package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +390 -0
  40. package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js.map +1 -0
  41. package/dist/database/migrations/v4/20251127000000_add_rejected_status.d.ts +17 -0
  42. package/dist/database/migrations/v4/20251127000000_add_rejected_status.d.ts.map +1 -0
  43. package/dist/database/migrations/v4/20251127000000_add_rejected_status.js +50 -0
  44. package/dist/database/migrations/v4/20251127000000_add_rejected_status.js.map +1 -0
  45. package/dist/database/migrations/v4/20251127000001_update_task_move_help.d.ts +13 -0
  46. package/dist/database/migrations/v4/20251127000001_update_task_move_help.d.ts.map +1 -0
  47. package/dist/database/migrations/v4/20251127000001_update_task_move_help.js +76 -0
  48. package/dist/database/migrations/v4/20251127000001_update_task_move_help.js.map +1 -0
  49. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts +17 -0
  50. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts.map +1 -0
  51. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js +334 -0
  52. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js.map +1 -0
  53. package/dist/database/migrations/v4/20251127000003_add_task_notes_column.d.ts +11 -0
  54. package/dist/database/migrations/v4/20251127000003_add_task_notes_column.d.ts.map +1 -0
  55. package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js +33 -0
  56. package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js.map +1 -0
  57. package/dist/database/operations/inserts.d.ts +12 -7
  58. package/dist/database/operations/inserts.d.ts.map +1 -1
  59. package/dist/database/operations/inserts.js +30 -60
  60. package/dist/database/operations/inserts.js.map +1 -1
  61. package/dist/database/operations/queries.d.ts.map +1 -1
  62. package/dist/database/operations/queries.js +19 -21
  63. package/dist/database/operations/queries.js.map +1 -1
  64. package/dist/database/operations/updates.d.ts +2 -1
  65. package/dist/database/operations/updates.d.ts.map +1 -1
  66. package/dist/database/operations/updates.js +3 -6
  67. package/dist/database/operations/updates.js.map +1 -1
  68. package/dist/init-agents.js +27 -27
  69. package/dist/init-commands.js +25 -25
  70. package/dist/knexfile.d.ts.map +1 -1
  71. package/dist/knexfile.js +5 -25
  72. package/dist/knexfile.js.map +1 -1
  73. package/dist/schema.d.ts +7 -3
  74. package/dist/schema.d.ts.map +1 -1
  75. package/dist/schema.js +43 -50
  76. package/dist/schema.js.map +1 -1
  77. package/dist/server/arg-parser.js +18 -18
  78. package/dist/server/tool-registry.d.ts.map +1 -1
  79. package/dist/server/tool-registry.js +18 -1
  80. package/dist/server/tool-registry.js.map +1 -1
  81. package/dist/sync-gitignore.d.ts +13 -0
  82. package/dist/sync-gitignore.d.ts.map +1 -0
  83. package/dist/sync-gitignore.js +60 -0
  84. package/dist/sync-gitignore.js.map +1 -0
  85. package/dist/tests/database/multi-project/multi-project.test.js +13 -13
  86. package/dist/tests/database/multi-project/multi-project.test.js.map +1 -1
  87. package/dist/tests/database/sql-dump/default-conversions.test.js +4 -4
  88. package/dist/tests/database/sql-dump/default-conversions.test.js.map +1 -1
  89. package/dist/tests/database/sql-dump/table-ordering.test.js +14 -14
  90. package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -1
  91. package/dist/tests/docker/cross-database.test.js +12 -18
  92. package/dist/tests/docker/cross-database.test.js.map +1 -1
  93. package/dist/tests/docker/dump-import.test.js +15 -15
  94. package/dist/tests/docker/dump-import.test.js.map +1 -1
  95. package/dist/tests/docker/multi-project-migration.test.js +44 -61
  96. package/dist/tests/docker/multi-project-migration.test.js.map +1 -1
  97. package/dist/tests/docker/native/constraint-operations.test.d.ts +1 -1
  98. package/dist/tests/docker/native/constraint-operations.test.js +65 -114
  99. package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
  100. package/dist/tests/docker/native/db-init.d.ts +1 -1
  101. package/dist/tests/docker/native/db-init.js +3 -3
  102. package/dist/tests/docker/native/db-init.js.map +1 -1
  103. package/dist/tests/docker/native/decision-operations.test.js +93 -148
  104. package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
  105. package/dist/tests/docker/native/help-system.test.js +60 -60
  106. package/dist/tests/docker/native/help-system.test.js.map +1 -1
  107. package/dist/tests/docker/native/suggest-tool.test.js +25 -33
  108. package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
  109. package/dist/tests/docker/native/task-operations.test.js +114 -140
  110. package/dist/tests/docker/native/task-operations.test.js.map +1 -1
  111. package/dist/tests/docker/native/test-harness.d.ts +0 -9
  112. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  113. package/dist/tests/docker/native/test-harness.js +42 -69
  114. package/dist/tests/docker/native/test-harness.js.map +1 -1
  115. package/dist/tests/feature/task/auto-pruning-decision-link.test.js +6 -9
  116. package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +1 -1
  117. package/dist/tests/feature/task/auto-pruning-partial.test.js +17 -19
  118. package/dist/tests/feature/task/auto-pruning-partial.test.js.map +1 -1
  119. package/dist/tests/feature/task/auto-pruning-persistence.test.js +11 -14
  120. package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +1 -1
  121. package/dist/tests/feature/task/auto-pruning-safety.test.js +23 -42
  122. package/dist/tests/feature/task/auto-pruning-safety.test.js.map +1 -1
  123. package/dist/tests/feature/task/dependencies.test.js +30 -34
  124. package/dist/tests/feature/task/dependencies.test.js.map +1 -1
  125. package/dist/tests/feature/task/link-file-backward-compat.test.js +19 -21
  126. package/dist/tests/feature/task/link-file-backward-compat.test.js.map +1 -1
  127. package/dist/tests/feature/task/watch-files-action.test.js +10 -12
  128. package/dist/tests/feature/task/watch-files-action.test.js.map +1 -1
  129. package/dist/tests/feature/task/watch-files-parameter.test.js +25 -27
  130. package/dist/tests/feature/task/watch-files-parameter.test.js.map +1 -1
  131. package/dist/tests/feature/vcs/git-aware-completion.test.js +32 -42
  132. package/dist/tests/feature/vcs/git-aware-completion.test.js.map +1 -1
  133. package/dist/tests/feature/vcs/two-step-git-completion.test.js +83 -104
  134. package/dist/tests/feature/vcs/two-step-git-completion.test.js.map +1 -1
  135. package/dist/tests/integration/all-features.standalone.js +4 -6
  136. package/dist/tests/integration/all-features.standalone.js.map +1 -1
  137. package/dist/tests/integration/auto-trigger-suggestions.test.js +26 -68
  138. package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
  139. package/dist/tests/integration/decision-intelligence-e2e.test.js +32 -71
  140. package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -1
  141. package/dist/tests/integration/e2e-workflow1-debug.test.js +3 -17
  142. package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -1
  143. package/dist/tests/integration/hybrid-similarity-detection.test.js +45 -55
  144. package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
  145. package/dist/tests/migrations/test-all-versions.d.ts +1 -1
  146. package/dist/tests/migrations/test-all-versions.js +11 -9
  147. package/dist/tests/migrations/test-all-versions.js.map +1 -1
  148. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +7 -0
  149. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +1 -0
  150. package/dist/tests/migrations/v4/v4-fresh-install.test.js +168 -0
  151. package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +1 -0
  152. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +13 -0
  153. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +1 -0
  154. package/dist/tests/migrations/v4/v4-migrate-data.test.js +264 -0
  155. package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +1 -0
  156. package/dist/tests/test-v4-native-rdbms.d.ts +10 -0
  157. package/dist/tests/test-v4-native-rdbms.d.ts.map +1 -0
  158. package/dist/tests/test-v4-native-rdbms.js +235 -0
  159. package/dist/tests/test-v4-native-rdbms.js.map +1 -0
  160. package/dist/tests/unit/constraint-scorer.test.d.ts +13 -0
  161. package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -0
  162. package/dist/tests/unit/constraint-scorer.test.js +390 -0
  163. package/dist/tests/unit/constraint-scorer.test.js.map +1 -0
  164. package/dist/tests/unit/validation/policy-validation.test.js +15 -15
  165. package/dist/tests/unit/validation/policy-validation.test.js.map +1 -1
  166. package/dist/tests/utils/db-config.d.ts.map +1 -1
  167. package/dist/tests/utils/db-config.js +2 -3
  168. package/dist/tests/utils/db-config.js.map +1 -1
  169. package/dist/tests/utils/db-seeding.d.ts.map +1 -1
  170. package/dist/tests/utils/db-seeding.js +17 -20
  171. package/dist/tests/utils/db-seeding.js.map +1 -1
  172. package/dist/tests/utils/task-helpers.d.ts +9 -9
  173. package/dist/tests/utils/task-helpers.d.ts.map +1 -1
  174. package/dist/tests/utils/task-helpers.js +26 -43
  175. package/dist/tests/utils/task-helpers.js.map +1 -1
  176. package/dist/tests/utils/test-helpers.d.ts +13 -8
  177. package/dist/tests/utils/test-helpers.d.ts.map +1 -1
  178. package/dist/tests/utils/test-helpers.js +55 -69
  179. package/dist/tests/utils/test-helpers.js.map +1 -1
  180. package/dist/tools/constraints/actions/add.d.ts.map +1 -1
  181. package/dist/tools/constraints/actions/add.js +8 -23
  182. package/dist/tools/constraints/actions/add.js.map +1 -1
  183. package/dist/tools/constraints/actions/deactivate.js +2 -2
  184. package/dist/tools/constraints/actions/deactivate.js.map +1 -1
  185. package/dist/tools/constraints/actions/get.d.ts +2 -2
  186. package/dist/tools/constraints/actions/get.js +2 -2
  187. package/dist/tools/context/actions/create-policy.d.ts.map +1 -1
  188. package/dist/tools/context/actions/create-policy.js +3 -20
  189. package/dist/tools/context/actions/create-policy.js.map +1 -1
  190. package/dist/tools/context/actions/create-template.d.ts.map +1 -1
  191. package/dist/tools/context/actions/create-template.js +5 -9
  192. package/dist/tools/context/actions/create-template.js.map +1 -1
  193. package/dist/tools/context/actions/hard-delete.js +12 -12
  194. package/dist/tools/context/actions/hard-delete.js.map +1 -1
  195. package/dist/tools/context/actions/has-updates.js +3 -3
  196. package/dist/tools/context/actions/has-updates.js.map +1 -1
  197. package/dist/tools/context/actions/list-policies.d.ts.map +1 -1
  198. package/dist/tools/context/actions/list-policies.js +3 -3
  199. package/dist/tools/context/actions/list-policies.js.map +1 -1
  200. package/dist/tools/context/actions/list-templates.d.ts.map +1 -1
  201. package/dist/tools/context/actions/list-templates.js +4 -5
  202. package/dist/tools/context/actions/list-templates.js.map +1 -1
  203. package/dist/tools/context/actions/list.js +1 -1
  204. package/dist/tools/context/actions/list.js.map +1 -1
  205. package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
  206. package/dist/tools/context/actions/search-layer.js +11 -12
  207. package/dist/tools/context/actions/search-layer.js.map +1 -1
  208. package/dist/tools/context/actions/set-from-policy.js +1 -1
  209. package/dist/tools/context/actions/set-from-policy.js.map +1 -1
  210. package/dist/tools/context/actions/set-from-template.js +2 -2
  211. package/dist/tools/context/actions/set-from-template.js.map +1 -1
  212. package/dist/tools/context/actions/versions.d.ts.map +1 -1
  213. package/dist/tools/context/actions/versions.js +6 -7
  214. package/dist/tools/context/actions/versions.js.map +1 -1
  215. package/dist/tools/context/internal/queries.d.ts.map +1 -1
  216. package/dist/tools/context/internal/queries.js +73 -53
  217. package/dist/tools/context/internal/queries.js.map +1 -1
  218. package/dist/tools/example/actions/get.js +7 -7
  219. package/dist/tools/example/actions/get.js.map +1 -1
  220. package/dist/tools/example/actions/list-all.js +4 -4
  221. package/dist/tools/example/actions/list-all.js.map +1 -1
  222. package/dist/tools/example/actions/search.js +8 -8
  223. package/dist/tools/example/actions/search.js.map +1 -1
  224. package/dist/tools/example/help/example.js +21 -21
  225. package/dist/tools/files/actions/check-lock.d.ts.map +1 -1
  226. package/dist/tools/files/actions/check-lock.js +4 -6
  227. package/dist/tools/files/actions/check-lock.js.map +1 -1
  228. package/dist/tools/files/actions/get.d.ts.map +1 -1
  229. package/dist/tools/files/actions/get.js +6 -8
  230. package/dist/tools/files/actions/get.js.map +1 -1
  231. package/dist/tools/files/internal/queries.d.ts.map +1 -1
  232. package/dist/tools/files/internal/queries.js +5 -14
  233. package/dist/tools/files/internal/queries.js.map +1 -1
  234. package/dist/tools/help/actions/batch-guide.js +5 -5
  235. package/dist/tools/help/actions/batch-guide.js.map +1 -1
  236. package/dist/tools/help-queries.js +29 -29
  237. package/dist/tools/help-queries.js.map +1 -1
  238. package/dist/tools/suggest/actions/by-tags.d.ts +2 -2
  239. package/dist/tools/suggest/actions/by-tags.js +2 -2
  240. package/dist/tools/suggest/actions/constraint-by-context.d.ts +66 -0
  241. package/dist/tools/suggest/actions/constraint-by-context.d.ts.map +1 -0
  242. package/dist/tools/suggest/actions/constraint-by-context.js +82 -0
  243. package/dist/tools/suggest/actions/constraint-by-context.js.map +1 -0
  244. package/dist/tools/suggest/actions/constraint-by-tags.d.ts +48 -0
  245. package/dist/tools/suggest/actions/constraint-by-tags.d.ts.map +1 -0
  246. package/dist/tools/suggest/actions/constraint-by-tags.js +68 -0
  247. package/dist/tools/suggest/actions/constraint-by-tags.js.map +1 -0
  248. package/dist/tools/suggest/actions/constraint-by-text.d.ts +47 -0
  249. package/dist/tools/suggest/actions/constraint-by-text.d.ts.map +1 -0
  250. package/dist/tools/suggest/actions/constraint-by-text.js +65 -0
  251. package/dist/tools/suggest/actions/constraint-by-text.js.map +1 -0
  252. package/dist/tools/suggest/actions/constraint-check-duplicate.d.ts +50 -0
  253. package/dist/tools/suggest/actions/constraint-check-duplicate.d.ts.map +1 -0
  254. package/dist/tools/suggest/actions/constraint-check-duplicate.js +68 -0
  255. package/dist/tools/suggest/actions/constraint-check-duplicate.js.map +1 -0
  256. package/dist/tools/suggest/help/constraint-help.d.ts +12 -0
  257. package/dist/tools/suggest/help/constraint-help.d.ts.map +1 -0
  258. package/dist/tools/suggest/help/constraint-help.js +126 -0
  259. package/dist/tools/suggest/help/constraint-help.js.map +1 -0
  260. package/dist/tools/suggest/index.d.ts +3 -2
  261. package/dist/tools/suggest/index.d.ts.map +1 -1
  262. package/dist/tools/suggest/index.js +67 -4
  263. package/dist/tools/suggest/index.js.map +1 -1
  264. package/dist/tools/suggest/internal/constraint-queries.d.ts +55 -0
  265. package/dist/tools/suggest/internal/constraint-queries.d.ts.map +1 -0
  266. package/dist/tools/suggest/internal/constraint-queries.js +85 -0
  267. package/dist/tools/suggest/internal/constraint-queries.js.map +1 -0
  268. package/dist/tools/suggest/internal/queries.d.ts +4 -4
  269. package/dist/tools/suggest/internal/queries.d.ts.map +1 -1
  270. package/dist/tools/suggest/internal/queries.js +44 -37
  271. package/dist/tools/suggest/internal/queries.js.map +1 -1
  272. package/dist/tools/suggest/types.d.ts +10 -0
  273. package/dist/tools/suggest/types.d.ts.map +1 -1
  274. package/dist/tools/tasks/actions/add-dependency.d.ts.map +1 -1
  275. package/dist/tools/tasks/actions/add-dependency.js +15 -10
  276. package/dist/tools/tasks/actions/add-dependency.js.map +1 -1
  277. package/dist/tools/tasks/actions/archive.d.ts.map +1 -1
  278. package/dist/tools/tasks/actions/archive.js +2 -11
  279. package/dist/tools/tasks/actions/archive.js.map +1 -1
  280. package/dist/tools/tasks/actions/create.d.ts.map +1 -1
  281. package/dist/tools/tasks/actions/create.js +7 -24
  282. package/dist/tools/tasks/actions/create.js.map +1 -1
  283. package/dist/tools/tasks/actions/get-dependencies.js +1 -1
  284. package/dist/tools/tasks/actions/get-dependencies.js.map +1 -1
  285. package/dist/tools/tasks/actions/get-pruned-files.js +4 -4
  286. package/dist/tools/tasks/actions/get-pruned-files.js.map +1 -1
  287. package/dist/tools/tasks/actions/get.d.ts.map +1 -1
  288. package/dist/tools/tasks/actions/get.js +15 -16
  289. package/dist/tools/tasks/actions/get.js.map +1 -1
  290. package/dist/tools/tasks/actions/link-pruned-file.js +6 -6
  291. package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -1
  292. package/dist/tools/tasks/actions/link.js +8 -8
  293. package/dist/tools/tasks/actions/link.js.map +1 -1
  294. package/dist/tools/tasks/actions/list.js +2 -2
  295. package/dist/tools/tasks/actions/list.js.map +1 -1
  296. package/dist/tools/tasks/actions/move.d.ts +2 -1
  297. package/dist/tools/tasks/actions/move.d.ts.map +1 -1
  298. package/dist/tools/tasks/actions/move.js +22 -22
  299. package/dist/tools/tasks/actions/move.js.map +1 -1
  300. package/dist/tools/tasks/actions/remove-dependency.js +1 -1
  301. package/dist/tools/tasks/actions/remove-dependency.js.map +1 -1
  302. package/dist/tools/tasks/actions/update.d.ts.map +1 -1
  303. package/dist/tools/tasks/actions/update.js +12 -15
  304. package/dist/tools/tasks/actions/update.js.map +1 -1
  305. package/dist/tools/tasks/actions/watch-files.js +8 -8
  306. package/dist/tools/tasks/actions/watch-files.js.map +1 -1
  307. package/dist/tools/tasks/help/example.js +4 -4
  308. package/dist/tools/tasks/help/example.js.map +1 -1
  309. package/dist/tools/tasks/help/help.d.ts.map +1 -1
  310. package/dist/tools/tasks/help/help.js +20 -10
  311. package/dist/tools/tasks/help/help.js.map +1 -1
  312. package/dist/tools/tasks/internal/state-machine.js +2 -2
  313. package/dist/tools/tasks/internal/state-machine.js.map +1 -1
  314. package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -1
  315. package/dist/tools/tasks/internal/task-queries.js +9 -11
  316. package/dist/tools/tasks/internal/task-queries.js.map +1 -1
  317. package/dist/tools/tasks/types.d.ts +13 -1
  318. package/dist/tools/tasks/types.d.ts.map +1 -1
  319. package/dist/tools/tasks/types.js +30 -7
  320. package/dist/tools/tasks/types.js.map +1 -1
  321. package/dist/tools/tasks/watcher/status.js +8 -8
  322. package/dist/tools/tasks/watcher/status.js.map +1 -1
  323. package/dist/tools/use_case/actions/search.js +4 -4
  324. package/dist/tools/use_case/actions/search.js.map +1 -1
  325. package/dist/tools/use_case/help/example.js +16 -16
  326. package/dist/types/task/params.d.ts +2 -1
  327. package/dist/types/task/params.d.ts.map +1 -1
  328. package/dist/types.d.ts +10 -2
  329. package/dist/types.d.ts.map +1 -1
  330. package/dist/utils/action-specs/task-specs.js +5 -5
  331. package/dist/utils/action-specs/task-specs.js.map +1 -1
  332. package/dist/utils/batch-validation.d.ts +1 -1
  333. package/dist/utils/batch-validation.js +3 -3
  334. package/dist/utils/batch-validation.js.map +1 -1
  335. package/dist/utils/cleanup.js +3 -3
  336. package/dist/utils/cleanup.js.map +1 -1
  337. package/dist/utils/constraint-scorer.d.ts +113 -0
  338. package/dist/utils/constraint-scorer.d.ts.map +1 -0
  339. package/dist/utils/constraint-scorer.js +220 -0
  340. package/dist/utils/constraint-scorer.js.map +1 -0
  341. package/dist/utils/db-aggregations.js +10 -10
  342. package/dist/utils/db-aggregations.js.map +1 -1
  343. package/dist/utils/exporter/export.js +70 -70
  344. package/dist/utils/exporter/export.js.map +1 -1
  345. package/dist/utils/file-pruning.js +16 -16
  346. package/dist/utils/file-pruning.js.map +1 -1
  347. package/dist/utils/importer/import.js +33 -33
  348. package/dist/utils/importer/import.js.map +1 -1
  349. package/dist/utils/importer/master-tables.js +25 -25
  350. package/dist/utils/importer/master-tables.js.map +1 -1
  351. package/dist/utils/importer/topological-sort.d.ts +1 -1
  352. package/dist/utils/importer/topological-sort.js +1 -1
  353. package/dist/utils/policy-validator.js +5 -1
  354. package/dist/utils/policy-validator.js.map +1 -1
  355. package/dist/utils/project-context.js +3 -3
  356. package/dist/utils/project-context.js.map +1 -1
  357. package/dist/utils/quality-checks.js +3 -3
  358. package/dist/utils/quality-checks.js.map +1 -1
  359. package/dist/utils/retention.js +1 -1
  360. package/dist/utils/retention.js.map +1 -1
  361. package/dist/utils/sql-dump/core/dependency-sort.js +17 -17
  362. package/dist/utils/sql-dump/core/index-export.js +7 -7
  363. package/dist/utils/sql-dump/core/sequence-reset.js +5 -5
  364. package/dist/utils/sql-dump/generators/headers.js +10 -10
  365. package/dist/utils/sql-dump/schema/indexes.js +15 -15
  366. package/dist/utils/sql-dump/schema/primary-keys.js +14 -14
  367. package/dist/utils/sql-dump/schema/tables.js +44 -44
  368. package/dist/utils/sql-dump/schema/views.js +21 -21
  369. package/dist/utils/suggestion-scorer.d.ts.map +1 -1
  370. package/dist/utils/suggestion-scorer.js +9 -0
  371. package/dist/utils/suggestion-scorer.js.map +1 -1
  372. package/dist/utils/task-stale-detection.d.ts.map +1 -1
  373. package/dist/utils/task-stale-detection.js +20 -19
  374. package/dist/utils/task-stale-detection.js.map +1 -1
  375. package/dist/utils/token-logging.js +6 -6
  376. package/dist/utils/token-logging.js.map +1 -1
  377. package/dist/utils/validators.d.ts +4 -4
  378. package/dist/utils/validators.d.ts.map +1 -1
  379. package/dist/utils/validators.js +10 -4
  380. package/dist/utils/validators.js.map +1 -1
  381. package/dist/utils/view-queries.d.ts +3 -3
  382. package/dist/utils/view-queries.d.ts.map +1 -1
  383. package/dist/utils/view-queries.js +41 -66
  384. package/dist/utils/view-queries.js.map +1 -1
  385. package/dist/watcher/file-watcher.js +20 -20
  386. package/dist/watcher/file-watcher.js.map +1 -1
  387. package/docs/AI_AGENT_GUIDE.md +81 -1376
  388. package/docs/ARCHITECTURE.md +127 -608
  389. package/docs/AUTO_FILE_TRACKING.md +22 -20
  390. package/docs/BATCH_VALIDATION.md +3 -3
  391. package/docs/CONFIGURATION.md +69 -68
  392. package/docs/CONSTRAINT_INTELLIGENCE.md +339 -0
  393. package/docs/DATABASE_AUTH.md +1 -1
  394. package/docs/DECISION_CONTEXT.md +12 -0
  395. package/docs/DECISION_INTELLIGENCE.md +19 -8
  396. package/docs/GIT_AWARE_AUTO_COMPLETE.md +21 -20
  397. package/docs/SHARED_CONCEPTS.md +46 -16
  398. package/docs/SLASH_COMMANDS.md +88 -117
  399. package/docs/SPECIALIZED_AGENTS.md +45 -572
  400. package/docs/TASK_ACTIONS.md +63 -53
  401. package/docs/TASK_OVERVIEW.md +49 -61
  402. package/docs/TASK_PRUNING.md +32 -27
  403. package/docs/TOOL_REFERENCE.md +119 -76
  404. package/docs/TOOL_SELECTION.md +15 -18
  405. package/docs/WORKFLOWS.md +504 -350
  406. package/package.json +121 -121
  407. package/assets/sample-commands/sqw-secretary.md +0 -187
  408. package/dist/config/knex/bootstrap/20251025020452_create_master_tables.d.ts +0 -4
  409. package/dist/config/knex/bootstrap/20251025020452_create_master_tables.d.ts.map +0 -1
  410. package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js +0 -97
  411. package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js.map +0 -1
  412. package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.d.ts +0 -4
  413. package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.d.ts.map +0 -1
  414. package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.js +0 -270
  415. package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.js.map +0 -1
  416. package/dist/config/knex/bootstrap/20251025021351_create_indexes.d.ts +0 -4
  417. package/dist/config/knex/bootstrap/20251025021351_create_indexes.d.ts.map +0 -1
  418. package/dist/config/knex/bootstrap/20251025021351_create_indexes.js +0 -93
  419. package/dist/config/knex/bootstrap/20251025021351_create_indexes.js.map +0 -1
  420. package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts +0 -4
  421. package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts.map +0 -1
  422. package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js +0 -146
  423. package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js.map +0 -1
  424. package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts +0 -4
  425. package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts.map +0 -1
  426. package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js +0 -182
  427. package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js.map +0 -1
  428. package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts +0 -4
  429. package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts.map +0 -1
  430. package/dist/config/knex/bootstrap/20251025070349_create_views.js +0 -247
  431. package/dist/config/knex/bootstrap/20251025070349_create_views.js.map +0 -1
  432. package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts +0 -4
  433. package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts.map +0 -1
  434. package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.js +0 -22
  435. package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.js.map +0 -1
  436. package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.d.ts +0 -8
  437. package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.d.ts.map +0 -1
  438. package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.js +0 -12
  439. package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.js.map +0 -1
  440. package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.d.ts +0 -19
  441. package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.d.ts.map +0 -1
  442. package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.js +0 -121
  443. package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.js.map +0 -1
  444. package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts +0 -13
  445. package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts.map +0 -1
  446. package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.js +0 -383
  447. package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.js.map +0 -1
  448. package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.d.ts +0 -15
  449. package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.d.ts.map +0 -1
  450. package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js +0 -259
  451. package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js.map +0 -1
  452. package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.d.ts +0 -16
  453. package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.d.ts.map +0 -1
  454. package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js +0 -276
  455. package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js.map +0 -1
  456. package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts +0 -8
  457. package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts.map +0 -1
  458. package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.js +0 -71
  459. package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.js.map +0 -1
  460. package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.d.ts +0 -14
  461. package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.d.ts.map +0 -1
  462. package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.js +0 -62
  463. package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.js.map +0 -1
  464. package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts +0 -4
  465. package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts.map +0 -1
  466. package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.js +0 -24
  467. package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.js.map +0 -1
  468. package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.d.ts +0 -16
  469. package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.d.ts.map +0 -1
  470. package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.js +0 -33
  471. package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.js.map +0 -1
  472. package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts +0 -23
  473. package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts.map +0 -1
  474. package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js +0 -58
  475. package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js.map +0 -1
  476. package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.d.ts +0 -13
  477. package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.d.ts.map +0 -1
  478. package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.js +0 -48
  479. package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.js.map +0 -1
  480. package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +0 -24
  481. package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +0 -1
  482. package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.js +0 -189
  483. package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.js.map +0 -1
  484. package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts +0 -16
  485. package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts.map +0 -1
  486. package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js +0 -72
  487. package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js.map +0 -1
  488. package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +0 -23
  489. package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +0 -1
  490. package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.js +0 -118
  491. package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +0 -1
  492. package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +0 -29
  493. package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +0 -1
  494. package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js +0 -556
  495. package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +0 -1
  496. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts +0 -21
  497. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts.map +0 -1
  498. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js +0 -73
  499. package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js.map +0 -1
  500. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +0 -19
  501. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +0 -1
  502. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +0 -88
  503. package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +0 -1
  504. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +0 -24
  505. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +0 -1
  506. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js +0 -79
  507. package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +0 -1
  508. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts +0 -27
  509. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts.map +0 -1
  510. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js +0 -347
  511. package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js.map +0 -1
  512. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +0 -30
  513. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +0 -1
  514. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js +0 -232
  515. package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js.map +0 -1
  516. package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +0 -22
  517. package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +0 -1
  518. package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js +0 -106
  519. package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +0 -1
  520. package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +0 -21
  521. package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +0 -1
  522. package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +0 -106
  523. package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +0 -1
  524. package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +0 -21
  525. package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +0 -1
  526. package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js +0 -91
  527. package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +0 -1
  528. package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +0 -15
  529. package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +0 -1
  530. package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +0 -270
  531. package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +0 -1
  532. package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +0 -15
  533. package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +0 -1
  534. package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +0 -241
  535. package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +0 -1
  536. package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts +0 -16
  537. package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +0 -1
  538. package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js +0 -168
  539. package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js.map +0 -1
  540. package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts +0 -14
  541. package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts.map +0 -1
  542. package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js +0 -228
  543. package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js.map +0 -1
  544. package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts +0 -14
  545. package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +0 -1
  546. package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js +0 -237
  547. package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js.map +0 -1
  548. package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +0 -14
  549. package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +0 -1
  550. package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js +0 -61
  551. package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +0 -1
  552. package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts +0 -21
  553. package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +0 -1
  554. package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js +0 -127
  555. package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js.map +0 -1
  556. package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +0 -15
  557. package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +0 -1
  558. package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js +0 -69
  559. package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js.map +0 -1
  560. package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +0 -15
  561. package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +0 -1
  562. package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js +0 -132
  563. package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +0 -1
  564. package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +0 -18
  565. package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +0 -1
  566. package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js +0 -47
  567. package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +0 -1
  568. package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts +0 -20
  569. package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts.map +0 -1
  570. package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js +0 -119
  571. package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js.map +0 -1
  572. package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts +0 -13
  573. package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +0 -1
  574. package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js +0 -70
  575. package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js.map +0 -1
  576. package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts +0 -11
  577. package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +0 -1
  578. package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js +0 -36
  579. package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js.map +0 -1
  580. package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts +0 -14
  581. package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +0 -1
  582. package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js +0 -84
  583. package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js.map +0 -1
  584. package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts +0 -9
  585. package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +0 -1
  586. package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js +0 -37
  587. package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js.map +0 -1
  588. package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +0 -9
  589. package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +0 -1
  590. package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +0 -41
  591. package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +0 -1
  592. package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts +0 -9
  593. package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +0 -1
  594. package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js +0 -36
  595. package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js.map +0 -1
  596. package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts +0 -10
  597. package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +0 -1
  598. package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js +0 -28
  599. package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js.map +0 -1
  600. package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts +0 -49
  601. package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts.map +0 -1
  602. package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js +0 -974
  603. package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js.map +0 -1
  604. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +0 -14
  605. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +0 -1
  606. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js +0 -97
  607. package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +0 -1
  608. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +0 -24
  609. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +0 -1
  610. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js +0 -303
  611. package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +0 -1
  612. package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +0 -19
  613. package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +0 -1
  614. package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js +0 -196
  615. package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +0 -1
  616. package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts +0 -22
  617. package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts.map +0 -1
  618. package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js +0 -375
  619. package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js.map +0 -1
  620. package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts +0 -16
  621. package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +0 -1
  622. package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js +0 -84
  623. package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js.map +0 -1
  624. package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts +0 -14
  625. package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +0 -1
  626. package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js +0 -42
  627. package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js.map +0 -1
  628. package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts +0 -17
  629. package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +0 -1
  630. package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js +0 -122
  631. package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js.map +0 -1
  632. package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts +0 -12
  633. package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +0 -1
  634. package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js +0 -49
  635. package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js.map +0 -1
  636. package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +0 -12
  637. package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +0 -1
  638. package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +0 -53
  639. package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +0 -1
  640. package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts +0 -12
  641. package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +0 -1
  642. package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js +0 -44
  643. package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js.map +0 -1
  644. package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts +0 -13
  645. package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +0 -1
  646. package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js +0 -33
  647. package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js.map +0 -1
  648. package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts +0 -17
  649. package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts.map +0 -1
  650. package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js +0 -119
  651. package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js.map +0 -1
  652. package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts +0 -15
  653. package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts.map +0 -1
  654. package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js +0 -282
  655. package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js.map +0 -1
  656. package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts +0 -21
  657. package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts.map +0 -1
  658. package/dist/database/migrations/20251025021351_create_indexes_wrapper.js +0 -83
  659. package/dist/database/migrations/20251025021351_create_indexes_wrapper.js.map +0 -1
  660. package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts +0 -22
  661. package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts.map +0 -1
  662. package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js +0 -94
  663. package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js.map +0 -1
  664. package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts +0 -19
  665. package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts.map +0 -1
  666. package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js +0 -120
  667. package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js.map +0 -1
  668. package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts +0 -14
  669. package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts.map +0 -1
  670. package/dist/database/migrations/20251025070349_create_views_wrapper.js +0 -160
  671. package/dist/database/migrations/20251025070349_create_views_wrapper.js.map +0 -1
  672. package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts +0 -9
  673. package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts.map +0 -1
  674. package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js +0 -21
  675. package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js.map +0 -1
  676. package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts +0 -13
  677. package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts.map +0 -1
  678. package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js +0 -17
  679. package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js.map +0 -1
  680. package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts +0 -27
  681. package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts.map +0 -1
  682. package/dist/database/migrations/20251025090000_create_help_system_tables.js +0 -120
  683. package/dist/database/migrations/20251025090000_create_help_system_tables.js.map +0 -1
  684. package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts +0 -18
  685. package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts.map +0 -1
  686. package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js +0 -388
  687. package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js.map +0 -1
  688. package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts +0 -20
  689. package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts.map +0 -1
  690. package/dist/database/migrations/20251025100000_seed_help_metadata.js +0 -264
  691. package/dist/database/migrations/20251025100000_seed_help_metadata.js.map +0 -1
  692. package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts +0 -21
  693. package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts.map +0 -1
  694. package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js +0 -281
  695. package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js.map +0 -1
  696. package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts +0 -13
  697. package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts.map +0 -1
  698. package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js +0 -76
  699. package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js.map +0 -1
  700. package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts +0 -17
  701. package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts.map +0 -1
  702. package/dist/database/migrations/20251027000000_add_agent_reuse_system.js +0 -42
  703. package/dist/database/migrations/20251027000000_add_agent_reuse_system.js.map +0 -1
  704. package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts +0 -10
  705. package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts.map +0 -1
  706. package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js +0 -28
  707. package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js.map +0 -1
  708. package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts +0 -21
  709. package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts.map +0 -1
  710. package/dist/database/migrations/20251027020000_update_agent_reusability.js +0 -38
  711. package/dist/database/migrations/20251027020000_update_agent_reusability.js.map +0 -1
  712. package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts +0 -26
  713. package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts.map +0 -1
  714. package/dist/database/migrations/20251028000000_simplify_agent_system.js +0 -56
  715. package/dist/database/migrations/20251028000000_simplify_agent_system.js.map +0 -1
  716. package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts +0 -16
  717. package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts.map +0 -1
  718. package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js +0 -52
  719. package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js.map +0 -1
  720. package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts +0 -56
  721. package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts.map +0 -1
  722. package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js +0 -701
  723. package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js.map +0 -1
  724. package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +0 -30
  725. package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +0 -1
  726. package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js +0 -180
  727. package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js.map +0 -1
  728. package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts +0 -19
  729. package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts.map +0 -1
  730. package/dist/database/migrations/20251105000000_add_token_usage_table.js +0 -47
  731. package/dist/database/migrations/20251105000000_add_token_usage_table.js.map +0 -1
  732. package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +0 -28
  733. package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +0 -1
  734. package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js +0 -123
  735. package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +0 -1
  736. package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +0 -36
  737. package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +0 -1
  738. package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js +0 -559
  739. package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +0 -1
  740. package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts +0 -26
  741. package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts.map +0 -1
  742. package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js +0 -78
  743. package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js.map +0 -1
  744. package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +0 -17
  745. package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +0 -1
  746. package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js +0 -78
  747. package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +0 -1
  748. package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +0 -24
  749. package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +0 -1
  750. package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +0 -63
  751. package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +0 -1
  752. package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +0 -27
  753. package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +0 -1
  754. package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js +0 -276
  755. package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +0 -1
  756. package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +0 -27
  757. package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +0 -1
  758. package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js +0 -67
  759. package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +0 -1
  760. package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts +0 -32
  761. package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts.map +0 -1
  762. package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js +0 -352
  763. package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js.map +0 -1
  764. package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +0 -35
  765. package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +0 -1
  766. package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js +0 -237
  767. package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js.map +0 -1
  768. package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +0 -22
  769. package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +0 -1
  770. package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js +0 -190
  771. package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +0 -1
  772. package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts +0 -32
  773. package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts.map +0 -1
  774. package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js +0 -342
  775. package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js.map +0 -1
  776. package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +0 -25
  777. package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +0 -1
  778. package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js +0 -109
  779. package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +0 -1
  780. package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +0 -24
  781. package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +0 -1
  782. package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +0 -111
  783. package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +0 -1
  784. package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +0 -24
  785. package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +0 -1
  786. package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js +0 -90
  787. package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +0 -1
  788. package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +0 -20
  789. package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +0 -1
  790. package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +0 -275
  791. package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +0 -1
  792. package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +0 -20
  793. package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +0 -1
  794. package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +0 -246
  795. package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +0 -1
  796. package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts +0 -23
  797. package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +0 -1
  798. package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js +0 -175
  799. package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js.map +0 -1
  800. package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts +0 -21
  801. package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts.map +0 -1
  802. package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js +0 -235
  803. package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js.map +0 -1
  804. package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts +0 -21
  805. package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +0 -1
  806. package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js +0 -244
  807. package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js.map +0 -1
  808. package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +0 -23
  809. package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +0 -1
  810. package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js +0 -70
  811. package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +0 -1
  812. package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts +0 -29
  813. package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +0 -1
  814. package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js +0 -135
  815. package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js.map +0 -1
  816. package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +0 -23
  817. package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +0 -1
  818. package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js +0 -42
  819. package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js.map +0 -1
  820. package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +0 -25
  821. package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +0 -1
  822. package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js +0 -102
  823. package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +0 -1
  824. package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +0 -25
  825. package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +0 -1
  826. package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js +0 -55
  827. package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +0 -1
  828. package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts +0 -29
  829. package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts.map +0 -1
  830. package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js +0 -62
  831. package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js.map +0 -1
  832. package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts +0 -25
  833. package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts.map +0 -1
  834. package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js +0 -100
  835. package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js.map +0 -1
  836. package/dist/tests/database/migrations/idempotency.test.d.ts +0 -2
  837. package/dist/tests/database/migrations/idempotency.test.d.ts.map +0 -1
  838. package/dist/tests/database/migrations/idempotency.test.js +0 -331
  839. package/dist/tests/database/migrations/idempotency.test.js.map +0 -1
  840. package/dist/tests/database/migrations/upgrade-paths.test.d.ts +0 -2
  841. package/dist/tests/database/migrations/upgrade-paths.test.d.ts.map +0 -1
  842. package/dist/tests/database/migrations/upgrade-paths.test.js +0 -249
  843. package/dist/tests/database/migrations/upgrade-paths.test.js.map +0 -1
  844. package/dist/utils/activity-logging.d.ts +0 -114
  845. package/dist/utils/activity-logging.d.ts.map +0 -1
  846. package/dist/utils/activity-logging.js +0 -169
  847. package/dist/utils/activity-logging.js.map +0 -1
  848. package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +0 -457
  849. package/docs/TASK_DEPENDENCIES.md +0 -748
  850. package/docs/TASK_LINKING.md +0 -909
  851. package/docs/TASK_MIGRATION.md +0 -701
  852. package/docs/TASK_SYSTEM.md +0 -1314
@@ -15,7 +15,7 @@
15
15
  import { describe, it } from 'node:test';
16
16
  import assert from 'node:assert';
17
17
  import { createHash } from 'crypto';
18
- import { runTestsOnAllDatabases, getLayerId, getAgentId, getTagId } from './test-harness.js';
18
+ import { runTestsOnAllDatabases, getLayerId, getTagId } from './test-harness.js';
19
19
  // ============================================================================
20
20
  // Hash Helper
21
21
  // ============================================================================
@@ -32,7 +32,7 @@ function hashConstraintText(text) {
32
32
  * Get task status ID by status name
33
33
  */
34
34
  async function getStatusId(db, statusName) {
35
- const status = await db('m_task_statuses').where({ name: statusName }).first();
35
+ const status = await db('v4_task_statuses').where({ name: statusName }).first();
36
36
  assert.ok(status, `Status "${statusName}" should exist`);
37
37
  return status.id;
38
38
  }
@@ -42,20 +42,17 @@ async function getStatusId(db, statusName) {
42
42
  async function insertTask(db, data) {
43
43
  const statusId = await getStatusId(db, data.status || 'todo');
44
44
  const layerId = data.layer ? await getLayerId(db, data.layer) : await getLayerId(db, 'business');
45
- const agentId = await getAgentId(db, data.assigned_agent || 'system');
46
45
  const timestamp = Math.floor(Date.now() / 1000);
47
46
  const insertData = {
48
47
  title: data.title,
49
48
  status_id: statusId,
50
49
  priority: data.priority || 2,
51
50
  layer_id: layerId,
52
- assigned_agent_id: agentId,
53
- created_by_agent_id: agentId,
54
51
  project_id: 1,
55
52
  created_ts: timestamp,
56
53
  updated_ts: timestamp,
57
54
  };
58
- const result = await db('t_tasks').insert(insertData);
55
+ const result = await db('v4_tasks').insert(insertData);
59
56
  // Get the inserted ID (different return format across databases)
60
57
  let taskId;
61
58
  if (Array.isArray(result) && result.length > 0) {
@@ -66,7 +63,7 @@ async function insertTask(db, data) {
66
63
  }
67
64
  else {
68
65
  // Fallback: query the last inserted task
69
- const task = await db('t_tasks')
66
+ const task = await db('v4_tasks')
70
67
  .where({ title: data.title, project_id: 1 })
71
68
  .orderBy('id', 'desc')
72
69
  .first();
@@ -74,7 +71,7 @@ async function insertTask(db, data) {
74
71
  }
75
72
  // Insert task details if description provided
76
73
  if (data.description) {
77
- await db('t_task_details').insert({
74
+ await db('v4_task_details').insert({
78
75
  task_id: taskId,
79
76
  description: data.description,
80
77
  });
@@ -85,10 +82,10 @@ async function insertTask(db, data) {
85
82
  * Assert task has expected status
86
83
  */
87
84
  async function assertTaskHasStatus(db, taskId, expectedStatus) {
88
- const task = await db('t_tasks')
89
- .join('m_task_statuses', 't_tasks.status_id', 'm_task_statuses.id')
90
- .where({ 't_tasks.id': taskId })
91
- .select('m_task_statuses.name as status')
85
+ const task = await db('v4_tasks')
86
+ .join('v4_task_statuses', 'v4_tasks.status_id', 'v4_task_statuses.id')
87
+ .where({ 'v4_tasks.id': taskId })
88
+ .select('v4_task_statuses.name as status')
92
89
  .first();
93
90
  assert.ok(task, `Task ${taskId} should exist`);
94
91
  assert.strictEqual(task.status, expectedStatus, `Task ${taskId} status should be ${expectedStatus}`);
@@ -110,7 +107,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
110
107
  });
111
108
  assert.ok(taskId, 'Should return task ID');
112
109
  // Verify task exists
113
- const task = await db('t_tasks').where({ id: taskId, project_id: 1 }).first();
110
+ const task = await db('v4_tasks').where({ id: taskId, project_id: 1 }).first();
114
111
  assert.strictEqual(task.title, 'Implement authentication');
115
112
  assert.strictEqual(task.priority, 3);
116
113
  await assertTaskHasStatus(db, taskId, 'todo');
@@ -122,16 +119,15 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
122
119
  description: 'This is a detailed description',
123
120
  priority: 4,
124
121
  layer: 'infrastructure',
125
- assigned_agent: 'backend-specialist',
126
122
  });
127
123
  // Verify core task data
128
- const task = await db('t_tasks').where({ id: taskId, project_id: 1 }).first();
124
+ const task = await db('v4_tasks').where({ id: taskId, project_id: 1 }).first();
129
125
  assert.strictEqual(task.title, 'Complex task with all fields');
130
126
  assert.strictEqual(task.priority, 4);
131
127
  const layerId = await getLayerId(db, 'infrastructure');
132
128
  assert.strictEqual(task.layer_id, layerId);
133
129
  // Verify task details
134
- const details = await db('t_task_details').where({ task_id: taskId }).first();
130
+ const details = await db('v4_task_details').where({ task_id: taskId }).first();
135
131
  assert.ok(details, 'Task details should exist');
136
132
  assert.strictEqual(details.description, 'This is a detailed description');
137
133
  });
@@ -142,7 +138,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
142
138
  priority: 2,
143
139
  });
144
140
  // Update title and priority
145
- await db('t_tasks')
141
+ await db('v4_tasks')
146
142
  .where({ id: taskId, project_id: 1 })
147
143
  .update({
148
144
  title: 'Updated title',
@@ -150,7 +146,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
150
146
  updated_ts: Math.floor(Date.now() / 1000),
151
147
  });
152
148
  // Verify update
153
- const task = await db('t_tasks').where({ id: taskId, project_id: 1 }).first();
149
+ const task = await db('v4_tasks').where({ id: taskId, project_id: 1 }).first();
154
150
  assert.strictEqual(task.title, 'Updated title');
155
151
  assert.strictEqual(task.priority, 4);
156
152
  });
@@ -160,9 +156,9 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
160
156
  title: 'Task to delete',
161
157
  });
162
158
  // Delete task
163
- await db('t_tasks').where({ id: taskId, project_id: 1 }).delete();
159
+ await db('v4_tasks').where({ id: taskId, project_id: 1 }).delete();
164
160
  // Verify deletion
165
- const task = await db('t_tasks').where({ id: taskId, project_id: 1 }).first();
161
+ const task = await db('v4_tasks').where({ id: taskId, project_id: 1 }).first();
166
162
  assert.strictEqual(task, undefined, 'Task should be deleted');
167
163
  });
168
164
  });
@@ -172,14 +168,12 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
172
168
  describe('Foreign Key Constraints', () => {
173
169
  it('should enforce FK constraint on status_id', async () => {
174
170
  const db = getDb();
175
- const insertPromise = db('t_tasks').insert({
171
+ const insertPromise = db('v4_tasks').insert({
176
172
  title: 'Invalid status task',
177
173
  status_id: 99999, // Non-existent status
178
174
  priority: 2,
179
175
  project_id: 1,
180
176
  layer_id: 1,
181
- assigned_agent_id: 1,
182
- created_by_agent_id: 1,
183
177
  created_ts: Math.floor(Date.now() / 1000),
184
178
  updated_ts: Math.floor(Date.now() / 1000),
185
179
  });
@@ -190,33 +184,12 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
190
184
  it('should enforce FK constraint on layer_id', async () => {
191
185
  const db = getDb();
192
186
  const statusId = await getStatusId(db, 'todo');
193
- const insertPromise = db('t_tasks').insert({
187
+ const insertPromise = db('v4_tasks').insert({
194
188
  title: 'Invalid layer task',
195
189
  status_id: statusId,
196
190
  priority: 2,
197
191
  project_id: 1,
198
192
  layer_id: 99999, // Non-existent layer
199
- assigned_agent_id: 1,
200
- created_by_agent_id: 1,
201
- created_ts: Math.floor(Date.now() / 1000),
202
- updated_ts: Math.floor(Date.now() / 1000),
203
- });
204
- await assert.rejects(insertPromise, {
205
- message: /foreign key constraint|violates foreign key|Cannot add or update a child row/i,
206
- });
207
- });
208
- it('should enforce FK constraint on assigned_agent_id', async () => {
209
- const db = getDb();
210
- const statusId = await getStatusId(db, 'todo');
211
- const layerId = await getLayerId(db, 'business');
212
- const insertPromise = db('t_tasks').insert({
213
- title: 'Invalid agent task',
214
- status_id: statusId,
215
- priority: 2,
216
- project_id: 1,
217
- layer_id: layerId,
218
- assigned_agent_id: 99999, // Non-existent agent
219
- created_by_agent_id: 1,
220
193
  created_ts: Math.floor(Date.now() / 1000),
221
194
  updated_ts: Math.floor(Date.now() / 1000),
222
195
  });
@@ -235,7 +208,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
235
208
  await assertTaskHasStatus(db, taskId, 'todo');
236
209
  // Move to in_progress
237
210
  const inProgressId = await getStatusId(db, 'in_progress');
238
- await db('t_tasks')
211
+ await db('v4_tasks')
239
212
  .where({ id: taskId })
240
213
  .update({
241
214
  status_id: inProgressId,
@@ -250,7 +223,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
250
223
  // Move to done
251
224
  const doneId = await getStatusId(db, 'done');
252
225
  const completedTs = Math.floor(Date.now() / 1000);
253
- await db('t_tasks')
226
+ await db('v4_tasks')
254
227
  .where({ id: taskId })
255
228
  .update({
256
229
  status_id: doneId,
@@ -259,14 +232,14 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
259
232
  });
260
233
  await assertTaskHasStatus(db, taskId, 'done');
261
234
  // Verify completed_ts was set
262
- const task = await db('t_tasks').where({ id: taskId }).first();
235
+ const task = await db('v4_tasks').where({ id: taskId }).first();
263
236
  assert.ok(task.completed_ts, 'completed_ts should be set');
264
237
  });
265
238
  it('should transition to blocked status', async () => {
266
239
  const db = getDb();
267
240
  const taskId = await insertTask(db, { title: 'Blocked task' });
268
241
  const blockedId = await getStatusId(db, 'blocked');
269
- await db('t_tasks')
242
+ await db('v4_tasks')
270
243
  .where({ id: taskId })
271
244
  .update({
272
245
  status_id: blockedId,
@@ -278,7 +251,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
278
251
  const db = getDb();
279
252
  const taskId = await insertTask(db, { title: 'Archive task' });
280
253
  const archivedId = await getStatusId(db, 'archived');
281
- await db('t_tasks')
254
+ await db('v4_tasks')
282
255
  .where({ id: taskId })
283
256
  .update({
284
257
  status_id: archivedId,
@@ -296,25 +269,25 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
296
269
  const taskId = await insertTask(db, { title: 'Task with files' });
297
270
  const timestamp = Math.floor(Date.now() / 1000);
298
271
  // First, create file records in m_files
299
- const file1Result = await db('m_files').insert({ project_id: 1, path: 'src/auth/login.ts' });
300
- const file2Result = await db('m_files').insert({ project_id: 1, path: 'src/auth/types.ts' });
301
- const file3Result = await db('m_files').insert({ project_id: 1, path: 'src/auth/old.ts' });
272
+ const file1Result = await db('v4_files').insert({ project_id: 1, path: 'src/auth/login.ts' });
273
+ const file2Result = await db('v4_files').insert({ project_id: 1, path: 'src/auth/types.ts' });
274
+ const file3Result = await db('v4_files').insert({ project_id: 1, path: 'src/auth/old.ts' });
302
275
  // Get file IDs
303
- const file1 = await db('m_files').where({ path: 'src/auth/login.ts', project_id: 1 }).first();
304
- const file2 = await db('m_files').where({ path: 'src/auth/types.ts', project_id: 1 }).first();
305
- const file3 = await db('m_files').where({ path: 'src/auth/old.ts', project_id: 1 }).first();
276
+ const file1 = await db('v4_files').where({ path: 'src/auth/login.ts', project_id: 1 }).first();
277
+ const file2 = await db('v4_files').where({ path: 'src/auth/types.ts', project_id: 1 }).first();
278
+ const file3 = await db('v4_files').where({ path: 'src/auth/old.ts', project_id: 1 }).first();
306
279
  // Insert file links
307
- await db('t_task_file_links').insert([
280
+ await db('v4_task_file_links').insert([
308
281
  { task_id: taskId, file_id: file1.id, project_id: 1, linked_ts: timestamp },
309
282
  { task_id: taskId, file_id: file2.id, project_id: 1, linked_ts: timestamp },
310
283
  { task_id: taskId, file_id: file3.id, project_id: 1, linked_ts: timestamp },
311
284
  ]);
312
285
  // Verify file links
313
- const fileLinks = await db('t_task_file_links')
314
- .join('m_files', 't_task_file_links.file_id', 'm_files.id')
315
- .where({ 't_task_file_links.task_id': taskId })
316
- .select('t_task_file_links.*', 'm_files.path')
317
- .orderBy('m_files.path');
286
+ const fileLinks = await db('v4_task_file_links')
287
+ .join('v4_files', 'v4_task_file_links.file_id', 'v4_files.id')
288
+ .where({ 'v4_task_file_links.task_id': taskId })
289
+ .select('v4_task_file_links.*', 'v4_files.path')
290
+ .orderBy('v4_files.path');
318
291
  assert.strictEqual(fileLinks.length, 3);
319
292
  assert.strictEqual(fileLinks[0].path, 'src/auth/login.ts');
320
293
  assert.strictEqual(fileLinks[1].path, 'src/auth/old.ts');
@@ -325,16 +298,16 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
325
298
  const taskId = await insertTask(db, { title: 'Unique file link test' });
326
299
  const timestamp = Math.floor(Date.now() / 1000);
327
300
  // Create a file record
328
- await db('m_files').insert({ project_id: 1, path: 'src/unique-test.ts' });
329
- const file = await db('m_files').where({ path: 'src/unique-test.ts', project_id: 1 }).first();
330
- await db('t_task_file_links').insert({
301
+ await db('v4_files').insert({ project_id: 1, path: 'src/unique-test.ts' });
302
+ const file = await db('v4_files').where({ path: 'src/unique-test.ts', project_id: 1 }).first();
303
+ await db('v4_task_file_links').insert({
331
304
  task_id: taskId,
332
305
  file_id: file.id,
333
306
  project_id: 1,
334
307
  linked_ts: timestamp,
335
308
  });
336
309
  // Try to insert duplicate
337
- const duplicatePromise = db('t_task_file_links').insert({
310
+ const duplicatePromise = db('v4_task_file_links').insert({
338
311
  task_id: taskId,
339
312
  file_id: file.id,
340
313
  project_id: 1,
@@ -349,18 +322,18 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
349
322
  const taskId = await insertTask(db, { title: 'Cascade delete file links' });
350
323
  const timestamp = Math.floor(Date.now() / 1000);
351
324
  // Create a file record
352
- await db('m_files').insert({ project_id: 1, path: 'src/cascade-test.ts' });
353
- const file = await db('m_files').where({ path: 'src/cascade-test.ts', project_id: 1 }).first();
354
- await db('t_task_file_links').insert({
325
+ await db('v4_files').insert({ project_id: 1, path: 'src/cascade-test.ts' });
326
+ const file = await db('v4_files').where({ path: 'src/cascade-test.ts', project_id: 1 }).first();
327
+ await db('v4_task_file_links').insert({
355
328
  task_id: taskId,
356
329
  file_id: file.id,
357
330
  project_id: 1,
358
331
  linked_ts: timestamp,
359
332
  });
360
333
  // Delete task
361
- await db('t_tasks').where({ id: taskId }).delete();
334
+ await db('v4_tasks').where({ id: taskId }).delete();
362
335
  // Verify file links were cascade deleted
363
- const fileLinks = await db('t_task_file_links').where({ task_id: taskId });
336
+ const fileLinks = await db('v4_task_file_links').where({ task_id: taskId });
364
337
  assert.strictEqual(fileLinks.length, 0, 'File links should be cascade deleted');
365
338
  });
366
339
  });
@@ -375,17 +348,17 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
375
348
  const apiTagId = await getTagId(db, 'api');
376
349
  const securityTagId = await getTagId(db, 'security');
377
350
  const perfTagId = await getTagId(db, 'performance');
378
- // Insert tag associations (t_task_tags has no project_id)
379
- await db('t_task_tags').insert([
380
- { task_id: taskId, tag_id: apiTagId },
381
- { task_id: taskId, tag_id: securityTagId },
382
- { task_id: taskId, tag_id: perfTagId },
351
+ // Insert tag associations (v4_task_tags requires project_id)
352
+ await db('v4_task_tags').insert([
353
+ { task_id: taskId, tag_id: apiTagId, project_id: 1 },
354
+ { task_id: taskId, tag_id: securityTagId, project_id: 1 },
355
+ { task_id: taskId, tag_id: perfTagId, project_id: 1 },
383
356
  ]);
384
357
  // Verify tags
385
- const tags = await db('t_task_tags')
386
- .join('m_tags', 't_task_tags.tag_id', 'm_tags.id')
387
- .where({ 't_task_tags.task_id': taskId })
388
- .select('m_tags.name as tag_name');
358
+ const tags = await db('v4_task_tags as tt')
359
+ .join('v4_tags as t', 'tt.tag_id', 't.id')
360
+ .where({ 'tt.task_id': taskId })
361
+ .select('t.name as tag_name');
389
362
  assert.strictEqual(tags.length, 3);
390
363
  const tagNames = tags.map(t => t.tag_name);
391
364
  assert.ok(tagNames.includes('api'));
@@ -396,14 +369,15 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
396
369
  const db = getDb();
397
370
  const taskId = await insertTask(db, { title: 'Task with tags for cascade' });
398
371
  const tagId = await getTagId(db, 'test');
399
- await db('t_task_tags').insert({
372
+ await db('v4_task_tags').insert({
400
373
  task_id: taskId,
401
374
  tag_id: tagId,
375
+ project_id: 1,
402
376
  });
403
377
  // Delete task
404
- await db('t_tasks').where({ id: taskId }).delete();
378
+ await db('v4_tasks').where({ id: taskId }).delete();
405
379
  // Verify tags were cascade deleted
406
- const tags = await db('t_task_tags').where({ task_id: taskId });
380
+ const tags = await db('v4_task_tags').where({ task_id: taskId });
407
381
  assert.strictEqual(tags.length, 0, 'Tags should be cascade deleted');
408
382
  });
409
383
  });
@@ -416,13 +390,14 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
416
390
  const blockerTaskId = await insertTask(db, { title: 'Blocker task' });
417
391
  const blockedTaskId = await insertTask(db, { title: 'Blocked task' });
418
392
  // Add dependency: blocker blocks blocked
419
- await db('t_task_dependencies').insert({
393
+ await db('v4_task_dependencies').insert({
420
394
  blocker_task_id: blockerTaskId,
421
395
  blocked_task_id: blockedTaskId,
396
+ project_id: 1,
422
397
  created_ts: Math.floor(Date.now() / 1000),
423
398
  });
424
399
  // Verify dependency exists
425
- const dependency = await db('t_task_dependencies')
400
+ const dependency = await db('v4_task_dependencies')
426
401
  .where({ blocker_task_id: blockerTaskId, blocked_task_id: blockedTaskId })
427
402
  .first();
428
403
  assert.ok(dependency, 'Dependency should exist');
@@ -431,9 +406,10 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
431
406
  const db = getDb();
432
407
  const taskId = await insertTask(db, { title: 'Self-blocking task' });
433
408
  // Try to create self-dependency
434
- const selfDepPromise = db('t_task_dependencies').insert({
409
+ const selfDepPromise = db('v4_task_dependencies').insert({
435
410
  blocker_task_id: taskId,
436
411
  blocked_task_id: taskId, // Same task
412
+ project_id: 1,
437
413
  created_ts: Math.floor(Date.now() / 1000),
438
414
  });
439
415
  // Should fail (either via trigger or application-level check)
@@ -444,7 +420,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
444
420
  await selfDepPromise;
445
421
  // If insert succeeds, check if there's a trigger that prevents it
446
422
  // This is database-specific behavior
447
- const dep = await db('t_task_dependencies')
423
+ const dep = await db('v4_task_dependencies')
448
424
  .where({ blocker_task_id: taskId, blocked_task_id: taskId })
449
425
  .first();
450
426
  // If dependency was inserted, we need to check if the application
@@ -483,9 +459,10 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
483
459
  const taskA = await insertTask(db, { title: 'Task A' });
484
460
  const taskB = await insertTask(db, { title: 'Task B' });
485
461
  // Create A blocks B
486
- await db('t_task_dependencies').insert({
462
+ await db('v4_task_dependencies').insert({
487
463
  blocker_task_id: taskA,
488
464
  blocked_task_id: taskB,
465
+ project_id: 1,
489
466
  created_ts: Math.floor(Date.now() / 1000),
490
467
  });
491
468
  // Try to create B blocks A (circular)
@@ -493,9 +470,10 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
493
470
  // application-level logic or recursive triggers.
494
471
  // The schema may allow this at database level.
495
472
  // This test documents expected behavior.
496
- const circularPromise = db('t_task_dependencies').insert({
473
+ const circularPromise = db('v4_task_dependencies').insert({
497
474
  blocker_task_id: taskB,
498
475
  blocked_task_id: taskA,
476
+ project_id: 1,
499
477
  created_ts: Math.floor(Date.now() / 1000),
500
478
  });
501
479
  // For now, we expect application-level validation to prevent this
@@ -503,7 +481,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
503
481
  try {
504
482
  await circularPromise;
505
483
  // If it succeeds, verify both dependencies exist
506
- const deps = await db('t_task_dependencies')
484
+ const deps = await db('v4_task_dependencies')
507
485
  .whereIn('blocker_task_id', [taskA, taskB])
508
486
  .whereIn('blocked_task_id', [taskA, taskB]);
509
487
  // Note: Schema allows this, but application should prevent it
@@ -526,17 +504,18 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
526
504
  const db = getDb();
527
505
  const blockerTaskId = await insertTask(db, { title: 'Blocker for removal' });
528
506
  const blockedTaskId = await insertTask(db, { title: 'Blocked for removal' });
529
- await db('t_task_dependencies').insert({
507
+ await db('v4_task_dependencies').insert({
530
508
  blocker_task_id: blockerTaskId,
531
509
  blocked_task_id: blockedTaskId,
510
+ project_id: 1,
532
511
  created_ts: Math.floor(Date.now() / 1000),
533
512
  });
534
513
  // Remove dependency
535
- await db('t_task_dependencies')
514
+ await db('v4_task_dependencies')
536
515
  .where({ blocker_task_id: blockerTaskId, blocked_task_id: blockedTaskId })
537
516
  .delete();
538
517
  // Verify removal
539
- const dependency = await db('t_task_dependencies')
518
+ const dependency = await db('v4_task_dependencies')
540
519
  .where({ blocker_task_id: blockerTaskId, blocked_task_id: blockedTaskId })
541
520
  .first();
542
521
  assert.strictEqual(dependency, undefined, 'Dependency should be removed');
@@ -545,15 +524,16 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
545
524
  const db = getDb();
546
525
  const blockerTaskId = await insertTask(db, { title: 'Blocker for cascade' });
547
526
  const blockedTaskId = await insertTask(db, { title: 'Blocked for cascade' });
548
- await db('t_task_dependencies').insert({
527
+ await db('v4_task_dependencies').insert({
549
528
  blocker_task_id: blockerTaskId,
550
529
  blocked_task_id: blockedTaskId,
530
+ project_id: 1,
551
531
  created_ts: Math.floor(Date.now() / 1000),
552
532
  });
553
533
  // Delete blocker task
554
- await db('t_tasks').where({ id: blockerTaskId }).delete();
534
+ await db('v4_tasks').where({ id: blockerTaskId }).delete();
555
535
  // Verify dependencies were cascade deleted
556
- const dependencies = await db('t_task_dependencies')
536
+ const dependencies = await db('v4_task_dependencies')
557
537
  .where({ blocker_task_id: blockerTaskId })
558
538
  .orWhere({ blocked_task_id: blockerTaskId });
559
539
  assert.strictEqual(dependencies.length, 0, 'Dependencies should be cascade deleted');
@@ -564,20 +544,22 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
564
544
  const blocked1Id = await insertTask(db, { title: 'Blocked 1' });
565
545
  const blocked2Id = await insertTask(db, { title: 'Blocked 2' });
566
546
  // Blocker blocks both blocked tasks
567
- await db('t_task_dependencies').insert([
547
+ await db('v4_task_dependencies').insert([
568
548
  {
569
549
  blocker_task_id: blockerTaskId,
570
550
  blocked_task_id: blocked1Id,
551
+ project_id: 1,
571
552
  created_ts: Math.floor(Date.now() / 1000),
572
553
  },
573
554
  {
574
555
  blocker_task_id: blockerTaskId,
575
556
  blocked_task_id: blocked2Id,
557
+ project_id: 1,
576
558
  created_ts: Math.floor(Date.now() / 1000),
577
559
  },
578
560
  ]);
579
561
  // Query what blocker is blocking
580
- const blocking = await db('t_task_dependencies')
562
+ const blocking = await db('v4_task_dependencies')
581
563
  .where({ blocker_task_id: blockerTaskId })
582
564
  .select('blocked_task_id');
583
565
  assert.strictEqual(blocking.length, 2);
@@ -591,20 +573,22 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
591
573
  const blocker1Id = await insertTask(db, { title: 'Blocker 1' });
592
574
  const blocker2Id = await insertTask(db, { title: 'Blocker 2' });
593
575
  // Blocked is blocked by both blockers
594
- await db('t_task_dependencies').insert([
576
+ await db('v4_task_dependencies').insert([
595
577
  {
596
578
  blocker_task_id: blocker1Id,
597
579
  blocked_task_id: blockedTaskId,
580
+ project_id: 1,
598
581
  created_ts: Math.floor(Date.now() / 1000),
599
582
  },
600
583
  {
601
584
  blocker_task_id: blocker2Id,
602
585
  blocked_task_id: blockedTaskId,
586
+ project_id: 1,
603
587
  created_ts: Math.floor(Date.now() / 1000),
604
588
  },
605
589
  ]);
606
590
  // Query what is blocking this task
607
- const blockers = await db('t_task_dependencies')
591
+ const blockers = await db('v4_task_dependencies')
608
592
  .where({ blocked_task_id: blockedTaskId })
609
593
  .select('blocker_task_id');
610
594
  assert.strictEqual(blockers.length, 2);
@@ -622,27 +606,25 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
622
606
  const taskId = await insertTask(db, { title: 'Task implementing decision' });
623
607
  const timestamp = Math.floor(Date.now() / 1000);
624
608
  // Create a decision
625
- const agentId = await getAgentId(db);
626
609
  const layerId = await getLayerId(db, 'business');
627
610
  // m_context_keys has no project_id column
628
- await db('m_context_keys').insert({
611
+ await db('v4_context_keys').insert({
629
612
  key: 'test/link-decision',
630
613
  });
631
- const contextKey = await db('m_context_keys')
614
+ const contextKey = await db('v4_context_keys')
632
615
  .where({ key: 'test/link-decision' })
633
616
  .first();
634
- await db('t_decisions').insert({
617
+ await db('v4_decisions').insert({
635
618
  key_id: contextKey.id,
636
619
  project_id: 1,
637
620
  value: 'test value',
638
621
  version: '1.0.0',
639
622
  ts: timestamp,
640
- agent_id: agentId,
641
623
  layer_id: layerId,
642
624
  status: 1, // 1=active (integer enum, not string)
643
625
  });
644
626
  // Link task to decision (using decision_key_id, not decision_id)
645
- await db('t_task_decision_links').insert({
627
+ await db('v4_task_decision_links').insert({
646
628
  task_id: taskId,
647
629
  decision_key_id: contextKey.id,
648
630
  project_id: 1,
@@ -650,7 +632,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
650
632
  linked_ts: timestamp,
651
633
  });
652
634
  // Verify link
653
- const link = await db('t_task_decision_links')
635
+ const link = await db('v4_task_decision_links')
654
636
  .where({ task_id: taskId, decision_key_id: contextKey.id })
655
637
  .first();
656
638
  assert.ok(link, 'Link should exist');
@@ -661,24 +643,22 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
661
643
  const taskId = await insertTask(db, { title: 'Task for cascade link delete' });
662
644
  const timestamp = Math.floor(Date.now() / 1000);
663
645
  // Create decision and link (simplified)
664
- const agentId = await getAgentId(db);
665
646
  const layerId = await getLayerId(db, 'business');
666
647
  // m_context_keys has no project_id column
667
- await db('m_context_keys').insert({ key: 'test/cascade-link' });
668
- const contextKey = await db('m_context_keys')
669
- .where({ key: 'test/cascade-link' })
648
+ await db('v4_context_keys').insert({ key_name: 'test/cascade-link' });
649
+ const contextKey = await db('v4_context_keys')
650
+ .where({ key_name: 'test/cascade-link' })
670
651
  .first();
671
- await db('t_decisions').insert({
652
+ await db('v4_decisions').insert({
672
653
  key_id: contextKey.id,
673
654
  project_id: 1,
674
655
  value: 'test',
675
656
  version: '1.0.0',
676
657
  ts: timestamp,
677
- agent_id: agentId,
678
658
  layer_id: layerId,
679
659
  status: 1, // 1=active (integer enum)
680
660
  });
681
- await db('t_task_decision_links').insert({
661
+ await db('v4_task_decision_links').insert({
682
662
  task_id: taskId,
683
663
  decision_key_id: contextKey.id,
684
664
  project_id: 1,
@@ -686,9 +666,9 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
686
666
  linked_ts: timestamp,
687
667
  });
688
668
  // Delete task
689
- await db('t_tasks').where({ id: taskId }).delete();
669
+ await db('v4_tasks').where({ id: taskId }).delete();
690
670
  // Verify links were cascade deleted
691
- const links = await db('t_task_decision_links').where({ task_id: taskId });
671
+ const links = await db('v4_task_decision_links').where({ task_id: taskId });
692
672
  assert.strictEqual(links.length, 0, 'Task-decision links should be cascade deleted');
693
673
  });
694
674
  });
@@ -700,25 +680,23 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
700
680
  const db = getDb();
701
681
  const taskId = await insertTask(db, { title: 'Task with constraint' });
702
682
  // Create a constraint
703
- const agentId = await getAgentId(db);
704
683
  const layerId = await getLayerId(db, 'business');
705
684
  // Get constraint category
706
- const category = await db('m_constraint_categories')
685
+ const category = await db('v4_constraint_categories')
707
686
  .where({ name: 'architecture' })
708
687
  .first();
709
688
  const constraintText = 'Test constraint for linking';
710
- await db('t_constraints').insert({
689
+ await db('v4_constraints').insert({
711
690
  constraint_text: constraintText,
712
691
  constraint_text_hash: hashConstraintText(constraintText),
713
692
  category_id: category.id,
714
693
  priority: 2,
715
694
  project_id: 1,
716
695
  layer_id: layerId,
717
- agent_id: agentId,
718
696
  ts: Math.floor(Date.now() / 1000),
719
697
  active: 1,
720
698
  });
721
- const constraint = await db('t_constraints')
699
+ const constraint = await db('v4_constraints')
722
700
  .where({ constraint_text: constraintText, project_id: 1 })
723
701
  .first();
724
702
  // Link task to constraint
@@ -736,24 +714,22 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
736
714
  const db = getDb();
737
715
  const taskId = await insertTask(db, { title: 'Task for constraint cascade' });
738
716
  // Create constraint and link (simplified)
739
- const agentId = await getAgentId(db);
740
717
  const layerId = await getLayerId(db, 'business');
741
- const category = await db('m_constraint_categories')
718
+ const category = await db('v4_constraint_categories')
742
719
  .where({ name: 'architecture' })
743
720
  .first();
744
721
  const constraintText = 'Cascade test constraint';
745
- await db('t_constraints').insert({
722
+ await db('v4_constraints').insert({
746
723
  constraint_text: constraintText,
747
724
  constraint_text_hash: hashConstraintText(constraintText),
748
725
  category_id: category.id,
749
726
  priority: 2,
750
727
  project_id: 1,
751
728
  layer_id: layerId,
752
- agent_id: agentId,
753
729
  ts: Math.floor(Date.now() / 1000),
754
730
  active: 1,
755
731
  });
756
- const constraint = await db('t_constraints')
732
+ const constraint = await db('v4_constraints')
757
733
  .where({ constraint_text: constraintText, project_id: 1 })
758
734
  .first();
759
735
  await db('t_task_constraint_links').insert({
@@ -761,7 +737,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
761
737
  constraint_id: constraint.id,
762
738
  });
763
739
  // Delete task
764
- await db('t_tasks').where({ id: taskId }).delete();
740
+ await db('v4_tasks').where({ id: taskId }).delete();
765
741
  // Verify links were cascade deleted
766
742
  const links = await db('t_task_constraint_links').where({ task_id: taskId });
767
743
  assert.strictEqual(links.length, 0, 'Task-constraint links should be cascade deleted');
@@ -778,7 +754,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
778
754
  title: longTitle,
779
755
  priority: 2,
780
756
  });
781
- const task = await db('t_tasks').where({ id: taskId, project_id: 1 }).first();
757
+ const task = await db('v4_tasks').where({ id: taskId, project_id: 1 }).first();
782
758
  assert.strictEqual(task.title, longTitle);
783
759
  });
784
760
  it('should handle special characters in descriptions', async () => {
@@ -788,7 +764,7 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
788
764
  title: 'Special chars test',
789
765
  description: specialDesc,
790
766
  });
791
- const details = await db('t_task_details').where({ task_id: taskId }).first();
767
+ const details = await db('v4_task_details').where({ task_id: taskId }).first();
792
768
  assert.strictEqual(details.description, specialDesc);
793
769
  });
794
770
  it('should handle unicode in task fields', async () => {
@@ -797,24 +773,22 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
797
773
  const taskId = await insertTask(db, {
798
774
  title: unicodeTitle,
799
775
  });
800
- const task = await db('t_tasks').where({ id: taskId, project_id: 1 }).first();
776
+ const task = await db('v4_tasks').where({ id: taskId, project_id: 1 }).first();
801
777
  assert.strictEqual(task.title, unicodeTitle);
802
778
  });
803
779
  it('should handle NULL optional fields', async () => {
804
780
  const db = getDb();
805
781
  const statusId = await getStatusId(db, 'todo');
806
782
  const layerId = await getLayerId(db, 'business');
807
- const agentId = await getAgentId(db);
808
- // Insert with NULL assigned_agent_id
783
+ // Insert with NULL optional fields (completed_ts is nullable)
809
784
  const timestamp = Math.floor(Date.now() / 1000);
810
- const result = await db('t_tasks').insert({
811
- title: 'Task with NULL agent',
785
+ const result = await db('v4_tasks').insert({
786
+ title: 'Task with NULL completed_ts',
812
787
  status_id: statusId,
813
788
  priority: 2,
814
789
  project_id: 1,
815
790
  layer_id: layerId,
816
- assigned_agent_id: null, // NULL is allowed
817
- created_by_agent_id: agentId,
791
+ completed_ts: null, // NULL is allowed
818
792
  created_ts: timestamp,
819
793
  updated_ts: timestamp,
820
794
  });
@@ -823,13 +797,13 @@ runTestsOnAllDatabases('Task Operations', (getDb, dbType) => {
823
797
  taskId = result[0];
824
798
  }
825
799
  else {
826
- const task = await db('t_tasks')
827
- .where({ title: 'Task with NULL agent', project_id: 1 })
800
+ const task = await db('v4_tasks')
801
+ .where({ title: 'Task with NULL completed_ts', project_id: 1 })
828
802
  .first();
829
803
  taskId = task.id;
830
804
  }
831
- const task = await db('t_tasks').where({ id: taskId, project_id: 1 }).first();
832
- assert.strictEqual(task.assigned_agent_id, null);
805
+ const task = await db('v4_tasks').where({ id: taskId, project_id: 1 }).first();
806
+ assert.strictEqual(task.completed_ts, null);
833
807
  });
834
808
  });
835
809
  });