sqlew 4.3.0 → 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 (858) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/LICENSE +1 -1
  3. package/NOTICE +2 -2
  4. package/README.md +338 -269
  5. package/assets/claude-md-snippets/plan-mode-integration.md +104 -48
  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 +108 -108
  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 -17
  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 +7 -15
  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 +7 -15
  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.d.ts.map +1 -1
  416. package/dist/tools/suggest/actions/by-tags.js +8 -18
  417. package/dist/tools/suggest/actions/by-tags.js.map +1 -1
  418. package/dist/tools/suggest/actions/constraint-by-context.d.ts +1 -1
  419. package/dist/tools/suggest/actions/constraint-by-context.d.ts.map +1 -1
  420. package/dist/tools/suggest/actions/constraint-by-context.js +9 -16
  421. package/dist/tools/suggest/actions/constraint-by-context.js.map +1 -1
  422. package/dist/tools/suggest/actions/constraint-by-tags.d.ts +1 -1
  423. package/dist/tools/suggest/actions/constraint-by-tags.d.ts.map +1 -1
  424. package/dist/tools/suggest/actions/constraint-by-tags.js +11 -17
  425. package/dist/tools/suggest/actions/constraint-by-tags.js.map +1 -1
  426. package/dist/tools/suggest/actions/constraint-by-text.d.ts +1 -1
  427. package/dist/tools/suggest/actions/constraint-by-text.d.ts.map +1 -1
  428. package/dist/tools/suggest/actions/constraint-by-text.js +6 -15
  429. package/dist/tools/suggest/actions/constraint-by-text.js.map +1 -1
  430. package/dist/tools/suggest/internal/constraint-queries.d.ts +4 -4
  431. package/dist/tools/suggest/internal/constraint-queries.js +14 -14
  432. package/dist/tools/suggest/internal/constraint-queries.js.map +1 -1
  433. package/dist/tools/suggest/internal/queries.d.ts +4 -4
  434. package/dist/tools/suggest/internal/queries.js +25 -25
  435. package/dist/tools/suggest/internal/queries.js.map +1 -1
  436. package/dist/tools/use_case/actions/get.d.ts +5 -3
  437. package/dist/tools/use_case/actions/get.d.ts.map +1 -1
  438. package/dist/tools/use_case/actions/get.js +20 -6
  439. package/dist/tools/use_case/actions/get.js.map +1 -1
  440. package/dist/tools/use_case/actions/list-all.d.ts +5 -3
  441. package/dist/tools/use_case/actions/list-all.d.ts.map +1 -1
  442. package/dist/tools/use_case/actions/list-all.js +36 -6
  443. package/dist/tools/use_case/actions/list-all.js.map +1 -1
  444. package/dist/tools/use_case/actions/search.d.ts +6 -3
  445. package/dist/tools/use_case/actions/search.d.ts.map +1 -1
  446. package/dist/tools/use_case/actions/search.js +37 -67
  447. package/dist/tools/use_case/actions/search.js.map +1 -1
  448. package/dist/tools/use_case/help/example.js +17 -17
  449. package/dist/tools/use_case/help/example.js.map +1 -1
  450. package/dist/types.d.ts +81 -380
  451. package/dist/types.d.ts.map +1 -1
  452. package/dist/types.js +0 -10
  453. package/dist/types.js.map +1 -1
  454. package/dist/utils/action-specs/constraint-specs.js +6 -6
  455. package/dist/utils/action-specs/constraint-specs.js.map +1 -1
  456. package/dist/utils/action-specs/index.d.ts +0 -2
  457. package/dist/utils/action-specs/index.d.ts.map +1 -1
  458. package/dist/utils/action-specs/index.js +0 -6
  459. package/dist/utils/action-specs/index.js.map +1 -1
  460. package/dist/utils/batch-validation.d.ts +1 -1
  461. package/dist/utils/batch-validation.js +3 -3
  462. package/dist/utils/batch-validation.js.map +1 -1
  463. package/dist/utils/case-insensitive-validator.d.ts +2 -2
  464. package/dist/utils/case-insensitive-validator.js +2 -2
  465. package/dist/utils/connection-hash.d.ts +37 -0
  466. package/dist/utils/connection-hash.d.ts.map +1 -0
  467. package/dist/utils/connection-hash.js +55 -0
  468. package/dist/utils/connection-hash.js.map +1 -0
  469. package/dist/utils/db-aggregations.js +16 -16
  470. package/dist/utils/db-aggregations.js.map +1 -1
  471. package/dist/utils/enum-converter.d.ts +0 -21
  472. package/dist/utils/enum-converter.d.ts.map +1 -1
  473. package/dist/utils/enum-converter.js +1 -23
  474. package/dist/utils/enum-converter.js.map +1 -1
  475. package/dist/utils/environment-detector.d.ts +30 -0
  476. package/dist/utils/environment-detector.d.ts.map +1 -0
  477. package/dist/utils/environment-detector.js +86 -0
  478. package/dist/utils/environment-detector.js.map +1 -0
  479. package/dist/utils/example-filter.d.ts +34 -0
  480. package/dist/utils/example-filter.d.ts.map +1 -0
  481. package/dist/utils/example-filter.js +45 -0
  482. package/dist/utils/example-filter.js.map +1 -0
  483. package/dist/utils/exporter/export.d.ts +2 -16
  484. package/dist/utils/exporter/export.d.ts.map +1 -1
  485. package/dist/utils/exporter/export.js +49 -130
  486. package/dist/utils/exporter/export.js.map +1 -1
  487. package/dist/utils/hook-queue.d.ts +60 -0
  488. package/dist/utils/hook-queue.d.ts.map +1 -1
  489. package/dist/utils/hook-queue.js +114 -11
  490. package/dist/utils/hook-queue.js.map +1 -1
  491. package/dist/utils/importer/import.d.ts.map +1 -1
  492. package/dist/utils/importer/import.js +33 -188
  493. package/dist/utils/importer/import.js.map +1 -1
  494. package/dist/utils/importer/master-tables.d.ts +2 -1
  495. package/dist/utils/importer/master-tables.d.ts.map +1 -1
  496. package/dist/utils/importer/master-tables.js +35 -81
  497. package/dist/utils/importer/master-tables.js.map +1 -1
  498. package/dist/utils/param-normalizer.d.ts +0 -1
  499. package/dist/utils/param-normalizer.d.ts.map +1 -1
  500. package/dist/utils/param-normalizer.js +1 -3
  501. package/dist/utils/param-normalizer.js.map +1 -1
  502. package/dist/utils/path-utils.d.ts +46 -0
  503. package/dist/utils/path-utils.d.ts.map +1 -0
  504. package/dist/utils/path-utils.js +74 -0
  505. package/dist/utils/path-utils.js.map +1 -0
  506. package/dist/utils/policy-validator.js +1 -1
  507. package/dist/utils/policy-validator.js.map +1 -1
  508. package/dist/utils/project-context.d.ts +23 -0
  509. package/dist/utils/project-context.d.ts.map +1 -1
  510. package/dist/utils/project-context.js +45 -3
  511. package/dist/utils/project-context.js.map +1 -1
  512. package/dist/utils/project-root.d.ts +2 -2
  513. package/dist/utils/project-root.js +2 -2
  514. package/dist/utils/sql-dump/core/index-export.js +7 -7
  515. package/dist/utils/sql-dump/schema/indexes.js +24 -24
  516. package/dist/utils/sql-dump/schema/tables.js +44 -44
  517. package/dist/utils/suggest-helpers.d.ts +82 -0
  518. package/dist/utils/suggest-helpers.d.ts.map +1 -0
  519. package/dist/utils/suggest-helpers.js +93 -0
  520. package/dist/utils/suggest-helpers.js.map +1 -0
  521. package/dist/utils/token-logging.js +6 -6
  522. package/dist/utils/token-logging.js.map +1 -1
  523. package/dist/utils/validators.js +1 -1
  524. package/dist/utils/validators.js.map +1 -1
  525. package/dist/utils/view-queries.d.ts +0 -8
  526. package/dist/utils/view-queries.d.ts.map +1 -1
  527. package/dist/utils/view-queries.js +29 -84
  528. package/dist/utils/view-queries.js.map +1 -1
  529. package/dist/watcher/index.d.ts +1 -4
  530. package/dist/watcher/index.d.ts.map +1 -1
  531. package/dist/watcher/index.js +1 -3
  532. package/dist/watcher/index.js.map +1 -1
  533. package/dist/watcher/queue-watcher.d.ts +10 -3
  534. package/dist/watcher/queue-watcher.d.ts.map +1 -1
  535. package/dist/watcher/queue-watcher.js +24 -21
  536. package/dist/watcher/queue-watcher.js.map +1 -1
  537. package/docs/CONFIGURATION.md +14 -14
  538. package/docs/DATABASE_AUTH.md +1 -1
  539. package/docs/HOOKS_GUIDE.md +30 -50
  540. package/docs/HOW_TO_UNINSTALL.md +199 -0
  541. package/docs/MIGRATION_CLEANUP_GUIDE.md +212 -0
  542. package/docs/MIGRATION_TO_SAAS.md +176 -0
  543. package/docs/SLASH_COMMANDS.md +1 -1
  544. package/docs/cli/DATABASE_MIGRATION.md +13 -13
  545. package/docs/cli/DATA_EXPORT_IMPORT.md +71 -69
  546. package/package.json +10 -8
  547. package/saas-connector/LICENSE +190 -0
  548. package/saas-connector/README.md +122 -0
  549. package/saas-connector/dist/auth/auth-manager.d.ts +6 -0
  550. package/saas-connector/dist/auth/auth-manager.d.ts.map +1 -0
  551. package/saas-connector/dist/auth/auth-manager.js +39 -0
  552. package/saas-connector/dist/auth/auth-manager.js.map +7 -0
  553. package/saas-connector/dist/backend/saas-backend.d.ts +20 -0
  554. package/saas-connector/dist/backend/saas-backend.d.ts.map +1 -0
  555. package/saas-connector/dist/backend/saas-backend.js +104 -0
  556. package/saas-connector/dist/backend/saas-backend.js.map +7 -0
  557. package/saas-connector/dist/client/http-client.d.ts +33 -0
  558. package/saas-connector/dist/client/http-client.d.ts.map +1 -0
  559. package/saas-connector/dist/client/http-client.js +226 -0
  560. package/saas-connector/dist/client/http-client.js.map +7 -0
  561. package/saas-connector/dist/client/types.d.ts +62 -0
  562. package/saas-connector/dist/client/types.d.ts.map +1 -0
  563. package/saas-connector/dist/client/types.js +17 -0
  564. package/saas-connector/dist/client/types.js.map +7 -0
  565. package/saas-connector/dist/config/constants.d.ts +14 -0
  566. package/saas-connector/dist/config/constants.d.ts.map +1 -0
  567. package/saas-connector/dist/config/constants.js +68 -0
  568. package/saas-connector/dist/config/constants.js.map +7 -0
  569. package/saas-connector/dist/errors/api-error.d.ts +26 -0
  570. package/saas-connector/dist/errors/api-error.d.ts.map +1 -0
  571. package/saas-connector/dist/errors/api-error.js +62 -0
  572. package/saas-connector/dist/errors/api-error.js.map +7 -0
  573. package/saas-connector/dist/index.d.ts +18 -0
  574. package/saas-connector/dist/index.d.ts.map +1 -0
  575. package/saas-connector/dist/index.js +51 -0
  576. package/saas-connector/dist/index.js.map +7 -0
  577. package/saas-connector/package-lock.json +518 -0
  578. package/saas-connector/package.json +34 -0
  579. package/scripts/copy-help-data.js +19 -0
  580. package/assets/config.example.toml +0 -282
  581. package/assets/kanban-style.png +0 -0
  582. package/assets/kanban-visualizer.png +0 -0
  583. package/assets/sample-agents/README.md +0 -36
  584. package/assets/sample-agents/sqlew-architect.md +0 -321
  585. package/assets/sample-agents/sqlew-researcher.md +0 -292
  586. package/assets/sample-agents/sqlew-scrum-master.md +0 -286
  587. package/assets/sample-commands/README.md +0 -56
  588. package/assets/sample-commands/sqlew.md +0 -144
  589. package/assets/sample-skills/sqlew-decision-format/SKILL.md +0 -73
  590. package/assets/sample-skills/sqlew-plan-guidance/SKILL.md +0 -62
  591. package/assets/schema.sql +0 -564
  592. package/dist/cli/hooks/init-hooks.d.ts +0 -35
  593. package/dist/cli/hooks/init-hooks.d.ts.map +0 -1
  594. package/dist/cli/hooks/init-hooks.js +0 -517
  595. package/dist/cli/hooks/init-hooks.js.map +0 -1
  596. package/dist/cli/hooks/plan-toml-parser.d.ts.map +0 -1
  597. package/dist/cli/hooks/plan-toml-parser.js.map +0 -1
  598. package/dist/init-agents.d.ts +0 -7
  599. package/dist/init-agents.d.ts.map +0 -1
  600. package/dist/init-agents.js +0 -206
  601. package/dist/init-agents.js.map +0 -1
  602. package/dist/init-commands.d.ts +0 -10
  603. package/dist/init-commands.d.ts.map +0 -1
  604. package/dist/init-commands.js +0 -46
  605. package/dist/init-commands.js.map +0 -1
  606. package/dist/init-skills.d.ts +0 -25
  607. package/dist/init-skills.d.ts.map +0 -1
  608. package/dist/init-skills.js +0 -160
  609. package/dist/init-skills.js.map +0 -1
  610. package/dist/sync-agents.d.ts +0 -13
  611. package/dist/sync-agents.d.ts.map +0 -1
  612. package/dist/sync-agents.js +0 -157
  613. package/dist/sync-agents.js.map +0 -1
  614. package/dist/sync-commands.d.ts +0 -13
  615. package/dist/sync-commands.d.ts.map +0 -1
  616. package/dist/sync-commands.js +0 -150
  617. package/dist/sync-commands.js.map +0 -1
  618. package/dist/sync-gitignore.d.ts +0 -13
  619. package/dist/sync-gitignore.d.ts.map +0 -1
  620. package/dist/sync-gitignore.js +0 -60
  621. package/dist/sync-gitignore.js.map +0 -1
  622. package/dist/tests/docker/native/task-operations.test.d.ts +0 -16
  623. package/dist/tests/docker/native/task-operations.test.d.ts.map +0 -1
  624. package/dist/tests/docker/native/task-operations.test.js +0 -800
  625. package/dist/tests/docker/native/task-operations.test.js.map +0 -1
  626. package/dist/tests/feature/decision/batch-validation-integration.test.d.ts +0 -6
  627. package/dist/tests/feature/decision/batch-validation-integration.test.d.ts.map +0 -1
  628. package/dist/tests/feature/decision/batch-validation-integration.test.js +0 -193
  629. package/dist/tests/feature/decision/batch-validation-integration.test.js.map +0 -1
  630. package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts +0 -6
  631. package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts.map +0 -1
  632. package/dist/tests/feature/task/auto-pruning-decision-link.test.js +0 -281
  633. package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +0 -1
  634. package/dist/tests/feature/task/auto-pruning-partial.test.d.ts +0 -6
  635. package/dist/tests/feature/task/auto-pruning-partial.test.d.ts.map +0 -1
  636. package/dist/tests/feature/task/auto-pruning-partial.test.js +0 -305
  637. package/dist/tests/feature/task/auto-pruning-partial.test.js.map +0 -1
  638. package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts +0 -6
  639. package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts.map +0 -1
  640. package/dist/tests/feature/task/auto-pruning-persistence.test.js +0 -267
  641. package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +0 -1
  642. package/dist/tests/feature/task/auto-pruning-safety.test.d.ts +0 -12
  643. package/dist/tests/feature/task/auto-pruning-safety.test.d.ts.map +0 -1
  644. package/dist/tests/feature/task/auto-pruning-safety.test.js +0 -224
  645. package/dist/tests/feature/task/auto-pruning-safety.test.js.map +0 -1
  646. package/dist/tests/feature/task/dependencies.test.d.ts +0 -7
  647. package/dist/tests/feature/task/dependencies.test.d.ts.map +0 -1
  648. package/dist/tests/feature/task/dependencies.test.js +0 -656
  649. package/dist/tests/feature/task/dependencies.test.js.map +0 -1
  650. package/dist/tests/feature/task/file-actions-integration.test.d.ts +0 -10
  651. package/dist/tests/feature/task/file-actions-integration.test.d.ts.map +0 -1
  652. package/dist/tests/feature/task/file-actions-integration.test.js +0 -162
  653. package/dist/tests/feature/task/file-actions-integration.test.js.map +0 -1
  654. package/dist/tests/feature/task/file-actions-validation.test.d.ts +0 -6
  655. package/dist/tests/feature/task/file-actions-validation.test.d.ts.map +0 -1
  656. package/dist/tests/feature/task/file-actions-validation.test.js +0 -228
  657. package/dist/tests/feature/task/file-actions-validation.test.js.map +0 -1
  658. package/dist/tests/feature/task/link-file-backward-compat.test.d.ts +0 -6
  659. package/dist/tests/feature/task/link-file-backward-compat.test.d.ts.map +0 -1
  660. package/dist/tests/feature/task/link-file-backward-compat.test.js +0 -280
  661. package/dist/tests/feature/task/link-file-backward-compat.test.js.map +0 -1
  662. package/dist/tests/feature/task/watch-files-action.test.d.ts +0 -8
  663. package/dist/tests/feature/task/watch-files-action.test.d.ts.map +0 -1
  664. package/dist/tests/feature/task/watch-files-action.test.js +0 -402
  665. package/dist/tests/feature/task/watch-files-action.test.js.map +0 -1
  666. package/dist/tests/feature/task/watch-files-parameter.test.d.ts +0 -8
  667. package/dist/tests/feature/task/watch-files-parameter.test.d.ts.map +0 -1
  668. package/dist/tests/feature/task/watch-files-parameter.test.js +0 -283
  669. package/dist/tests/feature/task/watch-files-parameter.test.js.map +0 -1
  670. package/dist/tests/integration/all-features.standalone.d.ts +0 -7
  671. package/dist/tests/integration/all-features.standalone.d.ts.map +0 -1
  672. package/dist/tests/integration/all-features.standalone.js +0 -417
  673. package/dist/tests/integration/all-features.standalone.js.map +0 -1
  674. package/dist/tests/unit/config/plan-toml-cache.test.d.ts.map +0 -1
  675. package/dist/tests/unit/config/plan-toml-cache.test.js.map +0 -1
  676. package/dist/tests/unit/hooks/plan-toml-parser.test.d.ts.map +0 -1
  677. package/dist/tests/unit/hooks/plan-toml-parser.test.js.map +0 -1
  678. package/dist/tools/files/actions/check-lock.d.ts +0 -16
  679. package/dist/tools/files/actions/check-lock.d.ts.map +0 -1
  680. package/dist/tools/files/actions/check-lock.js +0 -74
  681. package/dist/tools/files/actions/check-lock.js.map +0 -1
  682. package/dist/tools/files/actions/get.d.ts +0 -16
  683. package/dist/tools/files/actions/get.d.ts.map +0 -1
  684. package/dist/tools/files/actions/get.js +0 -85
  685. package/dist/tools/files/actions/get.js.map +0 -1
  686. package/dist/tools/files/actions/record-batch.d.ts +0 -18
  687. package/dist/tools/files/actions/record-batch.d.ts.map +0 -1
  688. package/dist/tools/files/actions/record-batch.js +0 -119
  689. package/dist/tools/files/actions/record-batch.js.map +0 -1
  690. package/dist/tools/files/actions/record.d.ts +0 -16
  691. package/dist/tools/files/actions/record.d.ts.map +0 -1
  692. package/dist/tools/files/actions/record.js +0 -43
  693. package/dist/tools/files/actions/record.js.map +0 -1
  694. package/dist/tools/files/actions/sqlite-flush.d.ts +0 -27
  695. package/dist/tools/files/actions/sqlite-flush.d.ts.map +0 -1
  696. package/dist/tools/files/actions/sqlite-flush.js +0 -66
  697. package/dist/tools/files/actions/sqlite-flush.js.map +0 -1
  698. package/dist/tools/files/help/example.d.ts +0 -5
  699. package/dist/tools/files/help/example.d.ts.map +0 -1
  700. package/dist/tools/files/help/example.js +0 -98
  701. package/dist/tools/files/help/example.js.map +0 -1
  702. package/dist/tools/files/help/help.d.ts +0 -5
  703. package/dist/tools/files/help/help.d.ts.map +0 -1
  704. package/dist/tools/files/help/help.js +0 -24
  705. package/dist/tools/files/help/help.js.map +0 -1
  706. package/dist/tools/files/index.d.ts +0 -14
  707. package/dist/tools/files/index.d.ts.map +0 -1
  708. package/dist/tools/files/index.js +0 -15
  709. package/dist/tools/files/index.js.map +0 -1
  710. package/dist/tools/files/internal/queries.d.ts +0 -18
  711. package/dist/tools/files/internal/queries.d.ts.map +0 -1
  712. package/dist/tools/files/internal/queries.js +0 -54
  713. package/dist/tools/files/internal/queries.js.map +0 -1
  714. package/dist/tools/files/internal/validation.d.ts +0 -18
  715. package/dist/tools/files/internal/validation.d.ts.map +0 -1
  716. package/dist/tools/files/internal/validation.js +0 -39
  717. package/dist/tools/files/internal/validation.js.map +0 -1
  718. package/dist/tools/files/types.d.ts +0 -6
  719. package/dist/tools/files/types.d.ts.map +0 -1
  720. package/dist/tools/files/types.js +0 -6
  721. package/dist/tools/files/types.js.map +0 -1
  722. package/dist/tools/help-queries.d.ts +0 -130
  723. package/dist/tools/help-queries.d.ts.map +0 -1
  724. package/dist/tools/help-queries.js +0 -411
  725. package/dist/tools/help-queries.js.map +0 -1
  726. package/dist/tools/tasks/actions/add-dependency.d.ts +0 -12
  727. package/dist/tools/tasks/actions/add-dependency.d.ts.map +0 -1
  728. package/dist/tools/tasks/actions/add-dependency.js +0 -129
  729. package/dist/tools/tasks/actions/add-dependency.js.map +0 -1
  730. package/dist/tools/tasks/actions/archive.d.ts +0 -11
  731. package/dist/tools/tasks/actions/archive.d.ts.map +0 -1
  732. package/dist/tools/tasks/actions/archive.js +0 -58
  733. package/dist/tools/tasks/actions/archive.js.map +0 -1
  734. package/dist/tools/tasks/actions/create-batch.d.ts +0 -19
  735. package/dist/tools/tasks/actions/create-batch.d.ts.map +0 -1
  736. package/dist/tools/tasks/actions/create-batch.js +0 -103
  737. package/dist/tools/tasks/actions/create-batch.js.map +0 -1
  738. package/dist/tools/tasks/actions/create.d.ts +0 -16
  739. package/dist/tools/tasks/actions/create.d.ts.map +0 -1
  740. package/dist/tools/tasks/actions/create.js +0 -163
  741. package/dist/tools/tasks/actions/create.js.map +0 -1
  742. package/dist/tools/tasks/actions/get-dependencies.d.ts +0 -12
  743. package/dist/tools/tasks/actions/get-dependencies.d.ts.map +0 -1
  744. package/dist/tools/tasks/actions/get-dependencies.js +0 -41
  745. package/dist/tools/tasks/actions/get-dependencies.js.map +0 -1
  746. package/dist/tools/tasks/actions/get-pruned-files.d.ts +0 -13
  747. package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +0 -1
  748. package/dist/tools/tasks/actions/get-pruned-files.js +0 -45
  749. package/dist/tools/tasks/actions/get-pruned-files.js.map +0 -1
  750. package/dist/tools/tasks/actions/get.d.ts +0 -12
  751. package/dist/tools/tasks/actions/get.d.ts.map +0 -1
  752. package/dist/tools/tasks/actions/get.js +0 -84
  753. package/dist/tools/tasks/actions/get.js.map +0 -1
  754. package/dist/tools/tasks/actions/link-pruned-file.d.ts +0 -14
  755. package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +0 -1
  756. package/dist/tools/tasks/actions/link-pruned-file.js +0 -68
  757. package/dist/tools/tasks/actions/link-pruned-file.js.map +0 -1
  758. package/dist/tools/tasks/actions/link.d.ts +0 -14
  759. package/dist/tools/tasks/actions/link.d.ts.map +0 -1
  760. package/dist/tools/tasks/actions/link.js +0 -120
  761. package/dist/tools/tasks/actions/link.js.map +0 -1
  762. package/dist/tools/tasks/actions/list.d.ts +0 -17
  763. package/dist/tools/tasks/actions/list.d.ts.map +0 -1
  764. package/dist/tools/tasks/actions/list.js +0 -100
  765. package/dist/tools/tasks/actions/list.js.map +0 -1
  766. package/dist/tools/tasks/actions/move.d.ts +0 -13
  767. package/dist/tools/tasks/actions/move.d.ts.map +0 -1
  768. package/dist/tools/tasks/actions/move.js +0 -91
  769. package/dist/tools/tasks/actions/move.js.map +0 -1
  770. package/dist/tools/tasks/actions/remove-dependency.d.ts +0 -12
  771. package/dist/tools/tasks/actions/remove-dependency.d.ts.map +0 -1
  772. package/dist/tools/tasks/actions/remove-dependency.js +0 -36
  773. package/dist/tools/tasks/actions/remove-dependency.js.map +0 -1
  774. package/dist/tools/tasks/actions/update.d.ts +0 -10
  775. package/dist/tools/tasks/actions/update.d.ts.map +0 -1
  776. package/dist/tools/tasks/actions/update.js +0 -183
  777. package/dist/tools/tasks/actions/update.js.map +0 -1
  778. package/dist/tools/tasks/actions/watch-files.d.ts +0 -14
  779. package/dist/tools/tasks/actions/watch-files.d.ts.map +0 -1
  780. package/dist/tools/tasks/actions/watch-files.js +0 -127
  781. package/dist/tools/tasks/actions/watch-files.js.map +0 -1
  782. package/dist/tools/tasks/help/example.d.ts +0 -8
  783. package/dist/tools/tasks/help/example.d.ts.map +0 -1
  784. package/dist/tools/tasks/help/example.js +0 -225
  785. package/dist/tools/tasks/help/example.js.map +0 -1
  786. package/dist/tools/tasks/help/help.d.ts +0 -8
  787. package/dist/tools/tasks/help/help.d.ts.map +0 -1
  788. package/dist/tools/tasks/help/help.js +0 -307
  789. package/dist/tools/tasks/help/help.js.map +0 -1
  790. package/dist/tools/tasks/help/use-case.d.ts +0 -11
  791. package/dist/tools/tasks/help/use-case.d.ts.map +0 -1
  792. package/dist/tools/tasks/help/use-case.js +0 -767
  793. package/dist/tools/tasks/help/use-case.js.map +0 -1
  794. package/dist/tools/tasks/index.d.ts +0 -28
  795. package/dist/tools/tasks/index.d.ts.map +0 -1
  796. package/dist/tools/tasks/index.js +0 -33
  797. package/dist/tools/tasks/index.js.map +0 -1
  798. package/dist/tools/tasks/internal/state-machine.d.ts +0 -16
  799. package/dist/tools/tasks/internal/state-machine.d.ts.map +0 -1
  800. package/dist/tools/tasks/internal/state-machine.js +0 -36
  801. package/dist/tools/tasks/internal/state-machine.js.map +0 -1
  802. package/dist/tools/tasks/internal/task-queries.d.ts +0 -12
  803. package/dist/tools/tasks/internal/task-queries.d.ts.map +0 -1
  804. package/dist/tools/tasks/internal/task-queries.js +0 -53
  805. package/dist/tools/tasks/internal/task-queries.js.map +0 -1
  806. package/dist/tools/tasks/internal/validation.d.ts +0 -47
  807. package/dist/tools/tasks/internal/validation.d.ts.map +0 -1
  808. package/dist/tools/tasks/internal/validation.js +0 -261
  809. package/dist/tools/tasks/internal/validation.js.map +0 -1
  810. package/dist/tools/tasks/types.d.ts +0 -80
  811. package/dist/tools/tasks/types.d.ts.map +0 -1
  812. package/dist/tools/tasks/types.js +0 -68
  813. package/dist/tools/tasks/types.js.map +0 -1
  814. package/dist/tools/tasks/watcher/status.d.ts +0 -9
  815. package/dist/tools/tasks/watcher/status.d.ts.map +0 -1
  816. package/dist/tools/tasks/watcher/status.js +0 -130
  817. package/dist/tools/tasks/watcher/status.js.map +0 -1
  818. package/dist/tools/tasks.d.ts +0 -16
  819. package/dist/tools/tasks.d.ts.map +0 -1
  820. package/dist/tools/tasks.js +0 -17
  821. package/dist/tools/tasks.js.map +0 -1
  822. package/dist/utils/action-specs/file-specs.d.ts +0 -9
  823. package/dist/utils/action-specs/file-specs.d.ts.map +0 -1
  824. package/dist/utils/action-specs/file-specs.js +0 -54
  825. package/dist/utils/action-specs/file-specs.js.map +0 -1
  826. package/dist/utils/action-specs/task-specs.d.ts +0 -9
  827. package/dist/utils/action-specs/task-specs.d.ts.map +0 -1
  828. package/dist/utils/action-specs/task-specs.js +0 -143
  829. package/dist/utils/action-specs/task-specs.js.map +0 -1
  830. package/dist/utils/cleanup.d.ts +0 -69
  831. package/dist/utils/cleanup.d.ts.map +0 -1
  832. package/dist/utils/cleanup.js +0 -102
  833. package/dist/utils/cleanup.js.map +0 -1
  834. package/dist/utils/file-pruning.d.ts +0 -93
  835. package/dist/utils/file-pruning.d.ts.map +0 -1
  836. package/dist/utils/file-pruning.js +0 -194
  837. package/dist/utils/file-pruning.js.map +0 -1
  838. package/dist/utils/importer/topological-sort.d.ts +0 -61
  839. package/dist/utils/importer/topological-sort.d.ts.map +0 -1
  840. package/dist/utils/importer/topological-sort.js +0 -143
  841. package/dist/utils/importer/topological-sort.js.map +0 -1
  842. package/dist/utils/retention.d.ts +0 -65
  843. package/dist/utils/retention.d.ts.map +0 -1
  844. package/dist/utils/retention.js +0 -156
  845. package/dist/utils/retention.js.map +0 -1
  846. package/dist/utils/task-stale-detection.d.ts +0 -98
  847. package/dist/utils/task-stale-detection.d.ts.map +0 -1
  848. package/dist/utils/task-stale-detection.js +0 -479
  849. package/dist/utils/task-stale-detection.js.map +0 -1
  850. package/dist/watcher/file-watcher.d.ts +0 -131
  851. package/dist/watcher/file-watcher.d.ts.map +0 -1
  852. package/dist/watcher/file-watcher.js +0 -730
  853. package/dist/watcher/file-watcher.js.map +0 -1
  854. package/dist/watcher/test-executor.d.ts +0 -23
  855. package/dist/watcher/test-executor.d.ts.map +0 -1
  856. package/dist/watcher/test-executor.js +0 -226
  857. package/dist/watcher/test-executor.js.map +0 -1
  858. package/docs/TASK_SYSTEM_DEPRECATED.md +0 -88
@@ -1,85 +0,0 @@
1
- /**
2
- * Get file changes with advanced filtering
3
- * Uses JOIN queries instead of database views for cross-DB compatibility
4
- */
5
- import { getAdapter } from '../../../database.js';
6
- import { getProjectContext } from '../../../utils/project-context.js';
7
- import connectionManager from '../../../utils/connection-manager.js';
8
- import { STRING_TO_CHANGE_TYPE, STANDARD_LAYERS, DEFAULT_QUERY_LIMIT } from '../../../constants.js';
9
- import { validateChangeType } from '../../../utils/validators.js';
10
- import { validateActionParams } from '../internal/validation.js';
11
- import { UniversalKnex } from '../../../utils/universal-knex.js';
12
- import { normalizeParams } from '../../../utils/param-normalizer.js';
13
- import { convertChangeTypeArray } from '../../../utils/enum-converter.js';
14
- /**
15
- * Get file changes with advanced filtering.
16
- * Uses JOIN queries for cross-database compatibility (no views).
17
- *
18
- * @param params - Filter parameters
19
- * @param adapter - Optional database adapter (for testing)
20
- * @returns Array of file changes with metadata
21
- */
22
- export async function getFileChanges(params = {}, adapter) {
23
- const actualAdapter = adapter ?? getAdapter();
24
- // Normalize aliases: path → file_path
25
- const normalizedParams = normalizeParams(params, {
26
- path: 'file_path'
27
- });
28
- try {
29
- // Fail-fast: Validate project context is initialized (Constraint #29)
30
- const projectId = getProjectContext().getProjectId();
31
- // Validate parameters
32
- validateActionParams('file', 'get', normalizedParams);
33
- // Execute with connection retry
34
- return await connectionManager.executeWithRetry(async () => {
35
- const knex = actualAdapter.getKnex();
36
- const db = new UniversalKnex(knex);
37
- const limit = normalizedParams.limit || DEFAULT_QUERY_LIMIT;
38
- // Build query using JOINs (no views - cross-DB compatible)
39
- // Note: Agent tracking removed in v4.0 - changed_by field removed
40
- let query = knex('v4_file_changes as fc')
41
- .join('v4_files as f', 'fc.file_id', 'f.id')
42
- .leftJoin('v4_layers as l', 'fc.layer_id', 'l.id')
43
- .where('fc.project_id', projectId);
44
- // Apply filter conditions
45
- if (normalizedParams.file_path) {
46
- query = query.where('f.path', normalizedParams.file_path);
47
- }
48
- // Note: agent_name filter removed in v4.0 (agent tracking removed)
49
- if (normalizedParams.layer) {
50
- // Validate layer
51
- if (!STANDARD_LAYERS.includes(normalizedParams.layer)) {
52
- throw new Error(`Invalid layer: ${normalizedParams.layer}. Must be one of: ${STANDARD_LAYERS.join(', ')}`);
53
- }
54
- query = query.where('l.name', normalizedParams.layer);
55
- }
56
- if (normalizedParams.change_type) {
57
- validateChangeType(normalizedParams.change_type);
58
- const changeTypeInt = STRING_TO_CHANGE_TYPE[normalizedParams.change_type];
59
- query = query.where('fc.change_type', changeTypeInt);
60
- }
61
- if (normalizedParams.since) {
62
- // Convert ISO 8601 to Unix epoch
63
- const sinceEpoch = Math.floor(new Date(normalizedParams.since).getTime() / 1000);
64
- query = query.where('fc.ts', '>=', sinceEpoch);
65
- }
66
- // Select columns with proper date formatting
67
- query = query.select('f.path', 'l.name as layer', 'fc.change_type', 'fc.description', knex.raw(`${db.dateFunction('fc.ts')} as changed_at`));
68
- // Order and limit
69
- query = query
70
- .orderBy('fc.ts', 'desc')
71
- .limit(limit);
72
- const rawRows = await query;
73
- const rows = convertChangeTypeArray(rawRows);
74
- return {
75
- changes: rows,
76
- count: rows.length,
77
- };
78
- });
79
- }
80
- catch (error) {
81
- const message = error instanceof Error ? error.message : String(error);
82
- throw new Error(`Failed to get file changes: ${message}`);
83
- }
84
- }
85
- //# sourceMappingURL=get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/tools/files/actions/get.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Record multiple file changes in a single batch operation (FR-005)
3
- * Supports atomic (all succeed or all fail) and non-atomic modes
4
- * Limit: 50 items per batch (constraint #3)
5
- */
6
- import { DatabaseAdapter } from '../../../adapters/index.js';
7
- import type { RecordFileChangeBatchParams, RecordFileChangeBatchResponse } from '../types.js';
8
- /**
9
- * Record multiple file changes in a single batch operation (FR-005)
10
- * Supports atomic (all succeed or all fail) and non-atomic modes
11
- * Limit: 50 items per batch (constraint #3)
12
- *
13
- * @param params - Batch parameters with array of file changes and atomic flag
14
- * @param adapter - Optional database adapter (for testing)
15
- * @returns Response with success status and detailed results for each item
16
- */
17
- export declare function recordFileChangeBatch(params: RecordFileChangeBatchParams, adapter?: DatabaseAdapter): Promise<RecordFileChangeBatchResponse>;
18
- //# sourceMappingURL=record-batch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record-batch.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/actions/record-batch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D,OAAO,KAAK,EACV,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,2BAA2B,EACnC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,6BAA6B,CAAC,CA+GxC"}
@@ -1,119 +0,0 @@
1
- /**
2
- * Record multiple file changes in a single batch operation (FR-005)
3
- * Supports atomic (all succeed or all fail) and non-atomic modes
4
- * Limit: 50 items per batch (constraint #3)
5
- */
6
- import { getAdapter } from '../../../database.js';
7
- import { validateBatchParams, validateFileChangeItem } from '../internal/validation.js';
8
- import { recordFileChangeInternal } from '../internal/queries.js';
9
- import { getProjectContext } from '../../../utils/project-context.js';
10
- import { validateBatch, formatBatchValidationError } from '../../../utils/batch-validation.js';
11
- import { normalizeParams } from '../../../utils/param-normalizer.js';
12
- /**
13
- * Record multiple file changes in a single batch operation (FR-005)
14
- * Supports atomic (all succeed or all fail) and non-atomic modes
15
- * Limit: 50 items per batch (constraint #3)
16
- *
17
- * @param params - Batch parameters with array of file changes and atomic flag
18
- * @param adapter - Optional database adapter (for testing)
19
- * @returns Response with success status and detailed results for each item
20
- */
21
- export async function recordFileChangeBatch(params, adapter) {
22
- const actualAdapter = adapter ?? getAdapter();
23
- // Normalize aliases: changes → file_changes
24
- const normalizedParams = normalizeParams(params, {
25
- changes: 'file_changes'
26
- });
27
- // Validate batch parameters
28
- validateBatchParams('file', 'file_changes', normalizedParams.file_changes, 'record', 50);
29
- if (normalizedParams.file_changes.length === 0) {
30
- return {
31
- success: true,
32
- inserted: 0,
33
- failed: 0,
34
- results: []
35
- };
36
- }
37
- // Pre-validate all items before transaction
38
- const validationResult = await validateBatch(normalizedParams.file_changes, validateFileChangeItem, actualAdapter);
39
- if (!validationResult.valid) {
40
- throw new Error(formatBatchValidationError(validationResult));
41
- }
42
- // Fail-fast: Validate project context is initialized (Constraint #29)
43
- const projectId = getProjectContext().getProjectId();
44
- const atomic = normalizedParams.atomic !== undefined ? normalizedParams.atomic : true;
45
- try {
46
- if (atomic) {
47
- // Atomic mode: All or nothing
48
- const results = await actualAdapter.transaction(async (trx) => {
49
- const processedResults = [];
50
- for (const fileChange of normalizedParams.file_changes) {
51
- try {
52
- const result = await recordFileChangeInternal(fileChange, actualAdapter, projectId, trx);
53
- processedResults.push({
54
- file_path: fileChange.file_path,
55
- change_id: result.change_id,
56
- timestamp: result.timestamp,
57
- success: true,
58
- error: undefined
59
- });
60
- }
61
- catch (error) {
62
- const message = error instanceof Error ? error.message : String(error);
63
- throw new Error(`Batch failed at file "${fileChange.file_path}": ${message}`);
64
- }
65
- }
66
- return processedResults;
67
- });
68
- return {
69
- success: true,
70
- inserted: results.length,
71
- failed: 0,
72
- results: results
73
- };
74
- }
75
- else {
76
- // Non-atomic mode: Process each independently
77
- const results = [];
78
- let inserted = 0;
79
- let failed = 0;
80
- for (const fileChange of normalizedParams.file_changes) {
81
- try {
82
- const result = await actualAdapter.transaction(async (trx) => {
83
- return await recordFileChangeInternal(fileChange, actualAdapter, projectId, trx);
84
- });
85
- results.push({
86
- file_path: fileChange.file_path,
87
- change_id: result.change_id,
88
- timestamp: result.timestamp,
89
- success: true,
90
- error: undefined
91
- });
92
- inserted++;
93
- }
94
- catch (error) {
95
- const message = error instanceof Error ? error.message : String(error);
96
- results.push({
97
- file_path: fileChange.file_path,
98
- change_id: undefined,
99
- timestamp: undefined,
100
- success: false,
101
- error: message
102
- });
103
- failed++;
104
- }
105
- }
106
- return {
107
- success: failed === 0,
108
- inserted: inserted,
109
- failed: failed,
110
- results: results
111
- };
112
- }
113
- }
114
- catch (error) {
115
- const message = error instanceof Error ? error.message : String(error);
116
- throw new Error(`Failed to execute batch operation: ${message}`);
117
- }
118
- }
119
- //# sourceMappingURL=record-batch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record-batch.js","sourceRoot":"","sources":["../../../../src/tools/files/actions/record-batch.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Record a file change with optional layer assignment and description
3
- * Auto-registers the file and agent if they don't exist
4
- */
5
- import { DatabaseAdapter } from '../../../adapters/index.js';
6
- import type { RecordFileChangeParams, RecordFileChangeResponse } from '../types.js';
7
- /**
8
- * Record a file change with optional layer assignment and description.
9
- * Auto-registers the file and agent if they don't exist.
10
- *
11
- * @param params - File change parameters
12
- * @param adapter - Optional database adapter (for testing)
13
- * @returns Success response with change ID and timestamp
14
- */
15
- export declare function recordFileChange(params: RecordFileChangeParams, adapter?: DatabaseAdapter): Promise<RecordFileChangeResponse>;
16
- //# sourceMappingURL=record.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/actions/record.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEpF;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,wBAAwB,CAAC,CA0BnC"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Record a file change with optional layer assignment and description
3
- * Auto-registers the file and agent if they don't exist
4
- */
5
- import { getAdapter } from '../../../database.js';
6
- import { getProjectContext } from '../../../utils/project-context.js';
7
- import connectionManager from '../../../utils/connection-manager.js';
8
- import { validateActionParams } from '../internal/validation.js';
9
- import { normalizeParams } from '../../../utils/param-normalizer.js';
10
- import { recordFileChangeInternal } from '../internal/queries.js';
11
- /**
12
- * Record a file change with optional layer assignment and description.
13
- * Auto-registers the file and agent if they don't exist.
14
- *
15
- * @param params - File change parameters
16
- * @param adapter - Optional database adapter (for testing)
17
- * @returns Success response with change ID and timestamp
18
- */
19
- export async function recordFileChange(params, adapter) {
20
- const actualAdapter = adapter ?? getAdapter();
21
- // Normalize aliases: path → file_path, type → change_type
22
- const normalizedParams = normalizeParams(params, {
23
- path: 'file_path',
24
- type: 'change_type'
25
- });
26
- try {
27
- // Validate parameters
28
- validateActionParams('file', 'record', normalizedParams);
29
- // Fail-fast: Validate project context is initialized (Constraint #29)
30
- const projectId = getProjectContext().getProjectId();
31
- // Use transaction for atomicity with connection retry
32
- return await connectionManager.executeWithRetry(async () => {
33
- return await actualAdapter.transaction(async (trx) => {
34
- return await recordFileChangeInternal(normalizedParams, actualAdapter, projectId, trx);
35
- });
36
- });
37
- }
38
- catch (error) {
39
- const message = error instanceof Error ? error.message : String(error);
40
- throw new Error(`Failed to record file change: ${message}`);
41
- }
42
- }
43
- //# sourceMappingURL=record.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/tools/files/actions/record.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA8B,EAC9B,OAAyB;IAEzB,MAAM,aAAa,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IAE9C,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,EAAE;QAC/C,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,aAAa;KACpB,CAA2B,CAAC;IAE7B,IAAI,CAAC;QACH,sBAAsB;QACtB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEzD,sEAAsE;QACtE,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;QAErD,sDAAsD;QACtD,OAAO,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACzD,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACnD,OAAO,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Forces SQLite WAL (Write-Ahead Log) checkpoint to flush pending transactions
3
- * to the main database file. Essential for Git workflow to ensure .db file is
4
- * up-to-date before committing to version control.
5
- *
6
- * SQLite WAL Mode:
7
- * - Writes go to .db-wal file, not main .db file
8
- * - Without flush, .db file is stale, .db-wal has latest data
9
- * - Git commits should include up-to-date .db file for clean diffs
10
- *
11
- * Checkpoint Modes:
12
- * - TRUNCATE: Most aggressive, blocks until complete, ensures ALL data flushed
13
- * - This is the correct mode for Git workflow
14
- *
15
- * @returns FlushWALResponse with pages flushed count
16
- */
17
- import { DatabaseAdapter } from '../../../adapters/index.js';
18
- import type { FlushWALResponse } from '../../../types.js';
19
- /**
20
- * Forces SQLite WAL checkpoint to flush pending transactions to main database file
21
- * SQLite-specific operation - returns error for MySQL/PostgreSQL
22
- *
23
- * @param adapter - Optional database adapter (for testing)
24
- * @returns Checkpoint result with pages flushed
25
- */
26
- export declare function sqliteFlush(adapter?: DatabaseAdapter): Promise<FlushWALResponse>;
27
- //# sourceMappingURL=sqlite-flush.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-flush.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/actions/sqlite-flush.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA0C3B"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Forces SQLite WAL (Write-Ahead Log) checkpoint to flush pending transactions
3
- * to the main database file. Essential for Git workflow to ensure .db file is
4
- * up-to-date before committing to version control.
5
- *
6
- * SQLite WAL Mode:
7
- * - Writes go to .db-wal file, not main .db file
8
- * - Without flush, .db file is stale, .db-wal has latest data
9
- * - Git commits should include up-to-date .db file for clean diffs
10
- *
11
- * Checkpoint Modes:
12
- * - TRUNCATE: Most aggressive, blocks until complete, ensures ALL data flushed
13
- * - This is the correct mode for Git workflow
14
- *
15
- * @returns FlushWALResponse with pages flushed count
16
- */
17
- import { getAdapter } from '../../../database.js';
18
- import connectionManager from '../../../utils/connection-manager.js';
19
- import { validateActionParams } from '../../../utils/parameter-validator.js';
20
- /**
21
- * Forces SQLite WAL checkpoint to flush pending transactions to main database file
22
- * SQLite-specific operation - returns error for MySQL/PostgreSQL
23
- *
24
- * @param adapter - Optional database adapter (for testing)
25
- * @returns Checkpoint result with pages flushed
26
- */
27
- export async function sqliteFlush(adapter) {
28
- const actualAdapter = adapter ?? getAdapter();
29
- const knex = actualAdapter.getKnex();
30
- try {
31
- // Validate parameters
32
- validateActionParams('file', 'sqlite_flush', {});
33
- // Check if using SQLite (WAL mode is SQLite-specific)
34
- const client = knex.client.config.client;
35
- if (!['better-sqlite3', 'sqlite3'].includes(client)) {
36
- return {
37
- success: false,
38
- mode: 'TRUNCATE',
39
- pages_flushed: 0,
40
- message: `WAL checkpoint is SQLite-specific. Current database: ${client}`
41
- };
42
- }
43
- return await connectionManager.executeWithRetry(async () => {
44
- // Execute TRUNCATE checkpoint - most aggressive mode
45
- // Blocks until complete, ensures all WAL data written to main DB file
46
- // Returns array: [[busy, log, checkpointed]]
47
- // - busy: number of frames not checkpointed due to locks
48
- // - log: total number of frames in WAL file
49
- // - checkpointed: number of frames checkpointed
50
- const result = await knex.raw('PRAGMA wal_checkpoint(TRUNCATE)');
51
- // Parse result array format from Knex
52
- const pagesFlushed = result?.[0]?.[0]?.[2] || 0;
53
- return {
54
- success: true,
55
- mode: 'TRUNCATE',
56
- pages_flushed: pagesFlushed,
57
- message: `WAL checkpoint completed successfully. ${pagesFlushed} pages flushed to main database file.`
58
- };
59
- });
60
- }
61
- catch (error) {
62
- const message = error instanceof Error ? error.message : String(error);
63
- throw new Error(`Failed to flush WAL: ${message}`);
64
- }
65
- }
66
- //# sourceMappingURL=sqlite-flush.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-flush.js","sourceRoot":"","sources":["../../../../src/tools/files/actions/sqlite-flush.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAG7E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAyB;IAEzB,MAAM,aAAa,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,sBAAsB;QACtB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QAEjD,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,wDAAwD,MAAM,EAAE;aAC1E,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACzD,qDAAqD;YACrD,sEAAsE;YACtE,6CAA6C;YAC7C,yDAAyD;YACzD,4CAA4C;YAC5C,gDAAgD;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAQ,CAAC;YAExE,sCAAsC;YACtC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,YAAY;gBAC3B,OAAO,EAAE,0CAA0C,YAAY,uCAAuC;aACvG,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Example action for file tool
3
- */
4
- export declare function fileExample(): any;
5
- //# sourceMappingURL=example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/help/example.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,WAAW,IAAI,GAAG,CA6FjC"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Example action for file tool
3
- */
4
- export function fileExample() {
5
- return {
6
- tool: 'file',
7
- description: 'Comprehensive file tracking examples for multi-agent coordination',
8
- scenarios: {
9
- basic_tracking: {
10
- title: 'Basic File Change Tracking',
11
- examples: [
12
- {
13
- scenario: 'Record file modification',
14
- request: '{ action: "record", file_path: "src/api/users.ts", change_type: "modified", layer: "business", description: "Added email validation" }',
15
- explanation: 'Track changes with layer and description'
16
- },
17
- {
18
- scenario: 'Get recent changes by layer',
19
- request: '{ action: "get", layer: "business", limit: 10 }',
20
- explanation: 'View changes in a specific architecture layer'
21
- },
22
- {
23
- scenario: 'Track changes to specific file',
24
- request: '{ action: "get", file_path: "src/api/users.ts" }',
25
- explanation: 'See all modifications to a particular file'
26
- }
27
- ]
28
- },
29
- file_locking: {
30
- title: 'Concurrent Access Prevention',
31
- workflow: [
32
- {
33
- step: 1,
34
- action: 'Check if file is locked',
35
- request: '{ action: "check_lock", file_path: "src/database/schema.sql", lock_duration: 300 }',
36
- result: '{ locked: false } or { locked: true, locked_at: "timestamp" }'
37
- },
38
- {
39
- step: 2,
40
- action: 'If not locked, record change (creates lock)',
41
- request: '{ action: "record", file_path: "src/database/schema.sql", change_type: "modified" }'
42
- },
43
- {
44
- step: 3,
45
- action: 'Lock expires after 5 minutes (default) or specified duration'
46
- }
47
- ]
48
- },
49
- layer_organization: {
50
- title: 'Tracking by Architecture Layer',
51
- examples: [
52
- {
53
- scenario: 'Get all presentation layer changes',
54
- request: '{ action: "get", layer: "presentation", limit: 20 }',
55
- explanation: 'View frontend/UI changes'
56
- },
57
- {
58
- scenario: 'Track infrastructure changes',
59
- request: '{ action: "get", layer: "infrastructure", change_type: "modified" }',
60
- explanation: 'Monitor config and deployment file changes'
61
- }
62
- ]
63
- },
64
- batch_tracking: {
65
- title: 'Batch File Operations',
66
- examples: [
67
- {
68
- scenario: 'Record multiple file changes atomically',
69
- request: '{ action: "record_batch", file_changes: [{"file_path": "src/api.ts", "change_type": "modified", "layer": "presentation"}, {"file_path": "src/types.ts", "change_type": "modified", "layer": "data"}], atomic: true }',
70
- explanation: 'All changes recorded or none (transaction)'
71
- }
72
- ]
73
- }
74
- },
75
- best_practices: {
76
- change_tracking: [
77
- 'Always specify layer for better organization',
78
- 'Include description for non-obvious changes',
79
- 'Use check_lock before modifying shared files',
80
- 'Track both creation and deletion of files'
81
- ],
82
- lock_management: [
83
- 'Default lock duration is 300 seconds (5 minutes)',
84
- 'Locks prevent concurrent modifications',
85
- 'Locks auto-expire - no manual unlock needed',
86
- 'Use appropriate lock_duration for operation complexity'
87
- ],
88
- layer_assignment: [
89
- 'presentation: UI components, API controllers',
90
- 'business: Services, domain logic',
91
- 'data: Models, repositories, migrations',
92
- 'infrastructure: Config, deployment, CI/CD',
93
- 'cross-cutting: Utilities used across layers'
94
- ]
95
- }
96
- };
97
- }
98
- //# sourceMappingURL=example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/tools/files/help/example.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mEAAmE;QAChF,SAAS,EAAE;YACT,cAAc,EAAE;gBACd,KAAK,EAAE,4BAA4B;gBACnC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,0BAA0B;wBACpC,OAAO,EAAE,wIAAwI;wBACjJ,WAAW,EAAE,0CAA0C;qBACxD;oBACD;wBACE,QAAQ,EAAE,6BAA6B;wBACvC,OAAO,EAAE,iDAAiD;wBAC1D,WAAW,EAAE,+CAA+C;qBAC7D;oBACD;wBACE,QAAQ,EAAE,gCAAgC;wBAC1C,OAAO,EAAE,kDAAkD;wBAC3D,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;aACF;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,8BAA8B;gBACrC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,yBAAyB;wBACjC,OAAO,EAAE,oFAAoF;wBAC7F,MAAM,EAAE,+DAA+D;qBACxE;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,6CAA6C;wBACrD,OAAO,EAAE,qFAAqF;qBAC/F;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,8DAA8D;qBACvE;iBACF;aACF;YACD,kBAAkB,EAAE;gBAClB,KAAK,EAAE,gCAAgC;gBACvC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,oCAAoC;wBAC9C,OAAO,EAAE,qDAAqD;wBAC9D,WAAW,EAAE,0BAA0B;qBACxC;oBACD;wBACE,QAAQ,EAAE,8BAA8B;wBACxC,OAAO,EAAE,qEAAqE;wBAC9E,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;aACF;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,uBAAuB;gBAC9B,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,yCAAyC;wBACnD,OAAO,EAAE,sNAAsN;wBAC/N,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;aACF;SACF;QACD,cAAc,EAAE;YACd,eAAe,EAAE;gBACf,8CAA8C;gBAC9C,6CAA6C;gBAC7C,8CAA8C;gBAC9C,2CAA2C;aAC5C;YACD,eAAe,EAAE;gBACf,kDAAkD;gBAClD,wCAAwC;gBACxC,6CAA6C;gBAC7C,wDAAwD;aACzD;YACD,gBAAgB,EAAE;gBAChB,8CAA8C;gBAC9C,kCAAkC;gBAClC,wCAAwC;gBACxC,2CAA2C;gBAC3C,6CAA6C;aAC9C;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Help action for file tool
3
- */
4
- export declare function fileHelp(): any;
5
- //# sourceMappingURL=help.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/help/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,QAAQ,IAAI,GAAG,CAoB9B"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Help action for file tool
3
- */
4
- export function fileHelp() {
5
- return {
6
- tool: 'file',
7
- description: 'Track file changes across agents with layer classification',
8
- note: '💡 TIP: Use action: "example" to see comprehensive usage scenarios and real-world examples for all file tracking actions.',
9
- actions: {
10
- record: 'Record file change. Params: file_path (required), change_type (required), agent_name (optional, legacy), layer, description',
11
- get: 'Get file changes. Params: file_path, agent_name, layer, change_type, since, limit',
12
- check_lock: 'Check if file locked. Params: file_path (required), lock_duration',
13
- record_batch: 'Batch record file changes (FR-005). Params: file_changes (required, array of RecordFileChangeParams, max: 50), atomic (optional, boolean, default: true). Returns: {success, inserted, failed, results}. ATOMIC MODE (atomic: true): All file changes succeed or all fail as a single transaction. IF ANY record fails, entire batch is rolled back and error is thrown. NON-ATOMIC MODE (atomic: false): Each file change is processed independently. If some fail, others still succeed. Returns partial results with per-item success/error status. RECOMMENDATION FOR AI AGENTS: Use atomic:false by default for best-effort recording. Use atomic:true only when all-or-nothing guarantee is required. 52% token reduction vs individual calls.'
14
- },
15
- examples: {
16
- record: '{ action: "record", file_path: "src/index.ts", change_type: "modified", layer: "infrastructure" }',
17
- get: '{ action: "get", layer: "infrastructure", limit: 10 }',
18
- check_lock: '{ action: "check_lock", file_path: "src/index.ts", lock_duration: 300 }',
19
- record_batch: '{ action: "record_batch", file_changes: [{"file_path": "src/types.ts", "change_type": "modified", "layer": "data"}, {"file_path": "src/index.ts", "change_type": "modified", "layer": "infrastructure"}], atomic: true }'
20
- },
21
- documentation: {}
22
- };
23
- }
24
- //# sourceMappingURL=help.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../../src/tools/files/help/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,QAAQ;IACtB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,2HAA2H;QACjI,OAAO,EAAE;YACP,MAAM,EAAE,6HAA6H;YACrI,GAAG,EAAE,mFAAmF;YACxF,UAAU,EAAE,mEAAmE;YAC/E,YAAY,EAAE,stBAAstB;SACruB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,mGAAmG;YAC3G,GAAG,EAAE,uDAAuD;YAC5D,UAAU,EAAE,yEAAyE;YACrF,YAAY,EAAE,0NAA0N;SACzO;QACD,aAAa,EAAE,EACd;KACF,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * File tool - Barrel export
3
- *
4
- * Exports all file-related actions from modular structure
5
- */
6
- export { recordFileChange } from './actions/record.js';
7
- export { getFileChanges } from './actions/get.js';
8
- export { checkFileLock } from './actions/check-lock.js';
9
- export { recordFileChangeBatch } from './actions/record-batch.js';
10
- export { sqliteFlush } from './actions/sqlite-flush.js';
11
- export { fileHelp } from './help/help.js';
12
- export { fileExample } from './help/example.js';
13
- export type { RecordFileChangeParams, GetFileChangesParams, CheckFileLockParams, RecordFileChangeBatchParams, RecordFileChangeResponse, GetFileChangesResponse, CheckFileLockResponse, RecordFileChangeBatchResponse, RecentFileChange } from './types.js';
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/files/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * File tool - Barrel export
3
- *
4
- * Exports all file-related actions from modular structure
5
- */
6
- // Action exports
7
- export { recordFileChange } from './actions/record.js';
8
- export { getFileChanges } from './actions/get.js';
9
- export { checkFileLock } from './actions/check-lock.js';
10
- export { recordFileChangeBatch } from './actions/record-batch.js';
11
- export { sqliteFlush } from './actions/sqlite-flush.js';
12
- // Help exports
13
- export { fileHelp } from './help/help.js';
14
- export { fileExample } from './help/example.js';
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/files/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Shared database queries for file operations
3
- */
4
- import { DatabaseAdapter } from '../../../adapters/index.js';
5
- import { Knex } from 'knex';
6
- import type { RecordFileChangeParams, RecordFileChangeResponse } from '../types.js';
7
- /**
8
- * Internal helper: Record file change without transaction wrapper
9
- * Used by recordFileChange (with transaction) and recordFileChangeBatch (manages its own transaction)
10
- *
11
- * @param params - File change parameters
12
- * @param adapter - Database adapter instance
13
- * @param projectId - Project ID
14
- * @param trx - Optional transaction
15
- * @returns Success response with change ID and timestamp
16
- */
17
- export declare function recordFileChangeInternal(params: RecordFileChangeParams, adapter: DatabaseAdapter, projectId: number, trx?: Knex.Transaction): Promise<RecordFileChangeResponse>;
18
- //# sourceMappingURL=queries.d.ts.map