sqlew 3.9.0 → 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 +119 -119
  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
@@ -1,29 +0,0 @@
1
- /**
2
- * Migration: Fix Master Tables project_id (v3.7.3)
3
- *
4
- * CRITICAL BUG FIX: v3.7.0-v3.7.2 shipped with incomplete multi-project support.
5
- * Master tables (m_files, m_tags, m_scopes) lack project_id columns, causing
6
- * namespace collisions where "src/index.ts" from ProjectA conflicts with ProjectB.
7
- *
8
- * This migration:
9
- * 1. Detects and renames fake project names ('default-project' → real name)
10
- * 2. Adds project_id to m_files, m_tags, m_scopes
11
- * 3. Changes UNIQUE constraints from single-column to composite (project_id, path/name)
12
- * 4. Maps all existing data to default project (ID 1)
13
- *
14
- * Idempotent: Can run multiple times safely (checks hasColumn before altering)
15
- *
16
- * Rollback: down() reverts to v3.7.2 schema (removes project_id, restores single-column UNIQUE)
17
- *
18
- * Satisfies: v3.7.3 fix for namespace collision bug
19
- */
20
- import type { Knex } from 'knex';
21
- export declare function up(knex: Knex): Promise<void>;
22
- /**
23
- * Rollback: Revert master tables to v3.7.2 schema
24
- *
25
- * WARNING: This will remove project_id columns and restore single-column UNIQUE constraints.
26
- * Data from all projects will be merged (potential conflicts if same path/name exists).
27
- */
28
- export declare function down(knex: Knex): Promise<void>;
29
- //# sourceMappingURL=20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"20251106000000_fix_master_tables_project_id_v3_7_3.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAiBjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuhBlD;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFpD"}
@@ -1,556 +0,0 @@
1
- /**
2
- * Migration: Fix Master Tables project_id (v3.7.3)
3
- *
4
- * CRITICAL BUG FIX: v3.7.0-v3.7.2 shipped with incomplete multi-project support.
5
- * Master tables (m_files, m_tags, m_scopes) lack project_id columns, causing
6
- * namespace collisions where "src/index.ts" from ProjectA conflicts with ProjectB.
7
- *
8
- * This migration:
9
- * 1. Detects and renames fake project names ('default-project' → real name)
10
- * 2. Adds project_id to m_files, m_tags, m_scopes
11
- * 3. Changes UNIQUE constraints from single-column to composite (project_id, path/name)
12
- * 4. Maps all existing data to default project (ID 1)
13
- *
14
- * Idempotent: Can run multiple times safely (checks hasColumn before altering)
15
- *
16
- * Rollback: down() reverts to v3.7.2 schema (removes project_id, restores single-column UNIQUE)
17
- *
18
- * Satisfies: v3.7.3 fix for namespace collision bug
19
- */
20
- import { detectProjectNameSync } from '../../../utils/project-detector.js';
21
- /**
22
- * Helper function to batch insert large datasets (prevents massive SQL queries)
23
- * Uses smaller batches to avoid SQLite UNION ALL limits and FK issues
24
- */
25
- async function batchInsert(knex, tableName, data) {
26
- if (data.length === 0)
27
- return;
28
- const batchSize = 10; // Smaller batches for better SQLite compatibility
29
- for (let i = 0; i < data.length; i += batchSize) {
30
- const batch = data.slice(i, i + batchSize);
31
- await knex(tableName).insert(batch);
32
- }
33
- }
34
- export async function up(knex) {
35
- console.log('🔧 Starting v3.7.3 master tables project_id fix...');
36
- // ============================================================================
37
- // STEP 1: Data Consolidation (Consolidate project #2 into #1)
38
- // ============================================================================
39
- const hasProjectsTable = await knex.schema.hasTable('m_projects');
40
- if (hasProjectsTable) {
41
- const projectRoot = process.cwd();
42
- const detected = detectProjectNameSync(projectRoot);
43
- const existingProject1 = await knex('m_projects')
44
- .where({ id: 1 })
45
- .first();
46
- const existingProject2 = await knex('m_projects')
47
- .where({ id: 2 })
48
- .first();
49
- const FAKE_NAMES = ['default-project', 'default'];
50
- // Check if this is a v3.7.0-v3.7.2 database needing consolidation
51
- // This ONLY happens if:
52
- // 1. User upgraded to v3.7.0-v3.7.2 (which created fake project #1)
53
- // 2. User manually created project #2 with real name
54
- // 3. Now upgrading to v3.7.3 to fix the issue
55
- const isV370UpgradeScenario = existingProject1 &&
56
- existingProject2 &&
57
- FAKE_NAMES.includes(existingProject1.name);
58
- // Perform consolidation ONLY for v3.7.0-v3.7.2 upgrades
59
- if (isV370UpgradeScenario) {
60
- console.log(`🔄 Detected v3.7.0-v3.7.2 database - consolidating projects...`);
61
- console.log(` Project #1: "${existingProject1.name}" (fake name, empty)`);
62
- console.log(` Project #2: "${existingProject2.name}" (real project, has data)`);
63
- console.log(`🔄 Consolidating project #2 into project #1...`);
64
- // STEP 1: Temporarily rename project #2 to avoid conflict
65
- const tempName = `temp-${existingProject2.name}-${Date.now()}`;
66
- await knex('m_projects')
67
- .where({ id: 2 })
68
- .update({ name: tempName });
69
- console.log(` ✓ Temporarily renamed project #2 to "${tempName}"`);
70
- // STEP 2: Rename project #1 to real detected name
71
- await knex('m_projects')
72
- .where({ id: 1 })
73
- .update({
74
- name: detected.name,
75
- display_name: detected.name,
76
- detection_source: detected.source,
77
- last_active_ts: Math.floor(Date.now() / 1000)
78
- });
79
- console.log(` ✓ Renamed project #1 from "${existingProject1.name}" to "${detected.name}"`);
80
- // STEP 3: Migrate ALL data from project_id=2 → 1
81
- const tablesToUpdate = [
82
- 't_decisions',
83
- 't_decisions_numeric',
84
- 't_decision_history',
85
- 't_decision_tags',
86
- 't_decision_scopes',
87
- 't_file_changes',
88
- 't_constraints',
89
- 't_tasks',
90
- 't_task_tags',
91
- 't_task_dependencies',
92
- 't_task_details',
93
- 't_task_file_links',
94
- 't_task_decision_links',
95
- 't_activity_log',
96
- 't_decision_context'
97
- ];
98
- for (const tableName of tablesToUpdate) {
99
- const hasTable = await knex.schema.hasTable(tableName);
100
- if (hasTable) {
101
- const hasProjectId = await knex.schema.hasColumn(tableName, 'project_id');
102
- if (hasProjectId) {
103
- const count = await knex(tableName)
104
- .where({ project_id: 2 })
105
- .update({ project_id: 1 });
106
- if (count > 0) {
107
- console.log(` ✓ Migrated ${count} rows in ${tableName} (project_id: 2→1)`);
108
- }
109
- }
110
- }
111
- }
112
- // STEP 4: Delete project #2
113
- await knex('m_projects').where({ id: 2 }).delete();
114
- console.log(` ✓ Deleted project #2 (data consolidated into project #1)`);
115
- console.log(`✅ Consolidation complete - all data now in project #1 "${detected.name}"`);
116
- }
117
- else if (existingProject1 && FAKE_NAMES.includes(existingProject1.name)) {
118
- // No project #2, just rename project #1
119
- console.log(`🔄 Renaming project #1 from "${existingProject1.name}" to "${detected.name}"`);
120
- await knex('m_projects')
121
- .where({ id: 1 })
122
- .update({
123
- name: detected.name,
124
- display_name: detected.name,
125
- detection_source: detected.source,
126
- last_active_ts: Math.floor(Date.now() / 1000)
127
- });
128
- console.log(`✓ Project #1 renamed to "${detected.name}" (source: ${detected.source})`);
129
- }
130
- else if (existingProject1) {
131
- // User already has real name, don't change it
132
- console.log(`✓ Project #1 already has real name: "${existingProject1.name}"`);
133
- }
134
- }
135
- // ============================================================================
136
- // STEP 2: Check if Already Migrated (Idempotency)
137
- // ============================================================================
138
- const hasProjectIdInFiles = await knex.schema.hasColumn('m_files', 'project_id');
139
- const hasProjectIdInTags = await knex.schema.hasColumn('m_tags', 'project_id');
140
- const hasProjectIdInScopes = await knex.schema.hasColumn('m_scopes', 'project_id');
141
- if (hasProjectIdInFiles && hasProjectIdInTags && hasProjectIdInScopes) {
142
- console.log('✓ Master tables already have project_id columns (migration previously applied)');
143
- return;
144
- }
145
- // ============================================================================
146
- // STEP 3: Determine Default Project ID (Always 1 after consolidation)
147
- // ============================================================================
148
- // After consolidation, all data is in project ID 1
149
- const defaultProjectId = 1;
150
- console.log(`📌 Default project_id for master tables: ${defaultProjectId}`);
151
- // ============================================================================
152
- // STEP 4: Disable Foreign Key Constraints (SQLite only)
153
- // ============================================================================
154
- const isSQLite = knex.client.config.client === 'better-sqlite3' || knex.client.config.client === 'sqlite3';
155
- if (isSQLite) {
156
- // For better-sqlite3, we need to actually disable foreign keys at connection level
157
- await knex.raw('PRAGMA foreign_keys = OFF');
158
- // First, drop views that depend on tables we're modifying
159
- const viewsToRestore = [
160
- 'v_layer_summary',
161
- 'v_recent_file_changes',
162
- 'v_task_board',
163
- 'v_tagged_decisions',
164
- 'v_tagged_constraints',
165
- ];
166
- const viewDefinitions = {};
167
- for (const viewName of viewsToRestore) {
168
- const viewInfo = await knex.raw(`SELECT sql FROM sqlite_master WHERE type='view' AND name=?`, [viewName]);
169
- if (viewInfo.length > 0 && viewInfo[0].sql) {
170
- viewDefinitions[viewName] = viewInfo[0].sql;
171
- await knex.raw(`DROP VIEW IF EXISTS ${viewName}`);
172
- console.log(` ✓ Temporarily dropped view ${viewName}`);
173
- }
174
- }
175
- // Store view definitions for later restoration
176
- knex.__viewDefinitions = viewDefinitions;
177
- // Now drop tables that reference master tables
178
- const referencingTables = [
179
- 't_file_changes', // References m_files
180
- 't_task_file_links', // References m_files
181
- 't_pruned_files', // References m_files (if exists)
182
- 't_decision_tags', // References m_tags
183
- 't_task_tags', // References m_tags
184
- 't_constraint_tags', // References m_tags
185
- 't_decision_scopes', // References m_scopes
186
- ];
187
- const backupData = {};
188
- for (const tableName of referencingTables) {
189
- const hasTable = await knex.schema.hasTable(tableName);
190
- if (hasTable) {
191
- // Backup data
192
- const data = await knex(tableName).select('*');
193
- backupData[tableName] = data;
194
- // Drop table
195
- await knex.schema.dropTable(tableName);
196
- console.log(` ✓ Temporarily dropped ${tableName} (${data.length} rows backed up)`);
197
- }
198
- }
199
- // Store backup data for later restoration
200
- knex.__masterTableBackup = backupData;
201
- console.log('✓ Disabled foreign key constraints, backed up views and referencing tables');
202
- }
203
- // ============================================================================
204
- // STEP 5: Fix m_files Table
205
- // ============================================================================
206
- if (!hasProjectIdInFiles) {
207
- console.log('🔧 Fixing m_files table...');
208
- // Backup existing data
209
- const filesData = await knex('m_files').select('*');
210
- console.log(` Backed up ${filesData.length} rows from m_files`);
211
- // Drop old table
212
- await knex.schema.dropTableIfExists('m_files');
213
- console.log(' Dropped old m_files table');
214
- // Recreate with project_id
215
- const isMySQL = knex.client.config.client === 'mysql2';
216
- const pathLength = isMySQL ? 768 : 1000;
217
- await knex.schema.createTable('m_files', (table) => {
218
- table.increments('id').primary();
219
- table.integer('project_id').unsigned().notNullable().defaultTo(defaultProjectId);
220
- table.string('path', pathLength).notNullable();
221
- table.unique(['project_id', 'path']); // Composite UNIQUE
222
- });
223
- console.log(' Created new m_files table with project_id');
224
- // Restore data with project_id (add foreign key later)
225
- if (filesData.length > 0) {
226
- const restoreData = filesData.map(row => ({
227
- id: row.id,
228
- project_id: defaultProjectId,
229
- path: row.path,
230
- }));
231
- await knex('m_files').insert(restoreData);
232
- console.log(` Restored ${restoreData.length} rows with project_id = ${defaultProjectId}`);
233
- }
234
- console.log('✓ m_files table fixed');
235
- }
236
- // ============================================================================
237
- // STEP 6: Fix m_tags Table
238
- // ============================================================================
239
- if (!hasProjectIdInTags) {
240
- console.log('🔧 Fixing m_tags table...');
241
- // Backup existing data
242
- const tagsData = await knex('m_tags').select('*');
243
- console.log(` Backed up ${tagsData.length} rows from m_tags`);
244
- // Drop old table
245
- await knex.schema.dropTableIfExists('m_tags');
246
- console.log(' Dropped old m_tags table');
247
- // Recreate with project_id
248
- await knex.schema.createTable('m_tags', (table) => {
249
- table.increments('id').primary();
250
- table.integer('project_id').unsigned().notNullable().defaultTo(defaultProjectId);
251
- table.string('name', 100).notNullable();
252
- table.unique(['project_id', 'name']); // Composite UNIQUE
253
- });
254
- console.log(' Created new m_tags table with project_id');
255
- // Restore data with project_id (add foreign key later)
256
- if (tagsData.length > 0) {
257
- const restoreData = tagsData.map(row => ({
258
- id: row.id,
259
- project_id: defaultProjectId,
260
- name: row.name,
261
- }));
262
- await knex('m_tags').insert(restoreData);
263
- console.log(` Restored ${restoreData.length} rows with project_id = ${defaultProjectId}`);
264
- }
265
- console.log('✓ m_tags table fixed');
266
- }
267
- // ============================================================================
268
- // STEP 7: Fix m_scopes Table
269
- // ============================================================================
270
- if (!hasProjectIdInScopes) {
271
- console.log('🔧 Fixing m_scopes table...');
272
- // Backup existing data
273
- const scopesData = await knex('m_scopes').select('*');
274
- console.log(` Backed up ${scopesData.length} rows from m_scopes`);
275
- // Drop old table
276
- await knex.schema.dropTableIfExists('m_scopes');
277
- console.log(' Dropped old m_scopes table');
278
- // Recreate with project_id
279
- await knex.schema.createTable('m_scopes', (table) => {
280
- table.increments('id').primary();
281
- table.integer('project_id').unsigned().notNullable().defaultTo(defaultProjectId);
282
- table.string('name', 200).notNullable();
283
- table.unique(['project_id', 'name']); // Composite UNIQUE
284
- });
285
- console.log(' Created new m_scopes table with project_id');
286
- // Restore data with project_id (add foreign key later)
287
- if (scopesData.length > 0) {
288
- const restoreData = scopesData.map(row => ({
289
- id: row.id,
290
- project_id: defaultProjectId,
291
- name: row.name,
292
- }));
293
- await knex('m_scopes').insert(restoreData);
294
- console.log(` Restored ${restoreData.length} rows with project_id = ${defaultProjectId}`);
295
- }
296
- console.log('✓ m_scopes table fixed');
297
- }
298
- // ============================================================================
299
- // STEP 7.5: Restore Referencing Tables (SQLite only)
300
- // ============================================================================
301
- if (isSQLite && knex.__masterTableBackup) {
302
- console.log('🔄 Restoring referencing tables with updated foreign keys...');
303
- const backupData = knex.__masterTableBackup;
304
- // Restore t_file_changes
305
- if (backupData['t_file_changes']) {
306
- await knex.schema.createTable('t_file_changes', (table) => {
307
- table.increments('id').primary();
308
- table.integer('project_id').unsigned().notNullable();
309
- table.integer('file_id').unsigned().notNullable();
310
- table.integer('change_type').notNullable(); // 1=created, 2=modified, 3=deleted
311
- table.integer('agent_id').unsigned();
312
- table.integer('layer_id').unsigned();
313
- table.text('description');
314
- table.integer('ts').notNullable();
315
- table.foreign('file_id').references('m_files.id');
316
- table.foreign('agent_id').references('m_agents.id');
317
- table.foreign('layer_id').references('m_layers.id');
318
- table.foreign('project_id').references('m_projects.id');
319
- });
320
- await batchInsert(knex, 't_file_changes', backupData['t_file_changes']);
321
- console.log(` ✓ Restored t_file_changes (${backupData['t_file_changes'].length} rows)`);
322
- }
323
- // Restore t_task_file_links
324
- if (backupData['t_task_file_links']) {
325
- await knex.schema.createTable('t_task_file_links', (table) => {
326
- table.increments('id').primary();
327
- table.integer('task_id').unsigned().notNullable();
328
- table.integer('file_id').unsigned().notNullable();
329
- table.integer('project_id').unsigned().notNullable();
330
- table.integer('linked_ts').notNullable();
331
- table.foreign('file_id').references('m_files.id');
332
- table.foreign('task_id').references('t_tasks.id');
333
- table.foreign('project_id').references('m_projects.id');
334
- });
335
- await batchInsert(knex, 't_task_file_links', backupData['t_task_file_links']);
336
- console.log(` ✓ Restored t_task_file_links (${backupData['t_task_file_links'].length} rows)`);
337
- }
338
- // Restore t_decision_tags
339
- if (backupData['t_decision_tags']) {
340
- await knex.schema.createTable('t_decision_tags', (table) => {
341
- table.integer('decision_key_id').unsigned().notNullable();
342
- table.integer('project_id').unsigned().notNullable();
343
- table.integer('tag_id').unsigned().notNullable();
344
- table.primary(['decision_key_id', 'project_id', 'tag_id']);
345
- table.foreign('tag_id').references('m_tags.id');
346
- });
347
- await batchInsert(knex, 't_decision_tags', backupData['t_decision_tags']);
348
- console.log(` ✓ Restored t_decision_tags (${backupData['t_decision_tags'].length} rows)`);
349
- }
350
- // Restore t_task_tags (filter out orphaned FK references)
351
- if (backupData['t_task_tags']) {
352
- // Get valid IDs to filter orphaned references
353
- const validTagIds = new Set((await knex('m_tags').select('id')).map((row) => row.id));
354
- const validTaskIds = new Set((await knex('t_tasks').select('id')).map((row) => row.id));
355
- const filteredTaskTags = backupData['t_task_tags'].filter((row) => validTagIds.has(row.tag_id) && validTaskIds.has(row.task_id));
356
- const orphanedCount = backupData['t_task_tags'].length - filteredTaskTags.length;
357
- if (orphanedCount > 0) {
358
- console.log(` ⚠️ Filtered ${orphanedCount} orphaned FK references in t_task_tags`);
359
- }
360
- await knex.schema.createTable('t_task_tags', (table) => {
361
- table.integer('project_id').unsigned().notNullable();
362
- table.integer('task_id').unsigned().notNullable();
363
- table.integer('tag_id').unsigned().notNullable();
364
- table.primary(['project_id', 'task_id', 'tag_id']);
365
- table.foreign('tag_id').references('m_tags.id');
366
- table.foreign('task_id').references('t_tasks.id');
367
- });
368
- await batchInsert(knex, 't_task_tags', filteredTaskTags);
369
- console.log(` ✓ Restored t_task_tags (${filteredTaskTags.length} rows)`);
370
- }
371
- // Restore t_decision_scopes
372
- if (backupData['t_decision_scopes']) {
373
- await knex.schema.createTable('t_decision_scopes', (table) => {
374
- table.integer('decision_key_id').unsigned().notNullable();
375
- table.integer('project_id').unsigned().notNullable();
376
- table.integer('scope_id').unsigned().notNullable();
377
- table.primary(['decision_key_id', 'project_id', 'scope_id']);
378
- table.foreign('scope_id').references('m_scopes.id');
379
- });
380
- await batchInsert(knex, 't_decision_scopes', backupData['t_decision_scopes']);
381
- console.log(` ✓ Restored t_decision_scopes (${backupData['t_decision_scopes'].length} rows)`);
382
- }
383
- // Restore t_constraint_tags
384
- if (backupData['t_constraint_tags']) {
385
- await knex.schema.createTable('t_constraint_tags', (table) => {
386
- table.integer('constraint_id').unsigned().notNullable();
387
- table.integer('tag_id').unsigned().notNullable();
388
- table.primary(['constraint_id', 'tag_id']);
389
- table.foreign('constraint_id').references('t_constraints.id');
390
- table.foreign('tag_id').references('m_tags.id');
391
- });
392
- await batchInsert(knex, 't_constraint_tags', backupData['t_constraint_tags']);
393
- console.log(` ✓ Restored t_constraint_tags (${backupData['t_constraint_tags'].length} rows)`);
394
- }
395
- // Restore t_pruned_files if it existed
396
- if (backupData['t_pruned_files']) {
397
- await knex.schema.createTable('t_pruned_files', (table) => {
398
- table.increments('id').primary();
399
- table.integer('task_id').unsigned().notNullable();
400
- table.string('file_path', 1000).notNullable();
401
- table.integer('pruned_ts').notNullable();
402
- table.foreign('task_id').references('t_tasks.id');
403
- });
404
- await batchInsert(knex, 't_pruned_files', backupData['t_pruned_files']);
405
- console.log(` ✓ Restored t_pruned_files (${backupData['t_pruned_files'].length} rows)`);
406
- }
407
- console.log('✅ All referencing tables restored with updated foreign keys');
408
- // Restore views
409
- const viewDefinitions = knex.__viewDefinitions;
410
- if (viewDefinitions && Object.keys(viewDefinitions).length > 0) {
411
- console.log('🔄 Restoring views...');
412
- for (const [viewName, viewSql] of Object.entries(viewDefinitions)) {
413
- await knex.raw(viewSql);
414
- console.log(` ✓ Restored view ${viewName}`);
415
- }
416
- console.log('✅ All views restored');
417
- }
418
- }
419
- // ============================================================================
420
- // STEP 7.6: Add Foreign Keys to Master Tables (after all data restored)
421
- // ============================================================================
422
- //
423
- // NOTE: For SQLite, foreign keys must be defined during table creation.
424
- // We already created master tables without FK constraints (to avoid FK errors
425
- // during data restoration). Adding them post-creation via ALTER TABLE would
426
- // require recreating tables, which would cascade-delete referencing table data.
427
- //
428
- // Since data is already restored and validated, we skip FK addition for SQLite.
429
- // For MySQL/PostgreSQL, FK constraints can be added via ALTER TABLE safely.
430
- if (hasProjectsTable && !isSQLite) {
431
- console.log('🔧 Adding foreign key constraints to master tables...');
432
- // Add foreign key to m_files
433
- if (!hasProjectIdInFiles) {
434
- try {
435
- await knex.schema.alterTable('m_files', (table) => {
436
- table.foreign('project_id').references('id').inTable('m_projects').onDelete('CASCADE');
437
- });
438
- console.log(' ✓ Added foreign key: m_files.project_id → m_projects.id');
439
- }
440
- catch (error) {
441
- if (!error.message.includes('already exists')) {
442
- throw error;
443
- }
444
- console.log(' ✓ Foreign key already exists on m_files');
445
- }
446
- }
447
- // Add foreign key to m_tags
448
- if (!hasProjectIdInTags) {
449
- try {
450
- await knex.schema.alterTable('m_tags', (table) => {
451
- table.foreign('project_id').references('id').inTable('m_projects').onDelete('CASCADE');
452
- });
453
- console.log(' ✓ Added foreign key: m_tags.project_id → m_projects.id');
454
- }
455
- catch (error) {
456
- if (!error.message.includes('already exists')) {
457
- throw error;
458
- }
459
- console.log(' ✓ Foreign key already exists on m_tags');
460
- }
461
- }
462
- // Add foreign key to m_scopes
463
- if (!hasProjectIdInScopes) {
464
- try {
465
- await knex.schema.alterTable('m_scopes', (table) => {
466
- table.foreign('project_id').references('id').inTable('m_projects').onDelete('CASCADE');
467
- });
468
- console.log(' ✓ Added foreign key: m_scopes.project_id → m_projects.id');
469
- }
470
- catch (error) {
471
- if (!error.message.includes('already exists')) {
472
- throw error;
473
- }
474
- console.log(' ✓ Foreign key already exists on m_scopes');
475
- }
476
- }
477
- console.log('✅ All foreign key constraints added');
478
- }
479
- else if (isSQLite) {
480
- console.log('✓ Skipped FK constraints for SQLite (defined during table creation)');
481
- }
482
- // ============================================================================
483
- // STEP 8: Re-enable Foreign Key Constraints (SQLite only)
484
- // ============================================================================
485
- if (isSQLite) {
486
- await knex.raw('PRAGMA foreign_keys = ON');
487
- console.log('✓ Re-enabled foreign key constraints');
488
- }
489
- console.log('✅ v3.7.3 master tables project_id fix completed successfully');
490
- }
491
- /**
492
- * Rollback: Revert master tables to v3.7.2 schema
493
- *
494
- * WARNING: This will remove project_id columns and restore single-column UNIQUE constraints.
495
- * Data from all projects will be merged (potential conflicts if same path/name exists).
496
- */
497
- export async function down(knex) {
498
- console.log('⚠️ Rolling back v3.7.3 master tables fix...');
499
- // Check if already rolled back
500
- const hasProjectIdInFiles = await knex.schema.hasColumn('m_files', 'project_id');
501
- if (!hasProjectIdInFiles) {
502
- console.log('✓ Already rolled back (no project_id columns found)');
503
- return;
504
- }
505
- const isSQLite = knex.client.config.client === 'better-sqlite3' || knex.client.config.client === 'sqlite3';
506
- if (isSQLite) {
507
- await knex.raw('PRAGMA foreign_keys = OFF');
508
- }
509
- // Rollback m_files
510
- console.log('🔧 Rolling back m_files...');
511
- const filesData = await knex('m_files').select('id', 'path');
512
- await knex.schema.dropTableIfExists('m_files');
513
- const isMySQL = knex.client.config.client === 'mysql2';
514
- const pathLength = isMySQL ? 768 : 1000;
515
- await knex.schema.createTable('m_files', (table) => {
516
- table.increments('id').primary();
517
- table.string('path', pathLength).unique().notNullable();
518
- });
519
- if (filesData.length > 0) {
520
- // Remove duplicates (keep first occurrence)
521
- const uniqueFiles = Array.from(new Map(filesData.map(f => [f.path, f])).values());
522
- await knex('m_files').insert(uniqueFiles);
523
- console.log(` Restored ${uniqueFiles.length} unique files (removed ${filesData.length - uniqueFiles.length} duplicates)`);
524
- }
525
- // Rollback m_tags
526
- console.log('🔧 Rolling back m_tags...');
527
- const tagsData = await knex('m_tags').select('id', 'name');
528
- await knex.schema.dropTableIfExists('m_tags');
529
- await knex.schema.createTable('m_tags', (table) => {
530
- table.increments('id').primary();
531
- table.string('name', 100).unique().notNullable();
532
- });
533
- if (tagsData.length > 0) {
534
- const uniqueTags = Array.from(new Map(tagsData.map(t => [t.name, t])).values());
535
- await knex('m_tags').insert(uniqueTags);
536
- console.log(` Restored ${uniqueTags.length} unique tags (removed ${tagsData.length - uniqueTags.length} duplicates)`);
537
- }
538
- // Rollback m_scopes
539
- console.log('🔧 Rolling back m_scopes...');
540
- const scopesData = await knex('m_scopes').select('id', 'name');
541
- await knex.schema.dropTableIfExists('m_scopes');
542
- await knex.schema.createTable('m_scopes', (table) => {
543
- table.increments('id').primary();
544
- table.string('name', 200).unique().notNullable();
545
- });
546
- if (scopesData.length > 0) {
547
- const uniqueScopes = Array.from(new Map(scopesData.map(s => [s.name, s])).values());
548
- await knex('m_scopes').insert(uniqueScopes);
549
- console.log(` Restored ${uniqueScopes.length} unique scopes (removed ${scopesData.length - uniqueScopes.length} duplicates)`);
550
- }
551
- if (isSQLite) {
552
- await knex.raw('PRAGMA foreign_keys = ON');
553
- }
554
- console.log('✅ Rollback completed (reverted to v3.7.2 schema)');
555
- }
556
- //# sourceMappingURL=20251106000000_fix_master_tables_project_id_v3_7_3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"20251106000000_fix_master_tables_project_id_v3_7_3.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.ts"],"names":[],"mappings":"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"}