sqlew 4.3.1 → 5.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 (841) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/LICENSE +1 -1
  3. package/NOTICE +2 -2
  4. package/README.md +112 -42
  5. package/assets/claude-md-snippets/plan-mode-integration.md +54 -0
  6. package/assets/claude-md-snippets/queue-monitoring.md +84 -0
  7. package/dist/backend/backend-factory.d.ts +67 -0
  8. package/dist/backend/backend-factory.d.ts.map +1 -0
  9. package/dist/backend/backend-factory.js +171 -0
  10. package/dist/backend/backend-factory.js.map +1 -0
  11. package/dist/backend/index.d.ts +12 -0
  12. package/dist/backend/index.d.ts.map +1 -0
  13. package/dist/backend/index.js +13 -0
  14. package/dist/backend/index.js.map +1 -0
  15. package/dist/backend/inference.d.ts +38 -0
  16. package/dist/backend/inference.d.ts.map +1 -0
  17. package/dist/backend/inference.js +76 -0
  18. package/dist/backend/inference.js.map +1 -0
  19. package/dist/backend/local-backend.d.ts +40 -0
  20. package/dist/backend/local-backend.d.ts.map +1 -0
  21. package/dist/backend/local-backend.js +410 -0
  22. package/dist/backend/local-backend.js.map +1 -0
  23. package/dist/backend/transforming-backend.d.ts +47 -0
  24. package/dist/backend/transforming-backend.d.ts.map +1 -0
  25. package/dist/backend/transforming-backend.js +80 -0
  26. package/dist/backend/transforming-backend.js.map +1 -0
  27. package/dist/backend/types.d.ts +58 -0
  28. package/dist/backend/types.d.ts.map +1 -0
  29. package/dist/backend/types.js +7 -0
  30. package/dist/backend/types.js.map +1 -0
  31. package/dist/cli/db-dump.js +45 -45
  32. package/dist/cli/db-dump.js.map +1 -1
  33. package/dist/cli/db-export.js +30 -30
  34. package/dist/cli/db-export.js.map +1 -1
  35. package/dist/cli/db-import.d.ts.map +1 -1
  36. package/dist/cli/db-import.js +32 -33
  37. package/dist/cli/db-import.js.map +1 -1
  38. package/dist/cli/hooks/check-completion.d.ts +1 -0
  39. package/dist/cli/hooks/check-completion.d.ts.map +1 -1
  40. package/dist/cli/hooks/check-completion.js +15 -26
  41. package/dist/cli/hooks/check-completion.js.map +1 -1
  42. package/dist/cli/hooks/mark-done.d.ts +1 -0
  43. package/dist/cli/hooks/mark-done.d.ts.map +1 -1
  44. package/dist/cli/hooks/mark-done.js +12 -17
  45. package/dist/cli/hooks/mark-done.js.map +1 -1
  46. package/dist/cli/hooks/on-enter-plan.js +2 -2
  47. package/dist/cli/hooks/on-enter-plan.js.map +1 -1
  48. package/dist/cli/hooks/on-session-start.d.ts +23 -0
  49. package/dist/cli/hooks/on-session-start.d.ts.map +1 -0
  50. package/dist/cli/hooks/on-session-start.js +70 -0
  51. package/dist/cli/hooks/on-session-start.js.map +1 -0
  52. package/dist/cli/hooks/on-stop.js +5 -5
  53. package/dist/cli/hooks/on-stop.js.map +1 -1
  54. package/dist/cli/hooks/{plan-toml-parser.d.ts → plan-parser.d.ts} +1 -1
  55. package/dist/cli/hooks/plan-parser.d.ts.map +1 -0
  56. package/dist/cli/hooks/{plan-toml-parser.js → plan-parser.js} +1 -1
  57. package/dist/cli/hooks/plan-parser.js.map +1 -0
  58. package/dist/cli/hooks/plan-pattern-extractor.d.ts.map +1 -1
  59. package/dist/cli/hooks/plan-pattern-extractor.js +6 -3
  60. package/dist/cli/hooks/plan-pattern-extractor.js.map +1 -1
  61. package/dist/cli/hooks/plan-processor.js +1 -1
  62. package/dist/cli/hooks/plan-processor.js.map +1 -1
  63. package/dist/cli/hooks/stdin-parser.d.ts +4 -0
  64. package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
  65. package/dist/cli/hooks/stdin-parser.js.map +1 -1
  66. package/dist/cli/hooks/suggest.js +2 -2
  67. package/dist/cli/hooks/suggest.js.map +1 -1
  68. package/dist/cli/hooks/track-plan.d.ts.map +1 -1
  69. package/dist/cli/hooks/track-plan.js +24 -18
  70. package/dist/cli/hooks/track-plan.js.map +1 -1
  71. package/dist/cli.d.ts.map +1 -1
  72. package/dist/cli.js +72 -72
  73. package/dist/cli.js.map +1 -1
  74. package/dist/config/cloud-config-loader.d.ts +107 -0
  75. package/dist/config/cloud-config-loader.d.ts.map +1 -0
  76. package/dist/config/cloud-config-loader.js +273 -0
  77. package/dist/config/cloud-config-loader.js.map +1 -0
  78. package/dist/config/global-config.d.ts +10 -10
  79. package/dist/config/global-config.d.ts.map +1 -1
  80. package/dist/config/global-config.js +12 -12
  81. package/dist/config/global-config.js.map +1 -1
  82. package/dist/config/loader.d.ts.map +1 -1
  83. package/dist/config/loader.js +5 -1
  84. package/dist/config/loader.js.map +1 -1
  85. package/dist/config/minimal-generator.d.ts.map +1 -1
  86. package/dist/config/minimal-generator.js +22 -72
  87. package/dist/config/minimal-generator.js.map +1 -1
  88. package/dist/config/types.d.ts +59 -1
  89. package/dist/config/types.d.ts.map +1 -1
  90. package/dist/config/types.js +14 -0
  91. package/dist/config/types.js.map +1 -1
  92. package/dist/constants.d.ts +1 -29
  93. package/dist/constants.d.ts.map +1 -1
  94. package/dist/constants.js +1 -38
  95. package/dist/constants.js.map +1 -1
  96. package/dist/database/initialization/cleanup.d.ts.map +1 -1
  97. package/dist/database/initialization/cleanup.js +0 -13
  98. package/dist/database/initialization/cleanup.js.map +1 -1
  99. package/dist/database/initialization/init.d.ts.map +1 -1
  100. package/dist/database/initialization/init.js +0 -9
  101. package/dist/database/initialization/init.js.map +1 -1
  102. package/dist/database/initialization/schema-version.d.ts +4 -4
  103. package/dist/database/initialization/schema-version.js +9 -9
  104. package/dist/database/initialization/schema-version.js.map +1 -1
  105. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.d.ts +36 -0
  106. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.d.ts.map +1 -0
  107. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.js +135 -0
  108. package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.js.map +1 -0
  109. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.d.ts +20 -0
  110. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.d.ts.map +1 -0
  111. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.js +168 -0
  112. package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.js.map +1 -0
  113. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.d.ts +23 -0
  114. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.d.ts.map +1 -0
  115. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.js +570 -0
  116. package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.js.map +1 -0
  117. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.d.ts +29 -0
  118. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.d.ts.map +1 -0
  119. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.js +80 -0
  120. package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.js.map +1 -0
  121. package/dist/database/operations/inserts.js +11 -11
  122. package/dist/database/operations/inserts.js.map +1 -1
  123. package/dist/database/operations/queries.js +9 -9
  124. package/dist/database/operations/queries.js.map +1 -1
  125. package/dist/formatters/adr-formatter.d.ts +22 -0
  126. package/dist/formatters/adr-formatter.d.ts.map +1 -0
  127. package/dist/formatters/adr-formatter.js +127 -0
  128. package/dist/formatters/adr-formatter.js.map +1 -0
  129. package/dist/formatters/confluence-formatter.d.ts +26 -0
  130. package/dist/formatters/confluence-formatter.d.ts.map +1 -0
  131. package/dist/formatters/confluence-formatter.js +129 -0
  132. package/dist/formatters/confluence-formatter.js.map +1 -0
  133. package/dist/formatters/index.d.ts +34 -0
  134. package/dist/formatters/index.d.ts.map +1 -0
  135. package/dist/formatters/index.js +57 -0
  136. package/dist/formatters/index.js.map +1 -0
  137. package/dist/formatters/markdown-formatter.d.ts +16 -0
  138. package/dist/formatters/markdown-formatter.d.ts.map +1 -0
  139. package/dist/formatters/markdown-formatter.js +110 -0
  140. package/dist/formatters/markdown-formatter.js.map +1 -0
  141. package/dist/formatters/notion-formatter.d.ts +29 -0
  142. package/dist/formatters/notion-formatter.d.ts.map +1 -0
  143. package/dist/formatters/notion-formatter.js +177 -0
  144. package/dist/formatters/notion-formatter.js.map +1 -0
  145. package/dist/formatters/types.d.ts +31 -0
  146. package/dist/formatters/types.d.ts.map +1 -0
  147. package/dist/formatters/types.js +6 -0
  148. package/dist/formatters/types.js.map +1 -0
  149. package/dist/help-data/_schema.toml +21 -0
  150. package/dist/help-data/constraint.toml +259 -0
  151. package/dist/help-data/decision.toml +833 -0
  152. package/dist/help-data/example.toml +177 -0
  153. package/dist/help-data/help.toml +246 -0
  154. package/dist/help-data/queue.toml +134 -0
  155. package/dist/help-data/suggest.toml +219 -0
  156. package/dist/help-data/use-cases/_categories.toml +22 -0
  157. package/dist/help-data/use-cases/constraint-basic.toml +34 -0
  158. package/dist/help-data/use-cases/cross-tool-workflow.toml +50 -0
  159. package/dist/help-data/use-cases/decision-intelligence-duplicate.toml +35 -0
  160. package/dist/help-data/use-cases/decision-intelligence-related.toml +35 -0
  161. package/dist/help-data/use-cases/decision-tracking-basic.toml +42 -0
  162. package/dist/help-data/use-cases/decision-tracking-versions.toml +42 -0
  163. package/dist/help-data/use_case.toml +147 -0
  164. package/dist/help-loader.d.ts +194 -0
  165. package/dist/help-loader.d.ts.map +1 -0
  166. package/dist/help-loader.js +419 -0
  167. package/dist/help-loader.js.map +1 -0
  168. package/dist/index.js +15 -10
  169. package/dist/index.js.map +1 -1
  170. package/dist/init-rules.d.ts +42 -0
  171. package/dist/init-rules.d.ts.map +1 -0
  172. package/dist/init-rules.js +217 -0
  173. package/dist/init-rules.js.map +1 -0
  174. package/dist/schema.d.ts +4 -6
  175. package/dist/schema.d.ts.map +1 -1
  176. package/dist/schema.js +28 -45
  177. package/dist/schema.js.map +1 -1
  178. package/dist/server/setup.d.ts +0 -10
  179. package/dist/server/setup.d.ts.map +1 -1
  180. package/dist/server/setup.js +97 -89
  181. package/dist/server/setup.js.map +1 -1
  182. package/dist/server/shutdown.d.ts +1 -1
  183. package/dist/server/shutdown.d.ts.map +1 -1
  184. package/dist/server/shutdown.js +1 -16
  185. package/dist/server/shutdown.js.map +1 -1
  186. package/dist/server/tool-handlers.d.ts +15 -0
  187. package/dist/server/tool-handlers.d.ts.map +1 -1
  188. package/dist/server/tool-handlers.js +47 -462
  189. package/dist/server/tool-handlers.js.map +1 -1
  190. package/dist/server/tool-registry.d.ts.map +1 -1
  191. package/dist/server/tool-registry.js +50 -62
  192. package/dist/server/tool-registry.js.map +1 -1
  193. package/dist/tests/backend/backend-factory.test.d.ts +7 -0
  194. package/dist/tests/backend/backend-factory.test.d.ts.map +1 -0
  195. package/dist/tests/backend/backend-factory.test.js +157 -0
  196. package/dist/tests/backend/backend-factory.test.js.map +1 -0
  197. package/dist/tests/backend/inference.test.d.ts +7 -0
  198. package/dist/tests/backend/inference.test.d.ts.map +1 -0
  199. package/dist/tests/backend/inference.test.js +142 -0
  200. package/dist/tests/backend/inference.test.js.map +1 -0
  201. package/dist/tests/database/multi-project/multi-project.test.js +9 -70
  202. package/dist/tests/database/multi-project/multi-project.test.js.map +1 -1
  203. package/dist/tests/database/sql-dump/table-ordering.test.js +14 -14
  204. package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -1
  205. package/dist/tests/docker/cross-database.test.js +32 -32
  206. package/dist/tests/docker/cross-database.test.js.map +1 -1
  207. package/dist/tests/docker/dump-import.test.js +55 -55
  208. package/dist/tests/docker/dump-import.test.js.map +1 -1
  209. package/dist/tests/docker/fk-constraints.test.js +3 -3
  210. package/dist/tests/docker/indexes.test.js +34 -34
  211. package/dist/tests/docker/integration.test.js +33 -33
  212. package/dist/tests/docker/multi-project-migration.test.js +47 -47
  213. package/dist/tests/docker/multi-project-migration.test.js.map +1 -1
  214. package/dist/tests/docker/native/constraint-operations.test.js +49 -49
  215. package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
  216. package/dist/tests/docker/native/db-init.d.ts +3 -1
  217. package/dist/tests/docker/native/db-init.d.ts.map +1 -1
  218. package/dist/tests/docker/native/db-init.js +14 -12
  219. package/dist/tests/docker/native/db-init.js.map +1 -1
  220. package/dist/tests/docker/native/decision-operations.test.js +91 -91
  221. package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
  222. package/dist/tests/docker/native/help-system.test.d.ts +2 -2
  223. package/dist/tests/docker/native/help-system.test.js +113 -138
  224. package/dist/tests/docker/native/help-system.test.js.map +1 -1
  225. package/dist/tests/docker/native/suggest-tool.test.d.ts +2 -2
  226. package/dist/tests/docker/native/suggest-tool.test.js +35 -35
  227. package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
  228. package/dist/tests/docker/native/test-harness.d.ts +6 -12
  229. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  230. package/dist/tests/docker/native/test-harness.js +74 -156
  231. package/dist/tests/docker/native/test-harness.js.map +1 -1
  232. package/dist/tests/docker/schema-migration.test.js +6 -6
  233. package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts +3 -7
  234. package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts.map +1 -1
  235. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +7 -318
  236. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
  237. package/dist/tests/feature/help/help-system.test.d.ts +6 -6
  238. package/dist/tests/feature/help/help-system.test.js +166 -124
  239. package/dist/tests/feature/help/help-system.test.js.map +1 -1
  240. package/dist/tests/integration/auto-trigger-suggestions.test.js +22 -22
  241. package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
  242. package/dist/tests/integration/decision-intelligence-e2e.test.js +23 -22
  243. package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -1
  244. package/dist/tests/integration/e2e-workflow1-debug.test.js +3 -3
  245. package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -1
  246. package/dist/tests/integration/hybrid-similarity-detection.test.js +25 -25
  247. package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
  248. package/dist/tests/integration/suggest-simple.test.js +18 -0
  249. package/dist/tests/integration/suggest-simple.test.js.map +1 -1
  250. package/dist/tests/migrations/test-all-versions.js +212 -212
  251. package/dist/tests/migrations/test-all-versions.js.map +1 -1
  252. package/dist/tests/migrations/v4/v4-fresh-install.test.js +29 -29
  253. package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +1 -1
  254. package/dist/tests/migrations/v4/v4-migrate-data.test.js +20 -20
  255. package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +1 -1
  256. package/dist/tests/test-v4-native-rdbms.js +20 -20
  257. package/dist/tests/test-v4-native-rdbms.js.map +1 -1
  258. package/dist/tests/unit/config/cloud-config-loader.test.d.ts +2 -0
  259. package/dist/tests/unit/config/cloud-config-loader.test.d.ts.map +1 -0
  260. package/dist/tests/unit/config/cloud-config-loader.test.js +103 -0
  261. package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -0
  262. package/dist/tests/unit/config/{plan-toml-cache.test.d.ts → plan-cache.test.d.ts} +1 -1
  263. package/dist/tests/unit/config/plan-cache.test.d.ts.map +1 -0
  264. package/dist/tests/unit/config/{plan-toml-cache.test.js → plan-cache.test.js} +32 -32
  265. package/dist/tests/unit/config/plan-cache.test.js.map +1 -0
  266. package/dist/tests/unit/hooks/{plan-toml-parser.test.d.ts → plan-parser.test.d.ts} +1 -1
  267. package/dist/tests/unit/hooks/plan-parser.test.d.ts.map +1 -0
  268. package/dist/tests/unit/hooks/{plan-toml-parser.test.js → plan-parser.test.js} +179 -179
  269. package/dist/tests/unit/hooks/plan-parser.test.js.map +1 -0
  270. package/dist/tests/unit/server/tool-handlers.test.d.ts +7 -0
  271. package/dist/tests/unit/server/tool-handlers.test.d.ts.map +1 -0
  272. package/dist/tests/unit/server/tool-handlers.test.js +76 -0
  273. package/dist/tests/unit/server/tool-handlers.test.js.map +1 -0
  274. package/dist/tests/unit/utils/config-loader.test.js +17 -17
  275. package/dist/tests/unit/utils/connection-hash.test.d.ts +2 -0
  276. package/dist/tests/unit/utils/connection-hash.test.d.ts.map +1 -0
  277. package/dist/tests/unit/utils/connection-hash.test.js +57 -0
  278. package/dist/tests/unit/utils/connection-hash.test.js.map +1 -0
  279. package/dist/tests/unit/utils/environment-detector.test.d.ts +2 -0
  280. package/dist/tests/unit/utils/environment-detector.test.d.ts.map +1 -0
  281. package/dist/tests/unit/utils/environment-detector.test.js +43 -0
  282. package/dist/tests/unit/utils/environment-detector.test.js.map +1 -0
  283. package/dist/tests/unit/utils/path-utils.test.d.ts +2 -0
  284. package/dist/tests/unit/utils/path-utils.test.d.ts.map +1 -0
  285. package/dist/tests/unit/utils/path-utils.test.js +72 -0
  286. package/dist/tests/unit/utils/path-utils.test.js.map +1 -0
  287. package/dist/tests/unit/utils/project-detector.test.js +14 -13
  288. package/dist/tests/unit/utils/project-detector.test.js.map +1 -1
  289. package/dist/tests/unit/validation/parameter-validation.test.d.ts +2 -1
  290. package/dist/tests/unit/validation/parameter-validation.test.d.ts.map +1 -1
  291. package/dist/tests/unit/validation/parameter-validation.test.js +5 -133
  292. package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
  293. package/dist/tests/unit/validation/policy-validation.test.js +15 -15
  294. package/dist/tests/unit/validation/policy-validation.test.js.map +1 -1
  295. package/dist/tests/utils/db-schema.js +48 -48
  296. package/dist/tests/utils/db-seeding.js +11 -11
  297. package/dist/tests/utils/db-seeding.js.map +1 -1
  298. package/dist/tests/utils/json-export-import.test.d.ts +6 -0
  299. package/dist/tests/utils/json-export-import.test.d.ts.map +1 -0
  300. package/dist/tests/utils/json-export-import.test.js +474 -0
  301. package/dist/tests/utils/json-export-import.test.js.map +1 -0
  302. package/dist/tests/utils/test-helpers.js +59 -59
  303. package/dist/tests/utils/test-helpers.js.map +1 -1
  304. package/dist/tools/constraints/actions/activate.d.ts +2 -2
  305. package/dist/tools/constraints/actions/activate.d.ts.map +1 -1
  306. package/dist/tools/constraints/actions/activate.js +12 -12
  307. package/dist/tools/constraints/actions/activate.js.map +1 -1
  308. package/dist/tools/constraints/actions/add.js +3 -3
  309. package/dist/tools/constraints/actions/add.js.map +1 -1
  310. package/dist/tools/constraints/actions/deactivate.js +6 -6
  311. package/dist/tools/constraints/actions/deactivate.js.map +1 -1
  312. package/dist/tools/constraints/actions/get.d.ts +2 -2
  313. package/dist/tools/constraints/actions/get.js +9 -9
  314. package/dist/tools/constraints/actions/get.js.map +1 -1
  315. package/dist/tools/constraints/actions/suggest-pending.js +2 -2
  316. package/dist/tools/constraints/actions/suggest-pending.js.map +1 -1
  317. package/dist/tools/constraints/index.d.ts +1 -1
  318. package/dist/tools/constraints/index.d.ts.map +1 -1
  319. package/dist/tools/constraints/index.js +1 -1
  320. package/dist/tools/constraints/index.js.map +1 -1
  321. package/dist/tools/context/actions/create-policy.js +3 -3
  322. package/dist/tools/context/actions/create-policy.js.map +1 -1
  323. package/dist/tools/context/actions/create-template.js +2 -2
  324. package/dist/tools/context/actions/create-template.js.map +1 -1
  325. package/dist/tools/context/actions/export.d.ts +35 -0
  326. package/dist/tools/context/actions/export.d.ts.map +1 -0
  327. package/dist/tools/context/actions/export.js +93 -0
  328. package/dist/tools/context/actions/export.js.map +1 -0
  329. package/dist/tools/context/actions/hard-delete.js +11 -11
  330. package/dist/tools/context/actions/hard-delete.js.map +1 -1
  331. package/dist/tools/context/actions/has-updates.d.ts +1 -1
  332. package/dist/tools/context/actions/has-updates.d.ts.map +1 -1
  333. package/dist/tools/context/actions/has-updates.js +5 -13
  334. package/dist/tools/context/actions/has-updates.js.map +1 -1
  335. package/dist/tools/context/actions/list-policies.js +1 -1
  336. package/dist/tools/context/actions/list-policies.js.map +1 -1
  337. package/dist/tools/context/actions/list-templates.js +2 -2
  338. package/dist/tools/context/actions/list-templates.js.map +1 -1
  339. package/dist/tools/context/actions/list.js +1 -1
  340. package/dist/tools/context/actions/list.js.map +1 -1
  341. package/dist/tools/context/actions/search-layer.js +8 -8
  342. package/dist/tools/context/actions/search-layer.js.map +1 -1
  343. package/dist/tools/context/actions/set-from-policy.js +1 -1
  344. package/dist/tools/context/actions/set-from-policy.js.map +1 -1
  345. package/dist/tools/context/actions/set-from-template.js +2 -2
  346. package/dist/tools/context/actions/set-from-template.js.map +1 -1
  347. package/dist/tools/context/actions/versions.js +3 -3
  348. package/dist/tools/context/actions/versions.js.map +1 -1
  349. package/dist/tools/context/index.d.ts +1 -0
  350. package/dist/tools/context/index.d.ts.map +1 -1
  351. package/dist/tools/context/index.js +2 -0
  352. package/dist/tools/context/index.js.map +1 -1
  353. package/dist/tools/context/internal/queries.d.ts.map +1 -1
  354. package/dist/tools/context/internal/queries.js +54 -43
  355. package/dist/tools/context/internal/queries.js.map +1 -1
  356. package/dist/tools/context/types.d.ts +1 -1
  357. package/dist/tools/context/types.d.ts.map +1 -1
  358. package/dist/tools/example/actions/get.d.ts +8 -3
  359. package/dist/tools/example/actions/get.d.ts.map +1 -1
  360. package/dist/tools/example/actions/get.js +29 -30
  361. package/dist/tools/example/actions/get.js.map +1 -1
  362. package/dist/tools/example/actions/list-all.d.ts +8 -2
  363. package/dist/tools/example/actions/list-all.d.ts.map +1 -1
  364. package/dist/tools/example/actions/list-all.js +37 -29
  365. package/dist/tools/example/actions/list-all.js.map +1 -1
  366. package/dist/tools/example/actions/search.d.ts +8 -3
  367. package/dist/tools/example/actions/search.d.ts.map +1 -1
  368. package/dist/tools/example/actions/search.js +29 -43
  369. package/dist/tools/example/actions/search.js.map +1 -1
  370. package/dist/tools/help/actions/batch-guide.js +5 -5
  371. package/dist/tools/help/actions/batch-guide.js.map +1 -1
  372. package/dist/tools/help/actions/query-action.d.ts +7 -3
  373. package/dist/tools/help/actions/query-action.d.ts.map +1 -1
  374. package/dist/tools/help/actions/query-action.js +35 -6
  375. package/dist/tools/help/actions/query-action.js.map +1 -1
  376. package/dist/tools/help/actions/query-params.d.ts +5 -3
  377. package/dist/tools/help/actions/query-params.d.ts.map +1 -1
  378. package/dist/tools/help/actions/query-params.js +28 -6
  379. package/dist/tools/help/actions/query-params.js.map +1 -1
  380. package/dist/tools/help/actions/query-tool.d.ts +5 -3
  381. package/dist/tools/help/actions/query-tool.d.ts.map +1 -1
  382. package/dist/tools/help/actions/query-tool.js +23 -6
  383. package/dist/tools/help/actions/query-tool.js.map +1 -1
  384. package/dist/tools/help/actions/workflow-hints.d.ts +5 -3
  385. package/dist/tools/help/actions/workflow-hints.d.ts.map +1 -1
  386. package/dist/tools/help/actions/workflow-hints.js +21 -6
  387. package/dist/tools/help/actions/workflow-hints.js.map +1 -1
  388. package/dist/tools/queue/actions/clear.d.ts +19 -0
  389. package/dist/tools/queue/actions/clear.d.ts.map +1 -0
  390. package/dist/tools/queue/actions/clear.js +79 -0
  391. package/dist/tools/queue/actions/clear.js.map +1 -0
  392. package/dist/tools/queue/actions/list.d.ts +16 -0
  393. package/dist/tools/queue/actions/list.d.ts.map +1 -0
  394. package/dist/tools/queue/actions/list.js +95 -0
  395. package/dist/tools/queue/actions/list.js.map +1 -0
  396. package/dist/tools/queue/actions/remove.d.ts +19 -0
  397. package/dist/tools/queue/actions/remove.d.ts.map +1 -0
  398. package/dist/tools/queue/actions/remove.js +81 -0
  399. package/dist/tools/queue/actions/remove.js.map +1 -0
  400. package/dist/tools/queue/index.d.ts +13 -0
  401. package/dist/tools/queue/index.d.ts.map +1 -0
  402. package/dist/tools/queue/index.js +13 -0
  403. package/dist/tools/queue/index.js.map +1 -0
  404. package/dist/tools/queue/types.d.ts +87 -0
  405. package/dist/tools/queue/types.d.ts.map +1 -0
  406. package/dist/tools/queue/types.js +9 -0
  407. package/dist/tools/queue/types.js.map +1 -0
  408. package/dist/tools/suggest/actions/by-context.d.ts.map +1 -1
  409. package/dist/tools/suggest/actions/by-context.js +3 -1
  410. package/dist/tools/suggest/actions/by-context.js.map +1 -1
  411. package/dist/tools/suggest/actions/by-key.d.ts.map +1 -1
  412. package/dist/tools/suggest/actions/by-key.js +3 -1
  413. package/dist/tools/suggest/actions/by-key.js.map +1 -1
  414. package/dist/tools/suggest/actions/by-tags.d.ts +2 -2
  415. package/dist/tools/suggest/actions/by-tags.js +3 -3
  416. package/dist/tools/suggest/actions/by-tags.js.map +1 -1
  417. package/dist/tools/suggest/internal/constraint-queries.d.ts +4 -4
  418. package/dist/tools/suggest/internal/constraint-queries.js +14 -14
  419. package/dist/tools/suggest/internal/constraint-queries.js.map +1 -1
  420. package/dist/tools/suggest/internal/queries.d.ts +4 -4
  421. package/dist/tools/suggest/internal/queries.js +25 -25
  422. package/dist/tools/suggest/internal/queries.js.map +1 -1
  423. package/dist/tools/use_case/actions/get.d.ts +5 -3
  424. package/dist/tools/use_case/actions/get.d.ts.map +1 -1
  425. package/dist/tools/use_case/actions/get.js +20 -6
  426. package/dist/tools/use_case/actions/get.js.map +1 -1
  427. package/dist/tools/use_case/actions/list-all.d.ts +5 -3
  428. package/dist/tools/use_case/actions/list-all.d.ts.map +1 -1
  429. package/dist/tools/use_case/actions/list-all.js +36 -6
  430. package/dist/tools/use_case/actions/list-all.js.map +1 -1
  431. package/dist/tools/use_case/actions/search.d.ts +6 -3
  432. package/dist/tools/use_case/actions/search.d.ts.map +1 -1
  433. package/dist/tools/use_case/actions/search.js +37 -67
  434. package/dist/tools/use_case/actions/search.js.map +1 -1
  435. package/dist/tools/use_case/help/example.js +17 -17
  436. package/dist/tools/use_case/help/example.js.map +1 -1
  437. package/dist/types.d.ts +82 -153
  438. package/dist/types.d.ts.map +1 -1
  439. package/dist/types.js +0 -10
  440. package/dist/types.js.map +1 -1
  441. package/dist/utils/action-specs/constraint-specs.js +6 -6
  442. package/dist/utils/action-specs/constraint-specs.js.map +1 -1
  443. package/dist/utils/action-specs/index.d.ts +0 -2
  444. package/dist/utils/action-specs/index.d.ts.map +1 -1
  445. package/dist/utils/action-specs/index.js +0 -6
  446. package/dist/utils/action-specs/index.js.map +1 -1
  447. package/dist/utils/batch-validation.d.ts +1 -1
  448. package/dist/utils/batch-validation.js +3 -3
  449. package/dist/utils/batch-validation.js.map +1 -1
  450. package/dist/utils/case-insensitive-validator.d.ts +2 -2
  451. package/dist/utils/case-insensitive-validator.js +2 -2
  452. package/dist/utils/connection-hash.d.ts +37 -0
  453. package/dist/utils/connection-hash.d.ts.map +1 -0
  454. package/dist/utils/connection-hash.js +55 -0
  455. package/dist/utils/connection-hash.js.map +1 -0
  456. package/dist/utils/db-aggregations.js +16 -16
  457. package/dist/utils/db-aggregations.js.map +1 -1
  458. package/dist/utils/enum-converter.d.ts +0 -21
  459. package/dist/utils/enum-converter.d.ts.map +1 -1
  460. package/dist/utils/enum-converter.js +1 -23
  461. package/dist/utils/enum-converter.js.map +1 -1
  462. package/dist/utils/environment-detector.d.ts +30 -0
  463. package/dist/utils/environment-detector.d.ts.map +1 -0
  464. package/dist/utils/environment-detector.js +86 -0
  465. package/dist/utils/environment-detector.js.map +1 -0
  466. package/dist/utils/example-filter.d.ts +34 -0
  467. package/dist/utils/example-filter.d.ts.map +1 -0
  468. package/dist/utils/example-filter.js +45 -0
  469. package/dist/utils/example-filter.js.map +1 -0
  470. package/dist/utils/exporter/export.d.ts +2 -16
  471. package/dist/utils/exporter/export.d.ts.map +1 -1
  472. package/dist/utils/exporter/export.js +49 -130
  473. package/dist/utils/exporter/export.js.map +1 -1
  474. package/dist/utils/hook-queue.d.ts +60 -0
  475. package/dist/utils/hook-queue.d.ts.map +1 -1
  476. package/dist/utils/hook-queue.js +114 -11
  477. package/dist/utils/hook-queue.js.map +1 -1
  478. package/dist/utils/importer/import.d.ts.map +1 -1
  479. package/dist/utils/importer/import.js +33 -188
  480. package/dist/utils/importer/import.js.map +1 -1
  481. package/dist/utils/importer/master-tables.d.ts +2 -1
  482. package/dist/utils/importer/master-tables.d.ts.map +1 -1
  483. package/dist/utils/importer/master-tables.js +35 -81
  484. package/dist/utils/importer/master-tables.js.map +1 -1
  485. package/dist/utils/param-normalizer.d.ts +0 -1
  486. package/dist/utils/param-normalizer.d.ts.map +1 -1
  487. package/dist/utils/param-normalizer.js +1 -3
  488. package/dist/utils/param-normalizer.js.map +1 -1
  489. package/dist/utils/path-utils.d.ts +46 -0
  490. package/dist/utils/path-utils.d.ts.map +1 -0
  491. package/dist/utils/path-utils.js +74 -0
  492. package/dist/utils/path-utils.js.map +1 -0
  493. package/dist/utils/policy-validator.js +1 -1
  494. package/dist/utils/policy-validator.js.map +1 -1
  495. package/dist/utils/project-context.d.ts +23 -0
  496. package/dist/utils/project-context.d.ts.map +1 -1
  497. package/dist/utils/project-context.js +45 -3
  498. package/dist/utils/project-context.js.map +1 -1
  499. package/dist/utils/project-root.d.ts +2 -2
  500. package/dist/utils/project-root.js +2 -2
  501. package/dist/utils/sql-dump/core/index-export.js +7 -7
  502. package/dist/utils/sql-dump/schema/indexes.js +24 -24
  503. package/dist/utils/sql-dump/schema/tables.js +44 -44
  504. package/dist/utils/token-logging.js +6 -6
  505. package/dist/utils/token-logging.js.map +1 -1
  506. package/dist/utils/validators.js +1 -1
  507. package/dist/utils/validators.js.map +1 -1
  508. package/dist/utils/view-queries.d.ts +0 -8
  509. package/dist/utils/view-queries.d.ts.map +1 -1
  510. package/dist/utils/view-queries.js +29 -84
  511. package/dist/utils/view-queries.js.map +1 -1
  512. package/dist/watcher/index.d.ts +1 -4
  513. package/dist/watcher/index.d.ts.map +1 -1
  514. package/dist/watcher/index.js +1 -3
  515. package/dist/watcher/index.js.map +1 -1
  516. package/dist/watcher/queue-watcher.d.ts +10 -3
  517. package/dist/watcher/queue-watcher.d.ts.map +1 -1
  518. package/dist/watcher/queue-watcher.js +24 -21
  519. package/dist/watcher/queue-watcher.js.map +1 -1
  520. package/docs/CONFIGURATION.md +14 -14
  521. package/docs/DATABASE_AUTH.md +1 -1
  522. package/docs/HOOKS_GUIDE.md +30 -50
  523. package/docs/HOW_TO_UNINSTALL.md +199 -0
  524. package/docs/MIGRATION_CLEANUP_GUIDE.md +212 -0
  525. package/docs/MIGRATION_TO_SAAS.md +176 -0
  526. package/docs/SLASH_COMMANDS.md +1 -1
  527. package/docs/cli/DATABASE_MIGRATION.md +13 -13
  528. package/docs/cli/DATA_EXPORT_IMPORT.md +71 -69
  529. package/package.json +10 -8
  530. package/saas-connector/LICENSE +190 -0
  531. package/saas-connector/README.md +122 -0
  532. package/saas-connector/dist/auth/auth-manager.d.ts +6 -0
  533. package/saas-connector/dist/auth/auth-manager.d.ts.map +1 -0
  534. package/saas-connector/dist/auth/auth-manager.js +39 -0
  535. package/saas-connector/dist/auth/auth-manager.js.map +7 -0
  536. package/saas-connector/dist/backend/saas-backend.d.ts +20 -0
  537. package/saas-connector/dist/backend/saas-backend.d.ts.map +1 -0
  538. package/saas-connector/dist/backend/saas-backend.js +104 -0
  539. package/saas-connector/dist/backend/saas-backend.js.map +7 -0
  540. package/saas-connector/dist/client/http-client.d.ts +33 -0
  541. package/saas-connector/dist/client/http-client.d.ts.map +1 -0
  542. package/saas-connector/dist/client/http-client.js +226 -0
  543. package/saas-connector/dist/client/http-client.js.map +7 -0
  544. package/saas-connector/dist/client/types.d.ts +62 -0
  545. package/saas-connector/dist/client/types.d.ts.map +1 -0
  546. package/saas-connector/dist/client/types.js +17 -0
  547. package/saas-connector/dist/client/types.js.map +7 -0
  548. package/saas-connector/dist/config/constants.d.ts +14 -0
  549. package/saas-connector/dist/config/constants.d.ts.map +1 -0
  550. package/saas-connector/dist/config/constants.js +68 -0
  551. package/saas-connector/dist/config/constants.js.map +7 -0
  552. package/saas-connector/dist/errors/api-error.d.ts +26 -0
  553. package/saas-connector/dist/errors/api-error.d.ts.map +1 -0
  554. package/saas-connector/dist/errors/api-error.js +62 -0
  555. package/saas-connector/dist/errors/api-error.js.map +7 -0
  556. package/saas-connector/dist/index.d.ts +18 -0
  557. package/saas-connector/dist/index.d.ts.map +1 -0
  558. package/saas-connector/dist/index.js +51 -0
  559. package/saas-connector/dist/index.js.map +7 -0
  560. package/saas-connector/package-lock.json +518 -0
  561. package/saas-connector/package.json +34 -0
  562. package/scripts/copy-help-data.js +19 -0
  563. package/assets/config.example.toml +0 -120
  564. package/assets/kanban-style.png +0 -0
  565. package/assets/kanban-visualizer.png +0 -0
  566. package/assets/sample-agents/README.md +0 -36
  567. package/assets/sample-agents/sqlew-architect.md +0 -321
  568. package/assets/sample-agents/sqlew-researcher.md +0 -292
  569. package/assets/sample-agents/sqlew-scrum-master.md +0 -286
  570. package/assets/sample-commands/README.md +0 -56
  571. package/assets/sample-commands/sqlew.md +0 -144
  572. package/assets/sample-skills/sqlew-decision-format/SKILL.md +0 -73
  573. package/assets/sample-skills/sqlew-plan-guidance/SKILL.md +0 -62
  574. package/assets/schema.sql +0 -564
  575. package/dist/cli/hooks/init-hooks.d.ts +0 -35
  576. package/dist/cli/hooks/init-hooks.d.ts.map +0 -1
  577. package/dist/cli/hooks/init-hooks.js +0 -517
  578. package/dist/cli/hooks/init-hooks.js.map +0 -1
  579. package/dist/cli/hooks/plan-toml-parser.d.ts.map +0 -1
  580. package/dist/cli/hooks/plan-toml-parser.js.map +0 -1
  581. package/dist/init-agents.d.ts +0 -7
  582. package/dist/init-agents.d.ts.map +0 -1
  583. package/dist/init-agents.js +0 -206
  584. package/dist/init-agents.js.map +0 -1
  585. package/dist/init-commands.d.ts +0 -10
  586. package/dist/init-commands.d.ts.map +0 -1
  587. package/dist/init-commands.js +0 -46
  588. package/dist/init-commands.js.map +0 -1
  589. package/dist/init-skills.d.ts +0 -29
  590. package/dist/init-skills.d.ts.map +0 -1
  591. package/dist/init-skills.js +0 -183
  592. package/dist/init-skills.js.map +0 -1
  593. package/dist/sync-agents.d.ts +0 -13
  594. package/dist/sync-agents.d.ts.map +0 -1
  595. package/dist/sync-agents.js +0 -157
  596. package/dist/sync-agents.js.map +0 -1
  597. package/dist/sync-commands.d.ts +0 -13
  598. package/dist/sync-commands.d.ts.map +0 -1
  599. package/dist/sync-commands.js +0 -150
  600. package/dist/sync-commands.js.map +0 -1
  601. package/dist/sync-gitignore.d.ts +0 -13
  602. package/dist/sync-gitignore.d.ts.map +0 -1
  603. package/dist/sync-gitignore.js +0 -60
  604. package/dist/sync-gitignore.js.map +0 -1
  605. package/dist/tests/docker/native/task-operations.test.d.ts +0 -16
  606. package/dist/tests/docker/native/task-operations.test.d.ts.map +0 -1
  607. package/dist/tests/docker/native/task-operations.test.js +0 -800
  608. package/dist/tests/docker/native/task-operations.test.js.map +0 -1
  609. package/dist/tests/feature/decision/batch-validation-integration.test.d.ts +0 -6
  610. package/dist/tests/feature/decision/batch-validation-integration.test.d.ts.map +0 -1
  611. package/dist/tests/feature/decision/batch-validation-integration.test.js +0 -193
  612. package/dist/tests/feature/decision/batch-validation-integration.test.js.map +0 -1
  613. package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts +0 -6
  614. package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts.map +0 -1
  615. package/dist/tests/feature/task/auto-pruning-decision-link.test.js +0 -281
  616. package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +0 -1
  617. package/dist/tests/feature/task/auto-pruning-partial.test.d.ts +0 -6
  618. package/dist/tests/feature/task/auto-pruning-partial.test.d.ts.map +0 -1
  619. package/dist/tests/feature/task/auto-pruning-partial.test.js +0 -305
  620. package/dist/tests/feature/task/auto-pruning-partial.test.js.map +0 -1
  621. package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts +0 -6
  622. package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts.map +0 -1
  623. package/dist/tests/feature/task/auto-pruning-persistence.test.js +0 -267
  624. package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +0 -1
  625. package/dist/tests/feature/task/auto-pruning-safety.test.d.ts +0 -12
  626. package/dist/tests/feature/task/auto-pruning-safety.test.d.ts.map +0 -1
  627. package/dist/tests/feature/task/auto-pruning-safety.test.js +0 -224
  628. package/dist/tests/feature/task/auto-pruning-safety.test.js.map +0 -1
  629. package/dist/tests/feature/task/dependencies.test.d.ts +0 -7
  630. package/dist/tests/feature/task/dependencies.test.d.ts.map +0 -1
  631. package/dist/tests/feature/task/dependencies.test.js +0 -656
  632. package/dist/tests/feature/task/dependencies.test.js.map +0 -1
  633. package/dist/tests/feature/task/file-actions-integration.test.d.ts +0 -10
  634. package/dist/tests/feature/task/file-actions-integration.test.d.ts.map +0 -1
  635. package/dist/tests/feature/task/file-actions-integration.test.js +0 -162
  636. package/dist/tests/feature/task/file-actions-integration.test.js.map +0 -1
  637. package/dist/tests/feature/task/file-actions-validation.test.d.ts +0 -6
  638. package/dist/tests/feature/task/file-actions-validation.test.d.ts.map +0 -1
  639. package/dist/tests/feature/task/file-actions-validation.test.js +0 -228
  640. package/dist/tests/feature/task/file-actions-validation.test.js.map +0 -1
  641. package/dist/tests/feature/task/link-file-backward-compat.test.d.ts +0 -6
  642. package/dist/tests/feature/task/link-file-backward-compat.test.d.ts.map +0 -1
  643. package/dist/tests/feature/task/link-file-backward-compat.test.js +0 -280
  644. package/dist/tests/feature/task/link-file-backward-compat.test.js.map +0 -1
  645. package/dist/tests/feature/task/watch-files-action.test.d.ts +0 -8
  646. package/dist/tests/feature/task/watch-files-action.test.d.ts.map +0 -1
  647. package/dist/tests/feature/task/watch-files-action.test.js +0 -402
  648. package/dist/tests/feature/task/watch-files-action.test.js.map +0 -1
  649. package/dist/tests/feature/task/watch-files-parameter.test.d.ts +0 -8
  650. package/dist/tests/feature/task/watch-files-parameter.test.d.ts.map +0 -1
  651. package/dist/tests/feature/task/watch-files-parameter.test.js +0 -283
  652. package/dist/tests/feature/task/watch-files-parameter.test.js.map +0 -1
  653. package/dist/tests/integration/all-features.standalone.d.ts +0 -7
  654. package/dist/tests/integration/all-features.standalone.d.ts.map +0 -1
  655. package/dist/tests/integration/all-features.standalone.js +0 -417
  656. package/dist/tests/integration/all-features.standalone.js.map +0 -1
  657. package/dist/tests/unit/config/plan-toml-cache.test.d.ts.map +0 -1
  658. package/dist/tests/unit/config/plan-toml-cache.test.js.map +0 -1
  659. package/dist/tests/unit/hooks/plan-toml-parser.test.d.ts.map +0 -1
  660. package/dist/tests/unit/hooks/plan-toml-parser.test.js.map +0 -1
  661. package/dist/tools/files/actions/check-lock.d.ts +0 -16
  662. package/dist/tools/files/actions/check-lock.d.ts.map +0 -1
  663. package/dist/tools/files/actions/check-lock.js +0 -74
  664. package/dist/tools/files/actions/check-lock.js.map +0 -1
  665. package/dist/tools/files/actions/get.d.ts +0 -16
  666. package/dist/tools/files/actions/get.d.ts.map +0 -1
  667. package/dist/tools/files/actions/get.js +0 -85
  668. package/dist/tools/files/actions/get.js.map +0 -1
  669. package/dist/tools/files/actions/record-batch.d.ts +0 -18
  670. package/dist/tools/files/actions/record-batch.d.ts.map +0 -1
  671. package/dist/tools/files/actions/record-batch.js +0 -119
  672. package/dist/tools/files/actions/record-batch.js.map +0 -1
  673. package/dist/tools/files/actions/record.d.ts +0 -16
  674. package/dist/tools/files/actions/record.d.ts.map +0 -1
  675. package/dist/tools/files/actions/record.js +0 -43
  676. package/dist/tools/files/actions/record.js.map +0 -1
  677. package/dist/tools/files/actions/sqlite-flush.d.ts +0 -27
  678. package/dist/tools/files/actions/sqlite-flush.d.ts.map +0 -1
  679. package/dist/tools/files/actions/sqlite-flush.js +0 -66
  680. package/dist/tools/files/actions/sqlite-flush.js.map +0 -1
  681. package/dist/tools/files/help/example.d.ts +0 -5
  682. package/dist/tools/files/help/example.d.ts.map +0 -1
  683. package/dist/tools/files/help/example.js +0 -109
  684. package/dist/tools/files/help/example.js.map +0 -1
  685. package/dist/tools/files/help/help.d.ts +0 -5
  686. package/dist/tools/files/help/help.d.ts.map +0 -1
  687. package/dist/tools/files/help/help.js +0 -35
  688. package/dist/tools/files/help/help.js.map +0 -1
  689. package/dist/tools/files/index.d.ts +0 -14
  690. package/dist/tools/files/index.d.ts.map +0 -1
  691. package/dist/tools/files/index.js +0 -15
  692. package/dist/tools/files/index.js.map +0 -1
  693. package/dist/tools/files/internal/queries.d.ts +0 -18
  694. package/dist/tools/files/internal/queries.d.ts.map +0 -1
  695. package/dist/tools/files/internal/queries.js +0 -54
  696. package/dist/tools/files/internal/queries.js.map +0 -1
  697. package/dist/tools/files/internal/validation.d.ts +0 -18
  698. package/dist/tools/files/internal/validation.d.ts.map +0 -1
  699. package/dist/tools/files/internal/validation.js +0 -39
  700. package/dist/tools/files/internal/validation.js.map +0 -1
  701. package/dist/tools/files/types.d.ts +0 -6
  702. package/dist/tools/files/types.d.ts.map +0 -1
  703. package/dist/tools/files/types.js +0 -6
  704. package/dist/tools/files/types.js.map +0 -1
  705. package/dist/tools/help-queries.d.ts +0 -130
  706. package/dist/tools/help-queries.d.ts.map +0 -1
  707. package/dist/tools/help-queries.js +0 -411
  708. package/dist/tools/help-queries.js.map +0 -1
  709. package/dist/tools/tasks/actions/add-dependency.d.ts +0 -12
  710. package/dist/tools/tasks/actions/add-dependency.d.ts.map +0 -1
  711. package/dist/tools/tasks/actions/add-dependency.js +0 -129
  712. package/dist/tools/tasks/actions/add-dependency.js.map +0 -1
  713. package/dist/tools/tasks/actions/archive.d.ts +0 -11
  714. package/dist/tools/tasks/actions/archive.d.ts.map +0 -1
  715. package/dist/tools/tasks/actions/archive.js +0 -58
  716. package/dist/tools/tasks/actions/archive.js.map +0 -1
  717. package/dist/tools/tasks/actions/create-batch.d.ts +0 -19
  718. package/dist/tools/tasks/actions/create-batch.d.ts.map +0 -1
  719. package/dist/tools/tasks/actions/create-batch.js +0 -103
  720. package/dist/tools/tasks/actions/create-batch.js.map +0 -1
  721. package/dist/tools/tasks/actions/create.d.ts +0 -16
  722. package/dist/tools/tasks/actions/create.d.ts.map +0 -1
  723. package/dist/tools/tasks/actions/create.js +0 -163
  724. package/dist/tools/tasks/actions/create.js.map +0 -1
  725. package/dist/tools/tasks/actions/get-dependencies.d.ts +0 -12
  726. package/dist/tools/tasks/actions/get-dependencies.d.ts.map +0 -1
  727. package/dist/tools/tasks/actions/get-dependencies.js +0 -41
  728. package/dist/tools/tasks/actions/get-dependencies.js.map +0 -1
  729. package/dist/tools/tasks/actions/get-pruned-files.d.ts +0 -13
  730. package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +0 -1
  731. package/dist/tools/tasks/actions/get-pruned-files.js +0 -45
  732. package/dist/tools/tasks/actions/get-pruned-files.js.map +0 -1
  733. package/dist/tools/tasks/actions/get.d.ts +0 -12
  734. package/dist/tools/tasks/actions/get.d.ts.map +0 -1
  735. package/dist/tools/tasks/actions/get.js +0 -84
  736. package/dist/tools/tasks/actions/get.js.map +0 -1
  737. package/dist/tools/tasks/actions/link-pruned-file.d.ts +0 -14
  738. package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +0 -1
  739. package/dist/tools/tasks/actions/link-pruned-file.js +0 -68
  740. package/dist/tools/tasks/actions/link-pruned-file.js.map +0 -1
  741. package/dist/tools/tasks/actions/link.d.ts +0 -14
  742. package/dist/tools/tasks/actions/link.d.ts.map +0 -1
  743. package/dist/tools/tasks/actions/link.js +0 -120
  744. package/dist/tools/tasks/actions/link.js.map +0 -1
  745. package/dist/tools/tasks/actions/list.d.ts +0 -17
  746. package/dist/tools/tasks/actions/list.d.ts.map +0 -1
  747. package/dist/tools/tasks/actions/list.js +0 -100
  748. package/dist/tools/tasks/actions/list.js.map +0 -1
  749. package/dist/tools/tasks/actions/move.d.ts +0 -13
  750. package/dist/tools/tasks/actions/move.d.ts.map +0 -1
  751. package/dist/tools/tasks/actions/move.js +0 -91
  752. package/dist/tools/tasks/actions/move.js.map +0 -1
  753. package/dist/tools/tasks/actions/remove-dependency.d.ts +0 -12
  754. package/dist/tools/tasks/actions/remove-dependency.d.ts.map +0 -1
  755. package/dist/tools/tasks/actions/remove-dependency.js +0 -36
  756. package/dist/tools/tasks/actions/remove-dependency.js.map +0 -1
  757. package/dist/tools/tasks/actions/update.d.ts +0 -10
  758. package/dist/tools/tasks/actions/update.d.ts.map +0 -1
  759. package/dist/tools/tasks/actions/update.js +0 -183
  760. package/dist/tools/tasks/actions/update.js.map +0 -1
  761. package/dist/tools/tasks/actions/watch-files.d.ts +0 -14
  762. package/dist/tools/tasks/actions/watch-files.d.ts.map +0 -1
  763. package/dist/tools/tasks/actions/watch-files.js +0 -127
  764. package/dist/tools/tasks/actions/watch-files.js.map +0 -1
  765. package/dist/tools/tasks/help/example.d.ts +0 -8
  766. package/dist/tools/tasks/help/example.d.ts.map +0 -1
  767. package/dist/tools/tasks/help/example.js +0 -225
  768. package/dist/tools/tasks/help/example.js.map +0 -1
  769. package/dist/tools/tasks/help/help.d.ts +0 -8
  770. package/dist/tools/tasks/help/help.d.ts.map +0 -1
  771. package/dist/tools/tasks/help/help.js +0 -307
  772. package/dist/tools/tasks/help/help.js.map +0 -1
  773. package/dist/tools/tasks/help/use-case.d.ts +0 -11
  774. package/dist/tools/tasks/help/use-case.d.ts.map +0 -1
  775. package/dist/tools/tasks/help/use-case.js +0 -767
  776. package/dist/tools/tasks/help/use-case.js.map +0 -1
  777. package/dist/tools/tasks/index.d.ts +0 -28
  778. package/dist/tools/tasks/index.d.ts.map +0 -1
  779. package/dist/tools/tasks/index.js +0 -33
  780. package/dist/tools/tasks/index.js.map +0 -1
  781. package/dist/tools/tasks/internal/state-machine.d.ts +0 -16
  782. package/dist/tools/tasks/internal/state-machine.d.ts.map +0 -1
  783. package/dist/tools/tasks/internal/state-machine.js +0 -36
  784. package/dist/tools/tasks/internal/state-machine.js.map +0 -1
  785. package/dist/tools/tasks/internal/task-queries.d.ts +0 -12
  786. package/dist/tools/tasks/internal/task-queries.d.ts.map +0 -1
  787. package/dist/tools/tasks/internal/task-queries.js +0 -53
  788. package/dist/tools/tasks/internal/task-queries.js.map +0 -1
  789. package/dist/tools/tasks/internal/validation.d.ts +0 -47
  790. package/dist/tools/tasks/internal/validation.d.ts.map +0 -1
  791. package/dist/tools/tasks/internal/validation.js +0 -261
  792. package/dist/tools/tasks/internal/validation.js.map +0 -1
  793. package/dist/tools/tasks/types.d.ts +0 -80
  794. package/dist/tools/tasks/types.d.ts.map +0 -1
  795. package/dist/tools/tasks/types.js +0 -68
  796. package/dist/tools/tasks/types.js.map +0 -1
  797. package/dist/tools/tasks/watcher/status.d.ts +0 -9
  798. package/dist/tools/tasks/watcher/status.d.ts.map +0 -1
  799. package/dist/tools/tasks/watcher/status.js +0 -130
  800. package/dist/tools/tasks/watcher/status.js.map +0 -1
  801. package/dist/tools/tasks.d.ts +0 -16
  802. package/dist/tools/tasks.d.ts.map +0 -1
  803. package/dist/tools/tasks.js +0 -17
  804. package/dist/tools/tasks.js.map +0 -1
  805. package/dist/utils/action-specs/file-specs.d.ts +0 -9
  806. package/dist/utils/action-specs/file-specs.d.ts.map +0 -1
  807. package/dist/utils/action-specs/file-specs.js +0 -54
  808. package/dist/utils/action-specs/file-specs.js.map +0 -1
  809. package/dist/utils/action-specs/task-specs.d.ts +0 -9
  810. package/dist/utils/action-specs/task-specs.d.ts.map +0 -1
  811. package/dist/utils/action-specs/task-specs.js +0 -143
  812. package/dist/utils/action-specs/task-specs.js.map +0 -1
  813. package/dist/utils/cleanup.d.ts +0 -69
  814. package/dist/utils/cleanup.d.ts.map +0 -1
  815. package/dist/utils/cleanup.js +0 -102
  816. package/dist/utils/cleanup.js.map +0 -1
  817. package/dist/utils/file-pruning.d.ts +0 -93
  818. package/dist/utils/file-pruning.d.ts.map +0 -1
  819. package/dist/utils/file-pruning.js +0 -194
  820. package/dist/utils/file-pruning.js.map +0 -1
  821. package/dist/utils/importer/topological-sort.d.ts +0 -61
  822. package/dist/utils/importer/topological-sort.d.ts.map +0 -1
  823. package/dist/utils/importer/topological-sort.js +0 -143
  824. package/dist/utils/importer/topological-sort.js.map +0 -1
  825. package/dist/utils/retention.d.ts +0 -65
  826. package/dist/utils/retention.d.ts.map +0 -1
  827. package/dist/utils/retention.js +0 -156
  828. package/dist/utils/retention.js.map +0 -1
  829. package/dist/utils/task-stale-detection.d.ts +0 -98
  830. package/dist/utils/task-stale-detection.d.ts.map +0 -1
  831. package/dist/utils/task-stale-detection.js +0 -479
  832. package/dist/utils/task-stale-detection.js.map +0 -1
  833. package/dist/watcher/file-watcher.d.ts +0 -131
  834. package/dist/watcher/file-watcher.d.ts.map +0 -1
  835. package/dist/watcher/file-watcher.js +0 -730
  836. package/dist/watcher/file-watcher.js.map +0 -1
  837. package/dist/watcher/test-executor.d.ts +0 -23
  838. package/dist/watcher/test-executor.d.ts.map +0 -1
  839. package/dist/watcher/test-executor.js +0 -226
  840. package/dist/watcher/test-executor.js.map +0 -1
  841. package/docs/TASK_SYSTEM_DEPRECATED.md +0 -88
@@ -1,69 +0,0 @@
1
- /**
2
- * Programmatic cleanup utilities for old messages and file changes
3
- * Replaces the automatic triggers with weekend-aware logic
4
- *
5
- * CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
6
- * MULTI-PROJECT: All cleanup operations scoped by project_id (Constraint #40)
7
- */
8
- import { DatabaseAdapter } from '../adapters/index.js';
9
- import { Knex } from 'knex';
10
- /**
11
- * Perform automatic cleanup of old data
12
- * Deletes old messages, file changes, and activity logs based on m_config settings
13
- * Also releases inactive generic agent slots for reuse
14
- *
15
- * @param adapter - Database adapter instance
16
- * @param trx - Optional transaction
17
- * @returns Object with counts of deleted records and released agents
18
- */
19
- export declare function performAutoCleanup(adapter: DatabaseAdapter, trx?: Knex.Transaction): Promise<{
20
- messagesDeleted: number;
21
- fileChangesDeleted: number;
22
- activityLogsDeleted: number;
23
- agentsReleased: number;
24
- }>;
25
- /**
26
- * Delete old messages before the cutoff timestamp
27
- *
28
- * @param adapter - Database adapter instance
29
- * @param cutoffTimestamp - Unix timestamp (seconds) for cutoff
30
- * @param trx - Optional transaction
31
- * @returns Number of messages deleted
32
- */
33
- export declare function cleanupMessages(adapter: DatabaseAdapter, cutoffTimestamp: number, trx?: Knex.Transaction): Promise<number>;
34
- /**
35
- * Delete old file changes before the cutoff timestamp
36
- * PROJECT-SCOPED: Only deletes file changes for current project (Constraint #40)
37
- *
38
- * @param adapter - Database adapter instance
39
- * @param cutoffTimestamp - Unix timestamp (seconds) for cutoff
40
- * @param trx - Optional transaction
41
- * @returns Number of file changes deleted
42
- */
43
- export declare function cleanupFileChanges(adapter: DatabaseAdapter, cutoffTimestamp: number, trx?: Knex.Transaction): Promise<number>;
44
- /**
45
- * Delete old activity logs before the cutoff timestamp
46
- * Activity logs use the same retention as messages (constraint #4)
47
- * PROJECT-SCOPED: Only deletes activity logs for current project (Constraint #40)
48
- *
49
- * @param adapter - Database adapter instance
50
- * @param cutoffTimestamp - Unix timestamp (seconds) for cutoff
51
- * @param trx - Optional transaction
52
- * @returns Number of activity logs deleted
53
- */
54
- export declare function cleanupActivityLogs(adapter: DatabaseAdapter, cutoffTimestamp: number, trx?: Knex.Transaction): Promise<number>;
55
- /**
56
- * Cleanup with custom retention periods (overrides config)
57
- *
58
- * @param adapter - Database adapter instance
59
- * @param messageHours - Message retention in hours (optional)
60
- * @param fileChangeDays - File change retention in days (optional)
61
- * @param trx - Optional transaction
62
- * @returns Object with counts of deleted records
63
- */
64
- export declare function cleanupWithCustomRetention(adapter: DatabaseAdapter, messageHours?: number, fileChangeDays?: number, trx?: Knex.Transaction): Promise<{
65
- messagesDeleted: number;
66
- fileChangesDeleted: number;
67
- activityLogsDeleted: number;
68
- }>;
69
- //# sourceMappingURL=cleanup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/utils/cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAaD;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,MAAM,EACvB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,MAAM,EACvB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,MAAM,EACvB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,eAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB/F"}
@@ -1,102 +0,0 @@
1
- /**
2
- * Programmatic cleanup utilities for old messages and file changes
3
- * Replaces the automatic triggers with weekend-aware logic
4
- *
5
- * CONVERTED: Using Knex.js with DatabaseAdapter (async/await)
6
- * MULTI-PROJECT: All cleanup operations scoped by project_id (Constraint #40)
7
- */
8
- import { calculateMessageCutoff, calculateFileChangeCutoff, releaseInactiveAgents } from './retention.js';
9
- import { getProjectContext } from './project-context.js';
10
- /**
11
- * Perform automatic cleanup of old data
12
- * Deletes old messages, file changes, and activity logs based on m_config settings
13
- * Also releases inactive generic agent slots for reuse
14
- *
15
- * @param adapter - Database adapter instance
16
- * @param trx - Optional transaction
17
- * @returns Object with counts of deleted records and released agents
18
- */
19
- export async function performAutoCleanup(adapter, trx) {
20
- const messageCutoff = await calculateMessageCutoff(adapter);
21
- const fileChangeCutoff = await calculateFileChangeCutoff(adapter);
22
- const messagesDeleted = await cleanupMessages(adapter, messageCutoff, trx);
23
- const fileChangesDeleted = await cleanupFileChanges(adapter, fileChangeCutoff, trx);
24
- // Activity log uses same retention as messages (constraint #4)
25
- const activityLogsDeleted = await cleanupActivityLogs(adapter, messageCutoff, trx);
26
- // Release inactive generic agent slots (24 hours of inactivity)
27
- const agentsReleased = await releaseInactiveAgents(adapter, 24);
28
- return { messagesDeleted, fileChangesDeleted, activityLogsDeleted, agentsReleased };
29
- }
30
- /**
31
- * Delete old messages before the cutoff timestamp
32
- *
33
- * @param adapter - Database adapter instance
34
- * @param cutoffTimestamp - Unix timestamp (seconds) for cutoff
35
- * @param trx - Optional transaction
36
- * @returns Number of messages deleted
37
- */
38
- export async function cleanupMessages(adapter, cutoffTimestamp, trx) {
39
- const knex = trx || adapter.getKnex();
40
- return await knex('v4_agent_messages').where('ts', '<', cutoffTimestamp).delete();
41
- }
42
- /**
43
- * Delete old file changes before the cutoff timestamp
44
- * PROJECT-SCOPED: Only deletes file changes for current project (Constraint #40)
45
- *
46
- * @param adapter - Database adapter instance
47
- * @param cutoffTimestamp - Unix timestamp (seconds) for cutoff
48
- * @param trx - Optional transaction
49
- * @returns Number of file changes deleted
50
- */
51
- export async function cleanupFileChanges(adapter, cutoffTimestamp, trx) {
52
- const knex = trx || adapter.getKnex();
53
- const projectId = getProjectContext().getProjectId();
54
- return await knex('v4_file_changes')
55
- .where('project_id', projectId)
56
- .where('ts', '<', cutoffTimestamp)
57
- .delete();
58
- }
59
- /**
60
- * Delete old activity logs before the cutoff timestamp
61
- * Activity logs use the same retention as messages (constraint #4)
62
- * PROJECT-SCOPED: Only deletes activity logs for current project (Constraint #40)
63
- *
64
- * @param adapter - Database adapter instance
65
- * @param cutoffTimestamp - Unix timestamp (seconds) for cutoff
66
- * @param trx - Optional transaction
67
- * @returns Number of activity logs deleted
68
- */
69
- export async function cleanupActivityLogs(adapter, cutoffTimestamp, trx) {
70
- const knex = trx || adapter.getKnex();
71
- const projectId = getProjectContext().getProjectId();
72
- return await knex('v4_activity_log')
73
- .where('project_id', projectId)
74
- .where('ts', '<', cutoffTimestamp)
75
- .delete();
76
- }
77
- /**
78
- * Cleanup with custom retention periods (overrides config)
79
- *
80
- * @param adapter - Database adapter instance
81
- * @param messageHours - Message retention in hours (optional)
82
- * @param fileChangeDays - File change retention in days (optional)
83
- * @param trx - Optional transaction
84
- * @returns Object with counts of deleted records
85
- */
86
- export async function cleanupWithCustomRetention(adapter, messageHours, fileChangeDays, trx) {
87
- let messagesDeleted = 0;
88
- let fileChangesDeleted = 0;
89
- let activityLogsDeleted = 0;
90
- if (messageHours !== undefined) {
91
- const messageCutoff = Math.floor(Date.now() / 1000) - (messageHours * 3600);
92
- messagesDeleted = await cleanupMessages(adapter, messageCutoff, trx);
93
- // Activity log uses same retention as messages (constraint #4)
94
- activityLogsDeleted = await cleanupActivityLogs(adapter, messageCutoff, trx);
95
- }
96
- if (fileChangeDays !== undefined) {
97
- const fileChangeCutoff = Math.floor(Date.now() / 1000) - (fileChangeDays * 86400);
98
- fileChangesDeleted = await cleanupFileChanges(adapter, fileChangeCutoff, trx);
99
- }
100
- return { messagesDeleted, fileChangesDeleted, activityLogsDeleted };
101
- }
102
- //# sourceMappingURL=cleanup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/utils/cleanup.ts"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- /**
2
- * File pruning utilities for v3.5.0 Auto-Pruning feature
3
- * Automatically removes non-existent watched files with audit trail
4
- *
5
- * UPDATED v3.7.0: Added project_id support for multi-project compatibility
6
- */
7
- import type { Knex } from 'knex';
8
- import type { DatabaseAdapter } from '../adapters/index.js';
9
- /**
10
- * Prune non-existent files from a task's watch list
11
- * Records pruned files to audit table for project archaeology
12
- *
13
- * @deprecated Use pruneNonExistentFilesKnex instead
14
- *
15
- * Quality gate enforcement:
16
- * - If ALL watched files are non-existent → throw error (prevents zero-work completion)
17
- * - If SOME watched files are non-existent → prune them and continue
18
- *
19
- * @param adapter - Database adapter
20
- * @param taskId - Task ID to prune files for
21
- * @param projectRoot - Project root directory (default: process.cwd())
22
- * @returns Object with pruned count and remaining count
23
- * @throws Error if ALL files are non-existent (safety check)
24
- */
25
- export declare function pruneNonExistentFiles(adapter: DatabaseAdapter, taskId: number, projectRoot?: string): Promise<{
26
- prunedCount: number;
27
- remainingCount: number;
28
- prunedPaths: string[];
29
- }>;
30
- /**
31
- * Prune non-existent files from a task's watch list (Knex.js version)
32
- * Records pruned files to audit table for project archaeology
33
- *
34
- * Quality gate enforcement:
35
- * - If ALL watched files are non-existent → throw error (prevents zero-work completion)
36
- * - If SOME watched files are non-existent → prune them and continue
37
- *
38
- * @param trx - Knex transaction instance
39
- * @param taskId - Task ID to prune files for
40
- * @param projectRoot - Project root directory (default: process.cwd())
41
- * @returns Object with pruned count, remaining count, and pruned paths
42
- * @throws Error if ALL files are non-existent (safety check)
43
- */
44
- export declare function pruneNonExistentFilesKnex(trx: Knex.Transaction, taskId: number, projectRoot?: string): Promise<{
45
- prunedCount: number;
46
- remainingCount: number;
47
- prunedPaths: string[];
48
- }>;
49
- /**
50
- * Get pruned files for a task
51
- *
52
- * @param adapter - Database adapter
53
- * @param taskId - Task ID
54
- * @param limit - Maximum number of records (default: 100)
55
- * @returns Array of pruned file records
56
- */
57
- export declare function getPrunedFiles(adapter: DatabaseAdapter, taskId: number, limit?: number): Promise<Array<{
58
- id: number;
59
- file_path: string;
60
- pruned_at: string;
61
- linked_decision: string | null;
62
- }>>;
63
- /**
64
- * Link a pruned file to a decision (for WHY reasoning)
65
- *
66
- * @param adapter - Database adapter
67
- * @param prunedFileId - Pruned file record ID
68
- * @param decisionKey - Decision key to link
69
- * @throws Error if pruned file or decision not found
70
- */
71
- export declare function linkPrunedFileToDecision(adapter: DatabaseAdapter, prunedFileId: number, decisionKey: string): Promise<void>;
72
- /**
73
- * Get all pruned files across all tasks (for audit purposes)
74
- *
75
- * @param adapter - Database adapter
76
- * @param filters - Optional filters
77
- * @returns Array of pruned file records with task info
78
- */
79
- export declare function getAllPrunedFiles(adapter: DatabaseAdapter, filters?: {
80
- taskId?: number;
81
- linkedDecision?: string;
82
- since?: number;
83
- limit?: number;
84
- offset?: number;
85
- }): Promise<Array<{
86
- id: number;
87
- task_id: number;
88
- task_title: string;
89
- file_path: string;
90
- pruned_at: string;
91
- linked_decision: string | null;
92
- }>>;
93
- //# sourceMappingURL=file-pruning.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-pruning.d.ts","sourceRoot":"","sources":["../../src/utils/file-pruning.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAOjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoEjF;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAY,GAClB,OAAO,CAAC,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC,CAAC,CAqBF;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC,CAAC,CA6CF"}
@@ -1,194 +0,0 @@
1
- /**
2
- * File pruning utilities for v3.5.0 Auto-Pruning feature
3
- * Automatically removes non-existent watched files with audit trail
4
- *
5
- * UPDATED v3.7.0: Added project_id support for multi-project compatibility
6
- */
7
- import { existsSync } from 'fs';
8
- import { join } from 'path';
9
- import { getProjectContext } from './project-context.js';
10
- /**
11
- * Prune non-existent files from a task's watch list
12
- * Records pruned files to audit table for project archaeology
13
- *
14
- * @deprecated Use pruneNonExistentFilesKnex instead
15
- *
16
- * Quality gate enforcement:
17
- * - If ALL watched files are non-existent → throw error (prevents zero-work completion)
18
- * - If SOME watched files are non-existent → prune them and continue
19
- *
20
- * @param adapter - Database adapter
21
- * @param taskId - Task ID to prune files for
22
- * @param projectRoot - Project root directory (default: process.cwd())
23
- * @returns Object with pruned count and remaining count
24
- * @throws Error if ALL files are non-existent (safety check)
25
- */
26
- export async function pruneNonExistentFiles(adapter, taskId, projectRoot = process.cwd()) {
27
- const knex = adapter.getKnex();
28
- // Delegate to Knex version within a transaction
29
- return await knex.transaction(async (trx) => {
30
- return await pruneNonExistentFilesKnex(trx, taskId, projectRoot);
31
- });
32
- }
33
- /**
34
- * Prune non-existent files from a task's watch list (Knex.js version)
35
- * Records pruned files to audit table for project archaeology
36
- *
37
- * Quality gate enforcement:
38
- * - If ALL watched files are non-existent → throw error (prevents zero-work completion)
39
- * - If SOME watched files are non-existent → prune them and continue
40
- *
41
- * @param trx - Knex transaction instance
42
- * @param taskId - Task ID to prune files for
43
- * @param projectRoot - Project root directory (default: process.cwd())
44
- * @returns Object with pruned count, remaining count, and pruned paths
45
- * @throws Error if ALL files are non-existent (safety check)
46
- */
47
- export async function pruneNonExistentFilesKnex(trx, taskId, projectRoot = process.cwd()) {
48
- // 1. Get all watched files for this task
49
- const watchedFiles = await trx('v4_task_file_links as tfl')
50
- .join('v4_files as f', 'tfl.file_id', 'f.id')
51
- .where('tfl.task_id', taskId)
52
- .select('f.id as file_id', 'f.path');
53
- if (watchedFiles.length === 0) {
54
- // No watched files - nothing to prune
55
- return { prunedCount: 0, remainingCount: 0, prunedPaths: [] };
56
- }
57
- // 2. Check which files exist on filesystem
58
- const existingFiles = [];
59
- const nonExistentFiles = [];
60
- for (const file of watchedFiles) {
61
- const fullPath = join(projectRoot, file.path);
62
- if (existsSync(fullPath)) {
63
- existingFiles.push(file);
64
- }
65
- else {
66
- nonExistentFiles.push(file);
67
- }
68
- }
69
- // 3. Safety check: If ALL files are non-existent, block the operation
70
- if (nonExistentFiles.length === watchedFiles.length) {
71
- throw new Error(`Cannot prune files for task #${taskId}: ALL ${watchedFiles.length} watched files are non-existent. ` +
72
- `This indicates no work was done. Please verify watched files or mark task as invalid.`);
73
- }
74
- // 4. If no files need pruning, return early
75
- if (nonExistentFiles.length === 0) {
76
- return {
77
- prunedCount: 0,
78
- remainingCount: watchedFiles.length,
79
- prunedPaths: [],
80
- };
81
- }
82
- // 5. Prune non-existent files (transaction already provided)
83
- // Get project_id (required after v3.7.0 multi-project support)
84
- const projectId = getProjectContext().getProjectId();
85
- const currentTs = Math.floor(Date.now() / 1000);
86
- // Record each pruned file to audit table and remove link
87
- for (const file of nonExistentFiles) {
88
- // Insert audit record
89
- await trx('v4_task_pruned_files').insert({
90
- task_id: taskId,
91
- file_path: file.path,
92
- pruned_ts: currentTs,
93
- project_id: projectId,
94
- });
95
- // Remove link
96
- await trx('v4_task_file_links')
97
- .where({ task_id: taskId, file_id: file.file_id })
98
- .delete();
99
- }
100
- return {
101
- prunedCount: nonExistentFiles.length,
102
- remainingCount: existingFiles.length,
103
- prunedPaths: nonExistentFiles.map(f => f.path),
104
- };
105
- }
106
- /**
107
- * Get pruned files for a task
108
- *
109
- * @param adapter - Database adapter
110
- * @param taskId - Task ID
111
- * @param limit - Maximum number of records (default: 100)
112
- * @returns Array of pruned file records
113
- */
114
- export async function getPrunedFiles(adapter, taskId, limit = 100) {
115
- const knex = adapter.getKnex();
116
- const rows = await knex('v4_task_pruned_files as tpf')
117
- .leftJoin('v4_context_keys as k', 'tpf.linked_decision_key_id', 'k.id')
118
- .where('tpf.task_id', taskId)
119
- .select('tpf.id', 'tpf.file_path', knex.raw(`datetime(tpf.pruned_ts, 'unixepoch') as pruned_at`), 'k.key_name as linked_decision')
120
- .orderBy('tpf.pruned_ts', 'desc')
121
- .limit(limit);
122
- return rows;
123
- }
124
- /**
125
- * Link a pruned file to a decision (for WHY reasoning)
126
- *
127
- * @param adapter - Database adapter
128
- * @param prunedFileId - Pruned file record ID
129
- * @param decisionKey - Decision key to link
130
- * @throws Error if pruned file or decision not found
131
- */
132
- export async function linkPrunedFileToDecision(adapter, prunedFileId, decisionKey) {
133
- const knex = adapter.getKnex();
134
- // 1. Get decision key_id
135
- const decision = await knex('v4_context_keys as k')
136
- .whereExists(function () {
137
- this.select('*')
138
- .from('v4_decisions as d')
139
- .whereRaw('d.key_id = k.id');
140
- })
141
- .where('k.key_name', decisionKey)
142
- .select('k.id as key_id')
143
- .first();
144
- if (!decision) {
145
- throw new Error(`Decision not found: ${decisionKey}`);
146
- }
147
- // 2. Check if pruned file exists
148
- const prunedFile = await knex('v4_task_pruned_files')
149
- .where({ id: prunedFileId })
150
- .select('id')
151
- .first();
152
- if (!prunedFile) {
153
- throw new Error(`Pruned file record not found: ${prunedFileId}`);
154
- }
155
- // 3. Update the link
156
- const result = await knex('v4_task_pruned_files')
157
- .where({ id: prunedFileId })
158
- .update({ linked_decision_key_id: decision.key_id });
159
- if (result === 0) {
160
- throw new Error(`Failed to link pruned file #${prunedFileId} to decision ${decisionKey}`);
161
- }
162
- }
163
- /**
164
- * Get all pruned files across all tasks (for audit purposes)
165
- *
166
- * @param adapter - Database adapter
167
- * @param filters - Optional filters
168
- * @returns Array of pruned file records with task info
169
- */
170
- export async function getAllPrunedFiles(adapter, filters) {
171
- const knex = adapter.getKnex();
172
- let query = knex('v4_task_pruned_files as tpf')
173
- .join('v4_tasks as t', 'tpf.task_id', 't.id')
174
- .leftJoin('v4_context_keys as k', 'tpf.linked_decision_key_id', 'k.id')
175
- .select('tpf.id', 'tpf.task_id', 't.title as task_title', 'tpf.file_path', knex.raw(`datetime(tpf.pruned_ts, 'unixepoch') as pruned_at`), 'k.key_name as linked_decision');
176
- if (filters?.taskId !== undefined) {
177
- query = query.where('tpf.task_id', filters.taskId);
178
- }
179
- if (filters?.linkedDecision) {
180
- query = query.where('k.key', filters.linkedDecision);
181
- }
182
- if (filters?.since !== undefined) {
183
- query = query.where('tpf.pruned_ts', '>=', filters.since);
184
- }
185
- query = query.orderBy('tpf.pruned_ts', 'desc');
186
- if (filters?.limit) {
187
- query = query.limit(filters.limit);
188
- }
189
- if (filters?.offset) {
190
- query = query.offset(filters.offset);
191
- }
192
- return await query;
193
- }
194
- //# sourceMappingURL=file-pruning.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-pruning.js","sourceRoot":"","sources":["../../src/utils/file-pruning.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAwB,EACxB,MAAc,EACd,cAAsB,OAAO,CAAC,GAAG,EAAE;IAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE/B,gDAAgD;IAChD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1C,OAAO,MAAM,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAqB,EACrB,MAAc,EACd,cAAsB,OAAO,CAAC,GAAG,EAAE;IAEnC,yCAAyC;IACzC,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,2BAA2B,CAAC;SACxD,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC;SAC5C,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC;SAC5B,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAEvC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,sCAAsC;QACtC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAChE,CAAC;IAED,2CAA2C;IAC3C,MAAM,aAAa,GAA6C,EAAE,CAAC;IACnE,MAAM,gBAAgB,GAA6C,EAAE,CAAC;IAEtE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,gBAAgB,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,SAAS,YAAY,CAAC,MAAM,mCAAmC;YACrG,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,YAAY,CAAC,MAAM;YACnC,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,+DAA+D;IAC/D,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEhD,yDAAyD;IACzD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,sBAAsB;QACtB,MAAM,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC;YACvC,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,GAAG,CAAC,oBAAoB,CAAC;aAC5B,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aACjD,MAAM,EAAE,CAAC;IACd,CAAC;IAED,OAAO;QACL,WAAW,EAAE,gBAAgB,CAAC,MAAM;QACpC,cAAc,EAAE,aAAa,CAAC,MAAM;QACpC,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAwB,EACxB,MAAc,EACd,QAAgB,GAAG;IAOnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC;SACnD,QAAQ,CAAC,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,CAAC;SACtE,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC;SAC5B,MAAM,CACL,QAAQ,EACR,eAAe,EACf,IAAI,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAC7D,+BAA+B,CAChC;SACA,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;SAChC,KAAK,CAAC,KAAK,CAKV,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAwB,EACxB,YAAoB,EACpB,WAAmB;IAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE/B,yBAAyB;IACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;SAChD,WAAW,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aACb,IAAI,CAAC,mBAAmB,CAAC;aACzB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC,CAAC;SACD,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;SAChC,MAAM,CAAC,gBAAgB,CAAC;SACxB,KAAK,EAAoC,CAAC;IAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,iCAAiC;IACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;SAClD,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAC3B,MAAM,CAAC,IAAI,CAAC;SACZ,KAAK,EAAgC,CAAC;IAEzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;SAC9C,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;SAC3B,MAAM,CAAC,EAAE,sBAAsB,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAwB,EACxB,OAMC;IASD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE/B,IAAI,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAAC;SAC5C,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC;SAC5C,QAAQ,CAAC,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,CAAC;SACtE,MAAM,CACL,QAAQ,EACR,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,IAAI,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAC7D,+BAA+B,CAChC,CAAC;IAEJ,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,KAOX,CAAC;AACL,CAAC"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Topological Sort for Task Dependencies
3
- *
4
- * Implements BFS-based topological sorting to determine safe import order for tasks
5
- * with dependencies. This ensures blocker tasks are imported before blocked tasks,
6
- * satisfying foreign key constraints in v4_task_dependencies.
7
- */
8
- import type { TaskDependencyGraph } from '../../types.js';
9
- /**
10
- * Task dependency record from exported JSON
11
- */
12
- export interface TaskDependency {
13
- blocker_task_id: number;
14
- blocked_task_id: number;
15
- created_ts: number;
16
- }
17
- /**
18
- * Build dependency graph from task dependency records
19
- *
20
- * @param dependencies - Array of task dependencies from export
21
- * @param allTaskIds - Set of all task IDs (some tasks may have no dependencies)
22
- * @returns Dependency graph with adjacency lists
23
- */
24
- export declare function buildDependencyGraph(dependencies: TaskDependency[], allTaskIds: Set<number>): TaskDependencyGraph;
25
- /**
26
- * Topological sort using BFS (Kahn's algorithm)
27
- *
28
- * Ensures tasks are ordered such that all dependencies are satisfied:
29
- * - A task appears in the sorted list AFTER all tasks it depends on
30
- * - Blocker tasks appear before blocked tasks
31
- *
32
- * @param graph - Dependency graph from buildDependencyGraph
33
- * @returns Array of task IDs in safe import order
34
- * @throws Error if circular dependency detected
35
- */
36
- export declare function topologicalSort(graph: TaskDependencyGraph): number[];
37
- /**
38
- * Sort tasks by dependency order for import
39
- *
40
- * High-level function that combines graph building and topological sorting.
41
- *
42
- * @param tasks - Array of tasks from export
43
- * @param dependencies - Array of task dependencies from export
44
- * @returns Array of tasks sorted in safe import order
45
- * @throws Error if circular dependency detected
46
- */
47
- export declare function sortTasksByDependencies<T extends {
48
- id: number;
49
- }>(tasks: T[], dependencies: TaskDependency[]): T[];
50
- /**
51
- * Validate task dependencies for circular references
52
- *
53
- * @param dependencies - Array of task dependencies
54
- * @param allTaskIds - Set of all valid task IDs
55
- * @returns Validation result with errors if any
56
- */
57
- export declare function validateTaskDependencies(dependencies: TaskDependency[], allTaskIds: Set<number>): {
58
- valid: boolean;
59
- errors: string[];
60
- };
61
- //# sourceMappingURL=topological-sort.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topological-sort.d.ts","sourceRoot":"","sources":["../../../src/utils/importer/topological-sort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,cAAc,EAAE,EAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,mBAAmB,CA4BrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAoCpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9D,KAAK,EAAE,CAAC,EAAE,EACV,YAAY,EAAE,cAAc,EAAE,GAC7B,CAAC,EAAE,CAiBL;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,cAAc,EAAE,EAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAkCtC"}