@dewtech/dare-cli 3.4.0 → 3.6.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 (294) hide show
  1. package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts +2 -0
  2. package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts.map +1 -0
  3. package/dist/__tests__/dag-runner/buildLocateContext.test.js +53 -0
  4. package/dist/__tests__/dag-runner/buildLocateContext.test.js.map +1 -0
  5. package/dist/__tests__/dual-graph.test.d.ts +2 -0
  6. package/dist/__tests__/dual-graph.test.d.ts.map +1 -0
  7. package/dist/__tests__/dual-graph.test.js +141 -0
  8. package/dist/__tests__/dual-graph.test.js.map +1 -0
  9. package/dist/__tests__/graphrag/contract/traverse.contract.d.ts +9 -0
  10. package/dist/__tests__/graphrag/contract/traverse.contract.d.ts.map +1 -0
  11. package/dist/__tests__/graphrag/contract/traverse.contract.js +58 -0
  12. package/dist/__tests__/graphrag/contract/traverse.contract.js.map +1 -0
  13. package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts +2 -0
  14. package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts.map +1 -0
  15. package/dist/__tests__/graphrag/contract/traverse.contract.test.js +100 -0
  16. package/dist/__tests__/graphrag/contract/traverse.contract.test.js.map +1 -0
  17. package/dist/__tests__/graphrag/factory.test.js +10 -1
  18. package/dist/__tests__/graphrag/factory.test.js.map +1 -1
  19. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts +11 -0
  20. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts.map +1 -0
  21. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js +34 -0
  22. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js.map +1 -0
  23. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts +2 -0
  24. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts.map +1 -0
  25. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js +46 -0
  26. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js.map +1 -0
  27. package/dist/__tests__/graphrag/graph-rag.test.js +31 -0
  28. package/dist/__tests__/graphrag/graph-rag.test.js.map +1 -1
  29. package/dist/__tests__/graphrag/json-graph.test.js +57 -0
  30. package/dist/__tests__/graphrag/json-graph.test.js.map +1 -1
  31. package/dist/__tests__/graphrag/neo4j-graph.test.d.ts +2 -0
  32. package/dist/__tests__/graphrag/neo4j-graph.test.d.ts.map +1 -0
  33. package/dist/__tests__/graphrag/neo4j-graph.test.js +104 -0
  34. package/dist/__tests__/graphrag/neo4j-graph.test.js.map +1 -0
  35. package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts +2 -0
  36. package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts.map +1 -0
  37. package/dist/__tests__/graphrag/neo4j-persistence.test.js +110 -0
  38. package/dist/__tests__/graphrag/neo4j-persistence.test.js.map +1 -0
  39. package/dist/__tests__/ide-adapters.test.d.ts +2 -0
  40. package/dist/__tests__/ide-adapters.test.d.ts.map +1 -0
  41. package/dist/__tests__/ide-adapters.test.js +39 -0
  42. package/dist/__tests__/ide-adapters.test.js.map +1 -0
  43. package/dist/__tests__/ide-command-parity.test.js +2 -0
  44. package/dist/__tests__/ide-command-parity.test.js.map +1 -1
  45. package/dist/bin/dare.js +4 -0
  46. package/dist/bin/dare.js.map +1 -1
  47. package/dist/commands/__tests__/execute.telemetry.spec.js +9 -0
  48. package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -1
  49. package/dist/commands/__tests__/graph-viz-layers.test.d.ts +2 -0
  50. package/dist/commands/__tests__/graph-viz-layers.test.d.ts.map +1 -0
  51. package/dist/commands/__tests__/graph-viz-layers.test.js +36 -0
  52. package/dist/commands/__tests__/graph-viz-layers.test.js.map +1 -0
  53. package/dist/commands/__tests__/hooks.test.d.ts +2 -0
  54. package/dist/commands/__tests__/hooks.test.d.ts.map +1 -0
  55. package/dist/commands/__tests__/hooks.test.js +109 -0
  56. package/dist/commands/__tests__/hooks.test.js.map +1 -0
  57. package/dist/commands/__tests__/impact.test.d.ts +2 -0
  58. package/dist/commands/__tests__/impact.test.d.ts.map +1 -0
  59. package/dist/commands/__tests__/impact.test.js +26 -0
  60. package/dist/commands/__tests__/impact.test.js.map +1 -0
  61. package/dist/commands/__tests__/locate.test.d.ts +2 -0
  62. package/dist/commands/__tests__/locate.test.d.ts.map +1 -0
  63. package/dist/commands/__tests__/locate.test.js +35 -0
  64. package/dist/commands/__tests__/locate.test.js.map +1 -0
  65. package/dist/commands/__tests__/owners.test.d.ts +2 -0
  66. package/dist/commands/__tests__/owners.test.d.ts.map +1 -0
  67. package/dist/commands/__tests__/owners.test.js +34 -0
  68. package/dist/commands/__tests__/owners.test.js.map +1 -0
  69. package/dist/commands/__tests__/steering.test.d.ts +2 -0
  70. package/dist/commands/__tests__/steering.test.d.ts.map +1 -0
  71. package/dist/commands/__tests__/steering.test.js +69 -0
  72. package/dist/commands/__tests__/steering.test.js.map +1 -0
  73. package/dist/commands/__tests__/trace.test.d.ts +2 -0
  74. package/dist/commands/__tests__/trace.test.d.ts.map +1 -0
  75. package/dist/commands/__tests__/trace.test.js +29 -0
  76. package/dist/commands/__tests__/trace.test.js.map +1 -0
  77. package/dist/commands/execute.d.ts.map +1 -1
  78. package/dist/commands/execute.js +11 -6
  79. package/dist/commands/execute.js.map +1 -1
  80. package/dist/commands/graph-queries.d.ts +48 -0
  81. package/dist/commands/graph-queries.d.ts.map +1 -0
  82. package/dist/commands/graph-queries.js +204 -0
  83. package/dist/commands/graph-queries.js.map +1 -0
  84. package/dist/commands/graph.d.ts +13 -0
  85. package/dist/commands/graph.d.ts.map +1 -1
  86. package/dist/commands/graph.js +212 -8
  87. package/dist/commands/graph.js.map +1 -1
  88. package/dist/commands/hooks.d.ts +3 -0
  89. package/dist/commands/hooks.d.ts.map +1 -0
  90. package/dist/commands/hooks.js +163 -0
  91. package/dist/commands/hooks.js.map +1 -0
  92. package/dist/commands/steering.d.ts +3 -0
  93. package/dist/commands/steering.d.ts.map +1 -0
  94. package/dist/commands/steering.js +70 -0
  95. package/dist/commands/steering.js.map +1 -0
  96. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts +3 -0
  97. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts.map +1 -0
  98. package/dist/dag-runner/__tests__/fixtures/src/math.js +7 -0
  99. package/dist/dag-runner/__tests__/fixtures/src/math.js.map +1 -0
  100. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts +2 -0
  101. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts.map +1 -0
  102. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js +81 -0
  103. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js.map +1 -0
  104. package/dist/dag-runner/graph-ingest.d.ts.map +1 -1
  105. package/dist/dag-runner/graph-ingest.js +46 -0
  106. package/dist/dag-runner/graph-ingest.js.map +1 -1
  107. package/dist/dag-runner/graph-locate.d.ts +11 -0
  108. package/dist/dag-runner/graph-locate.d.ts.map +1 -0
  109. package/dist/dag-runner/graph-locate.js +74 -0
  110. package/dist/dag-runner/graph-locate.js.map +1 -0
  111. package/dist/dag-runner/run_dag.d.ts +3 -1
  112. package/dist/dag-runner/run_dag.d.ts.map +1 -1
  113. package/dist/dag-runner/run_dag.js +2 -1
  114. package/dist/dag-runner/run_dag.js.map +1 -1
  115. package/dist/dag-runner/utils/stitch-context.d.ts +3 -1
  116. package/dist/dag-runner/utils/stitch-context.d.ts.map +1 -1
  117. package/dist/dag-runner/utils/stitch-context.js +8 -2
  118. package/dist/dag-runner/utils/stitch-context.js.map +1 -1
  119. package/dist/graphrag/__tests__/code-index.test.d.ts +2 -0
  120. package/dist/graphrag/__tests__/code-index.test.d.ts.map +1 -0
  121. package/dist/graphrag/__tests__/code-index.test.js +75 -0
  122. package/dist/graphrag/__tests__/code-index.test.js.map +1 -0
  123. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts +5 -0
  124. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts.map +1 -0
  125. package/dist/graphrag/__tests__/fixtures/code-index/sample.js +10 -0
  126. package/dist/graphrag/__tests__/fixtures/code-index/sample.js.map +1 -0
  127. package/dist/graphrag/__tests__/locate.test.d.ts +2 -0
  128. package/dist/graphrag/__tests__/locate.test.d.ts.map +1 -0
  129. package/dist/graphrag/__tests__/locate.test.js +43 -0
  130. package/dist/graphrag/__tests__/locate.test.js.map +1 -0
  131. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts +2 -0
  132. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts.map +1 -0
  133. package/dist/graphrag/__tests__/requirement-ingest.test.js +66 -0
  134. package/dist/graphrag/__tests__/requirement-ingest.test.js.map +1 -0
  135. package/dist/graphrag/__tests__/traverse.test.d.ts +2 -0
  136. package/dist/graphrag/__tests__/traverse.test.d.ts.map +1 -0
  137. package/dist/graphrag/__tests__/traverse.test.js +71 -0
  138. package/dist/graphrag/__tests__/traverse.test.js.map +1 -0
  139. package/dist/graphrag/__tests__/types.test.d.ts +2 -0
  140. package/dist/graphrag/__tests__/types.test.d.ts.map +1 -0
  141. package/dist/graphrag/__tests__/types.test.js +52 -0
  142. package/dist/graphrag/__tests__/types.test.js.map +1 -0
  143. package/dist/graphrag/code-index.d.ts +15 -0
  144. package/dist/graphrag/code-index.d.ts.map +1 -0
  145. package/dist/graphrag/code-index.js +205 -0
  146. package/dist/graphrag/code-index.js.map +1 -0
  147. package/dist/graphrag/factory.d.ts.map +1 -1
  148. package/dist/graphrag/factory.js +5 -0
  149. package/dist/graphrag/factory.js.map +1 -1
  150. package/dist/graphrag/graph-rag.d.ts +6 -2
  151. package/dist/graphrag/graph-rag.d.ts.map +1 -1
  152. package/dist/graphrag/graph-rag.js +40 -2
  153. package/dist/graphrag/graph-rag.js.map +1 -1
  154. package/dist/graphrag/index.d.ts +8 -2
  155. package/dist/graphrag/index.d.ts.map +1 -1
  156. package/dist/graphrag/index.js +5 -1
  157. package/dist/graphrag/index.js.map +1 -1
  158. package/dist/graphrag/json-graph.d.ts +8 -0
  159. package/dist/graphrag/json-graph.d.ts.map +1 -1
  160. package/dist/graphrag/json-graph.js +50 -4
  161. package/dist/graphrag/json-graph.js.map +1 -1
  162. package/dist/graphrag/knowledge-graph.d.ts +8 -3
  163. package/dist/graphrag/knowledge-graph.d.ts.map +1 -1
  164. package/dist/graphrag/neo4j-graph.d.ts +19 -18
  165. package/dist/graphrag/neo4j-graph.d.ts.map +1 -1
  166. package/dist/graphrag/neo4j-graph.js +164 -38
  167. package/dist/graphrag/neo4j-graph.js.map +1 -1
  168. package/dist/graphrag/requirement-ingest.d.ts +15 -0
  169. package/dist/graphrag/requirement-ingest.d.ts.map +1 -0
  170. package/dist/graphrag/requirement-ingest.js +158 -0
  171. package/dist/graphrag/requirement-ingest.js.map +1 -0
  172. package/dist/graphrag/traverse.d.ts +5 -0
  173. package/dist/graphrag/traverse.d.ts.map +1 -0
  174. package/dist/graphrag/traverse.js +139 -0
  175. package/dist/graphrag/traverse.js.map +1 -0
  176. package/dist/graphrag/types.d.ts +60 -2
  177. package/dist/graphrag/types.d.ts.map +1 -1
  178. package/dist/graphrag/types.js +34 -1
  179. package/dist/graphrag/types.js.map +1 -1
  180. package/dist/hooks/__tests__/allowlist.test.d.ts +2 -0
  181. package/dist/hooks/__tests__/allowlist.test.d.ts.map +1 -0
  182. package/dist/hooks/__tests__/allowlist.test.js +29 -0
  183. package/dist/hooks/__tests__/allowlist.test.js.map +1 -0
  184. package/dist/hooks/__tests__/config.test.d.ts +2 -0
  185. package/dist/hooks/__tests__/config.test.d.ts.map +1 -0
  186. package/dist/hooks/__tests__/config.test.js +57 -0
  187. package/dist/hooks/__tests__/config.test.js.map +1 -0
  188. package/dist/hooks/__tests__/dispatcher.security.test.d.ts +2 -0
  189. package/dist/hooks/__tests__/dispatcher.security.test.d.ts.map +1 -0
  190. package/dist/hooks/__tests__/dispatcher.security.test.js +86 -0
  191. package/dist/hooks/__tests__/dispatcher.security.test.js.map +1 -0
  192. package/dist/hooks/__tests__/dispatcher.test.d.ts +2 -0
  193. package/dist/hooks/__tests__/dispatcher.test.d.ts.map +1 -0
  194. package/dist/hooks/__tests__/dispatcher.test.js +69 -0
  195. package/dist/hooks/__tests__/dispatcher.test.js.map +1 -0
  196. package/dist/hooks/__tests__/idempotency.test.d.ts +2 -0
  197. package/dist/hooks/__tests__/idempotency.test.d.ts.map +1 -0
  198. package/dist/hooks/__tests__/idempotency.test.js +45 -0
  199. package/dist/hooks/__tests__/idempotency.test.js.map +1 -0
  200. package/dist/hooks/__tests__/telemetry.test.d.ts +2 -0
  201. package/dist/hooks/__tests__/telemetry.test.d.ts.map +1 -0
  202. package/dist/hooks/__tests__/telemetry.test.js +52 -0
  203. package/dist/hooks/__tests__/telemetry.test.js.map +1 -0
  204. package/dist/hooks/allowlist.d.ts +24 -0
  205. package/dist/hooks/allowlist.d.ts.map +1 -0
  206. package/dist/hooks/allowlist.js +61 -0
  207. package/dist/hooks/allowlist.js.map +1 -0
  208. package/dist/hooks/config.d.ts +24 -0
  209. package/dist/hooks/config.d.ts.map +1 -0
  210. package/dist/hooks/config.js +82 -0
  211. package/dist/hooks/config.js.map +1 -0
  212. package/dist/hooks/dispatcher.d.ts +17 -0
  213. package/dist/hooks/dispatcher.d.ts.map +1 -0
  214. package/dist/hooks/dispatcher.js +157 -0
  215. package/dist/hooks/dispatcher.js.map +1 -0
  216. package/dist/hooks/idempotency.d.ts +14 -0
  217. package/dist/hooks/idempotency.d.ts.map +1 -0
  218. package/dist/hooks/idempotency.js +64 -0
  219. package/dist/hooks/idempotency.js.map +1 -0
  220. package/dist/hooks/telemetry.d.ts +12 -0
  221. package/dist/hooks/telemetry.d.ts.map +1 -0
  222. package/dist/hooks/telemetry.js +66 -0
  223. package/dist/hooks/telemetry.js.map +1 -0
  224. package/dist/hooks/types.d.ts +36 -0
  225. package/dist/hooks/types.d.ts.map +1 -0
  226. package/dist/hooks/types.js +7 -0
  227. package/dist/hooks/types.js.map +1 -0
  228. package/dist/index.d.ts +2 -0
  229. package/dist/index.d.ts.map +1 -1
  230. package/dist/index.js +2 -0
  231. package/dist/index.js.map +1 -1
  232. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts +2 -0
  233. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts.map +1 -0
  234. package/dist/mcp-server/__tests__/mcp-graph.test.js +85 -0
  235. package/dist/mcp-server/__tests__/mcp-graph.test.js.map +1 -0
  236. package/dist/mcp-server/__tests__/mcp-steering.test.d.ts +2 -0
  237. package/dist/mcp-server/__tests__/mcp-steering.test.d.ts.map +1 -0
  238. package/dist/mcp-server/__tests__/mcp-steering.test.js +90 -0
  239. package/dist/mcp-server/__tests__/mcp-steering.test.js.map +1 -0
  240. package/dist/mcp-server/server.d.ts.map +1 -1
  241. package/dist/mcp-server/server.js +136 -1
  242. package/dist/mcp-server/server.js.map +1 -1
  243. package/dist/steering/__tests__/loader.test.d.ts +2 -0
  244. package/dist/steering/__tests__/loader.test.d.ts.map +1 -0
  245. package/dist/steering/__tests__/loader.test.js +80 -0
  246. package/dist/steering/__tests__/loader.test.js.map +1 -0
  247. package/dist/steering/__tests__/resolver.security.test.d.ts +2 -0
  248. package/dist/steering/__tests__/resolver.security.test.d.ts.map +1 -0
  249. package/dist/steering/__tests__/resolver.security.test.js +42 -0
  250. package/dist/steering/__tests__/resolver.security.test.js.map +1 -0
  251. package/dist/steering/__tests__/resolver.test.d.ts +2 -0
  252. package/dist/steering/__tests__/resolver.test.d.ts.map +1 -0
  253. package/dist/steering/__tests__/resolver.test.js +75 -0
  254. package/dist/steering/__tests__/resolver.test.js.map +1 -0
  255. package/dist/steering/loader.d.ts +8 -0
  256. package/dist/steering/loader.d.ts.map +1 -0
  257. package/dist/steering/loader.js +98 -0
  258. package/dist/steering/loader.js.map +1 -0
  259. package/dist/steering/resolver.d.ts +6 -0
  260. package/dist/steering/resolver.d.ts.map +1 -0
  261. package/dist/steering/resolver.js +59 -0
  262. package/dist/steering/resolver.js.map +1 -0
  263. package/dist/steering/types.d.ts +22 -0
  264. package/dist/steering/types.d.ts.map +1 -0
  265. package/dist/steering/types.js +2 -0
  266. package/dist/steering/types.js.map +1 -0
  267. package/dist/utils/UpdateApplier.d.ts.map +1 -1
  268. package/dist/utils/UpdateApplier.js +2 -0
  269. package/dist/utils/UpdateApplier.js.map +1 -1
  270. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts +2 -0
  271. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts.map +1 -0
  272. package/dist/utils/__tests__/static-analyzer-exports.test.js +21 -0
  273. package/dist/utils/__tests__/static-analyzer-exports.test.js.map +1 -0
  274. package/dist/utils/project-generator.d.ts.map +1 -1
  275. package/dist/utils/project-generator.js +14 -0
  276. package/dist/utils/project-generator.js.map +1 -1
  277. package/dist/utils/static-analyzer.d.ts +9 -0
  278. package/dist/utils/static-analyzer.d.ts.map +1 -1
  279. package/dist/utils/static-analyzer.js +2 -2
  280. package/dist/utils/static-analyzer.js.map +1 -1
  281. package/dist/verification/__tests__/telemetry.test.js +9 -0
  282. package/dist/verification/__tests__/telemetry.test.js.map +1 -1
  283. package/package.json +1 -1
  284. package/templates/hooks/dare.config.hooks.example.json +12 -0
  285. package/templates/hooks/pre-commit-dare-validate +2 -2
  286. package/templates/ide/antigravity/.agents/skills/dare-hooks/SKILL.md +13 -0
  287. package/templates/ide/antigravity/.agents/skills/dare-steering/SKILL.md +15 -0
  288. package/templates/ide/antigravity/templates/HOOKS-ADAPTER.md +14 -0
  289. package/templates/ide/claude/.claude/commands/dare-hooks.md +17 -0
  290. package/templates/ide/claude/.claude/commands/dare-steering.md +19 -0
  291. package/templates/ide/claude/.claude/settings.example.json +1 -1
  292. package/templates/ide/cursor/.cursor/commands/dare-hooks.md +17 -0
  293. package/templates/ide/cursor/.cursor/commands/dare-steering.md +19 -0
  294. package/templates/ide/cursor/templates/HOOKS-ADAPTER.md +14 -0
@@ -0,0 +1,109 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ import fs from 'fs-extra';
3
+ import path from 'node:path';
4
+ import os from 'node:os';
5
+ vi.mock('../../hooks/dispatcher.js', () => ({
6
+ dispatchHook: vi.fn(async () => []),
7
+ TrustRequiredError: class TrustRequiredError extends Error {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'TrustRequiredError';
11
+ }
12
+ },
13
+ InvalidHookEventError: class InvalidHookEventError extends Error {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.name = 'InvalidHookEventError';
17
+ }
18
+ },
19
+ PathEscapeError: class PathEscapeError extends Error {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.name = 'PathEscapeError';
23
+ }
24
+ },
25
+ ActionNotAllowedError: class ActionNotAllowedError extends Error {
26
+ constructor() {
27
+ super(...arguments);
28
+ this.name = 'ActionNotAllowedError';
29
+ }
30
+ },
31
+ }));
32
+ describe('dare hooks command', () => {
33
+ let projectRoot;
34
+ let exitCode;
35
+ let stderr;
36
+ let stdout;
37
+ beforeEach(async () => {
38
+ projectRoot = await fs.mkdtemp(path.join(os.tmpdir(), 'dare-hooks-cmd-'));
39
+ vi.spyOn(process, 'cwd').mockReturnValue(projectRoot);
40
+ exitCode = undefined;
41
+ stderr = '';
42
+ stdout = '';
43
+ vi.spyOn(process, 'exit').mockImplementation((code) => {
44
+ exitCode = code;
45
+ throw new Error(`exit:${code}`);
46
+ });
47
+ vi.spyOn(console, 'log').mockImplementation((...args) => {
48
+ stdout += args.map(String).join(' ') + '\n';
49
+ });
50
+ vi.spyOn(console, 'error').mockImplementation((...args) => {
51
+ stderr += args.map(String).join(' ') + '\n';
52
+ });
53
+ });
54
+ afterEach(async () => {
55
+ vi.restoreAllMocks();
56
+ await fs.remove(projectRoot).catch(() => undefined);
57
+ });
58
+ async function run(args) {
59
+ const { hooksCommand } = await import('../hooks.js');
60
+ try {
61
+ await hooksCommand.parseAsync(['node', 'hooks', ...args]);
62
+ }
63
+ catch (err) {
64
+ if (!(err instanceof Error) || !err.message.startsWith('exit:'))
65
+ throw err;
66
+ }
67
+ }
68
+ it('list returns empty hooks when block absent (exit 0)', async () => {
69
+ await fs.writeJson(path.join(projectRoot, 'dare.config.json'), { name: 'test' });
70
+ await run(['list', '--json']);
71
+ expect(exitCode).toBeUndefined();
72
+ const body = JSON.parse(stdout.trim());
73
+ expect(body.hooks).toEqual({});
74
+ expect(body.trusted).toBe(false);
75
+ });
76
+ it('run rejects unknown event with exit 2', async () => {
77
+ await run(['run', 'bogus-event']);
78
+ expect(exitCode).toBe(2);
79
+ expect(stderr).toContain("unknown hook event 'bogus-event'");
80
+ expect(stderr).toContain('Allowed:');
81
+ });
82
+ it('run rejects untrusted project without --trust (exit 2)', async () => {
83
+ await fs.writeJson(path.join(projectRoot, 'dare.config.json'), {
84
+ hooks: { on: { 'on-save': [{ action: 'lint' }] }, trusted: false },
85
+ });
86
+ await run(['run', 'on-save', '--file', 'src/x.ts']);
87
+ expect(exitCode).toBe(2);
88
+ expect(stderr).toContain('hooks are untrusted for this project');
89
+ });
90
+ it('validate rejects invalid action in config (exit 1)', async () => {
91
+ await fs.writeJson(path.join(projectRoot, 'dare.config.json'), {
92
+ hooks: { on: { 'on-save': [{ action: 'rm-rf' }] }, trusted: false },
93
+ });
94
+ await run(['validate', '--json']);
95
+ expect(exitCode).toBe(1);
96
+ const body = JSON.parse(stdout.trim());
97
+ expect(body.valid).toBe(false);
98
+ expect(body.errors.length).toBeGreaterThan(0);
99
+ });
100
+ it('validate accepts valid config (exit 0)', async () => {
101
+ await fs.writeJson(path.join(projectRoot, 'dare.config.json'), {
102
+ hooks: { on: { 'on-save': [{ action: 'dare-validate' }] }, trusted: false },
103
+ });
104
+ await run(['validate', '--json']);
105
+ expect(exitCode).toBe(0);
106
+ expect(JSON.parse(stdout.trim()).valid).toBe(true);
107
+ });
108
+ });
109
+ //# sourceMappingURL=hooks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/hooks.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=impact.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impact.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/impact.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { describe, it, expect, beforeEach } from 'vitest';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import { JsonGraph } from '../../graphrag/json-graph.js';
5
+ import { buildGraphFromFixture, loadFixture } from '../../__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js';
6
+ import { collectImpact } from '../graph-queries.js';
7
+ describe('impact', () => {
8
+ let graph;
9
+ beforeEach(async () => {
10
+ const file = path.join(os.tmpdir(), `impact-${Date.now()}.json`);
11
+ graph = new JsonGraph(file);
12
+ await graph.init();
13
+ buildGraphFromFixture(graph, loadFixture('impact-chain'));
14
+ });
15
+ it('recalls all impacted tasks and requirements (O-03)', () => {
16
+ const result = collectImpact(graph, 'src/math.ts', 3);
17
+ expect(result.durationMs).toBeLessThan(500);
18
+ expect(result.impacted.tasks).toContain('task-201');
19
+ expect(result.impacted.requirements).toContain('RF-03');
20
+ });
21
+ it('clamps hops to 5', () => {
22
+ const result = collectImpact(graph, 'src/math.ts', 99);
23
+ expect(result.impacted.tasks.length).toBeGreaterThan(0);
24
+ });
25
+ });
26
+ //# sourceMappingURL=impact.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impact.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/impact.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,qEAAqE,CAAC;AACzH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAI,KAAgB,CAAC;IAErB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjE,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=locate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locate.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/locate.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import { JsonGraph } from '../../graphrag/json-graph.js';
5
+ import { buildGraphFromFixture, loadFixture } from '../../__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js';
6
+ import { formatLocateJson } from '../graph-queries.js';
7
+ describe('locate command helpers', () => {
8
+ it('hits expected targets in top-5 for locate fixtures (O-04)', async () => {
9
+ const cases = [
10
+ { fixture: 'locate/math', seed: 'math', expected: ['code_symbol:src/math.ts::add'] },
11
+ {
12
+ fixture: 'locate/auth',
13
+ seed: 'auth',
14
+ expected: ['code_symbol:src/auth/login.ts::authenticate', 'file:src/auth/login.ts'],
15
+ },
16
+ ];
17
+ let hits = 0;
18
+ for (const { fixture, seed, expected } of cases) {
19
+ const file = path.join(os.tmpdir(), `locate-cmd-${fixture}-${Date.now()}.json`);
20
+ const graph = new JsonGraph(file);
21
+ await graph.init();
22
+ buildGraphFromFixture(graph, loadFixture(fixture));
23
+ const result = graph.locate(seed, { limit: 5 });
24
+ const topIds = result.candidates.map((c) => c.node.id);
25
+ const hit = expected.some((id) => topIds.includes(id));
26
+ if (hit)
27
+ hits++;
28
+ const json = formatLocateJson(seed, result);
29
+ expect(json.seed).toBe(seed);
30
+ expect(json.candidates.length).toBeGreaterThan(0);
31
+ }
32
+ expect(hits / cases.length).toBeGreaterThanOrEqual(0.85);
33
+ });
34
+ });
35
+ //# sourceMappingURL=locate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locate.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/locate.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,qEAAqE,CAAC;AACzH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,KAAK,GAAG;YACZ,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,8BAA8B,CAAC,EAAE;YACpF;gBACE,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,CAAC,6CAA6C,EAAE,wBAAwB,CAAC;aACpF;SACF,CAAC;QAEF,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,IAAI,GAAG;gBAAE,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=owners.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owners.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/owners.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { describe, it, expect, beforeEach } from 'vitest';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import { JsonGraph } from '../../graphrag/json-graph.js';
5
+ import { buildGraphFromFixture, loadFixture } from '../../__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js';
6
+ import { collectOwners, GraphPathError, GRAPH_PATH_ERROR } from '../graph-queries.js';
7
+ describe('owners', () => {
8
+ let graph;
9
+ beforeEach(async () => {
10
+ const file = path.join(os.tmpdir(), `owners-${Date.now()}.json`);
11
+ graph = new JsonGraph(file);
12
+ await graph.init();
13
+ buildGraphFromFixture(graph, loadFixture('owners-chain'));
14
+ });
15
+ it('rejects unsafe paths with blueprint message', () => {
16
+ expect(() => collectOwners(graph, '../etc/passwd')).toThrow(GraphPathError);
17
+ try {
18
+ collectOwners(graph, '../etc/passwd');
19
+ }
20
+ catch (e) {
21
+ expect(e.message).toBe(GRAPH_PATH_ERROR);
22
+ }
23
+ });
24
+ it('returns tasks and requirements for a file path (O-02)', () => {
25
+ const result = collectOwners(graph, 'src/commands/execute.ts');
26
+ expect(result.durationMs).toBeLessThan(200);
27
+ const ids = result.owners.map((o) => o.id);
28
+ expect(ids).toContain('task:task-075');
29
+ expect(ids).toContain('task:task-206');
30
+ expect(ids).toContain('requirement:RF-10');
31
+ expect(ids).toContain('requirement:O-02');
32
+ });
33
+ });
34
+ //# sourceMappingURL=owners.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owners.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/owners.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,qEAAqE,CAAC;AACzH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAI,KAAgB,CAAC;IAErB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjE,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=steering.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steering.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/steering.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,69 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import fs from 'fs-extra';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { loadSteeringFiles } from '../../steering/loader.js';
6
+ import { resolveSteeringForFile, sortSteeringByPrecedence, } from '../../steering/resolver.js';
7
+ import { PathEscapeError } from '../../utils/path-safety.js';
8
+ describe('dare steering command logic', () => {
9
+ let projectRoot;
10
+ beforeEach(async () => {
11
+ projectRoot = await fs.mkdtemp(path.join(os.tmpdir(), 'steering-cmd-'));
12
+ await fs.ensureDir(path.join(projectRoot, 'DARE'));
13
+ await fs.writeFile(path.join(projectRoot, 'DARE', 'PROJECT-DNA.md'), '# Base DNA\nAlways apply.');
14
+ const dir = path.join(projectRoot, '.dare', 'steering');
15
+ await fs.ensureDir(dir);
16
+ await fs.writeFile(path.join(dir, 'project.md'), `---
17
+ scope: project
18
+ priority: 0
19
+ ---
20
+ # Project rules
21
+ `);
22
+ await fs.writeFile(path.join(dir, 'auth.md'), `---
23
+ scope: glob
24
+ glob: src/auth/**
25
+ priority: 10
26
+ ---
27
+ # Auth rules
28
+ `);
29
+ await fs.writeFile(path.join(dir, 'src.md'), `---
30
+ scope: glob
31
+ glob: src/**
32
+ priority: 5
33
+ ---
34
+ # Src rules
35
+ `);
36
+ });
37
+ afterEach(async () => {
38
+ await fs.remove(projectRoot).catch(() => undefined);
39
+ });
40
+ it('list orders files by precedence (base → project → glob by priority)', () => {
41
+ const files = sortSteeringByPrecedence(loadSteeringFiles(projectRoot));
42
+ expect(files.map((f) => f.path)).toEqual([
43
+ 'DARE/PROJECT-DNA.md',
44
+ '.dare/steering/project.md',
45
+ '.dare/steering/src.md',
46
+ '.dare/steering/auth.md',
47
+ ]);
48
+ });
49
+ it('show resolves applicable blocks for target file', () => {
50
+ const all = loadSteeringFiles(projectRoot);
51
+ const resolution = resolveSteeringForFile(all, 'src/auth/login.ts');
52
+ expect(resolution.blocks[0]?.isBase).toBe(true);
53
+ expect(resolution.blocks.map((b) => b.path)).toEqual([
54
+ 'DARE/PROJECT-DNA.md',
55
+ '.dare/steering/project.md',
56
+ '.dare/steering/src.md',
57
+ '.dare/steering/auth.md',
58
+ ]);
59
+ });
60
+ it('show rejects path escape with PathEscapeError', () => {
61
+ expect(() => resolveSteeringForFile([], '../etc/passwd')).toThrow(PathEscapeError);
62
+ });
63
+ it('show excludes non-matching globs', () => {
64
+ const all = loadSteeringFiles(projectRoot);
65
+ const resolution = resolveSteeringForFile(all, 'src/other.ts');
66
+ expect(resolution.blocks.map((b) => b.path)).not.toContain('.dare/steering/auth.md');
67
+ });
68
+ });
69
+ //# sourceMappingURL=steering.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steering.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/steering.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=trace.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/trace.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { describe, it, expect, beforeEach } from 'vitest';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import { JsonGraph } from '../../graphrag/json-graph.js';
5
+ import { buildGraphFromFixture, loadFixture } from '../../__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js';
6
+ import { traceRequirement, TraceFormatError, TraceNotFoundError, } from '../graph-queries.js';
7
+ describe('trace', () => {
8
+ let graph;
9
+ beforeEach(async () => {
10
+ const file = path.join(os.tmpdir(), `trace-${Date.now()}.json`);
11
+ graph = new JsonGraph(file);
12
+ await graph.init();
13
+ buildGraphFromFixture(graph, loadFixture('impact-chain'));
14
+ });
15
+ it('traces RF-03 to code symbols within 3 hops (O-07)', () => {
16
+ const result = traceRequirement(graph, 'RF-03');
17
+ expect(result.symbols).toContain('src/math.ts::add');
18
+ expect(result.path.length).toBeGreaterThan(1);
19
+ expect(result.path[0]?.id).toBe('requirement:RF-03');
20
+ expect(result.path.some((n) => n.type === 'code_symbol')).toBe(true);
21
+ });
22
+ it('rejects invalid format', () => {
23
+ expect(() => traceRequirement(graph, 'INVALID')).toThrow(TraceFormatError);
24
+ });
25
+ it('errors when node missing', () => {
26
+ expect(() => traceRequirement(graph, 'RF-999')).toThrow(TraceNotFoundError);
27
+ });
28
+ });
29
+ //# sourceMappingURL=trace.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/trace.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,qEAAqE,CAAC;AACzH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,KAAgB,CAAC;IAErB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChE,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFpC,eAAO,MAAM,cAAc,SAyDvB,CAAC"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyFpC,eAAO,MAAM,cAAc,SAyDvB,CAAC"}
@@ -9,6 +9,7 @@ import { DEFAULT_STATE_PATH, loadAndApplyState, saveState, } from '../dag-runner
9
9
  import { resolveStackFromConfig, runRalphLoop, } from '../dag-runner/ralph-loop.js';
10
10
  import { runReview } from '../utils/ReviewRunner.js';
11
11
  import { readProjectConfig } from '../utils/UpdateDetector.js';
12
+ import { buildLocateContext, loadGraphLocateConfig } from '../dag-runner/graph-locate.js';
12
13
  import { gateToAspect, loadVerificationConfig, recordFailureAndVerdict, runPostRalphVerification, shouldRunVerification, validateBestOf, validatePolicy, applyPolicyOverride, resolveBestOfCount, } from './execute-verification.js';
13
14
  import { recordVerification } from '../verification/telemetry.js';
14
15
  import { runBestOfN } from '../verification/best-of-n/runner.js';
@@ -63,7 +64,7 @@ export const executeCommand = new Command('execute')
63
64
  await handleWatch(dagPath, stateFile, canvasPath, options);
64
65
  }
65
66
  else if (options.next) {
66
- await handleNext(dag, options, stateFile, canvasPath);
67
+ await handleNext(dag, options, stateFile, canvasPath, graph, cwd);
67
68
  }
68
69
  else {
69
70
  // Default: --status
@@ -71,11 +72,11 @@ export const executeCommand = new Command('execute')
71
72
  }
72
73
  }
73
74
  finally {
74
- graph?.close();
75
+ await Promise.resolve(graph?.close());
75
76
  }
76
77
  });
77
78
  // ─── Handlers ────────────────────────────────────────────────────────────────
78
- async function handleNext(dag, options, stateFile, canvasPath) {
79
+ async function handleNext(dag, options, stateFile, canvasPath, graph, cwd) {
79
80
  const newlySkipped = applyCascadingSkip(dag);
80
81
  if (newlySkipped.length > 0) {
81
82
  console.log(chalk.gray(`↷ Auto-skipped ${newlySkipped.length} blocked task(s).`));
@@ -98,7 +99,7 @@ async function handleNext(dag, options, stateFile, canvasPath) {
98
99
  for (const task of ready) {
99
100
  if (options.parallelHint)
100
101
  markRunning(dag, task.id);
101
- printTaskBriefing(dag, task);
102
+ printTaskBriefing(dag, task, graph, cwd);
102
103
  }
103
104
  await persist(dag, stateFile, canvasPath);
104
105
  console.log(chalk.cyan('\nNext steps for the IDE agent:'));
@@ -436,13 +437,17 @@ async function tryOpenGraph(cwd) {
436
437
  return undefined;
437
438
  }
438
439
  }
439
- function printTaskBriefing(dag, task) {
440
+ function printTaskBriefing(dag, task, graph, cwd) {
440
441
  console.log(chalk.bold(`▸ ${task.id} — ${task.title}`));
441
442
  console.log(chalk.gray(` complexity: ${task.complexity}`));
442
443
  if (task.spec_file)
443
444
  console.log(chalk.gray(` spec_file: ${task.spec_file}`));
444
445
  console.log(chalk.gray(' prompt:'));
445
- const prompt = buildTaskPrompt(dag, task);
446
+ let graphLocate;
447
+ if (graph && cwd) {
448
+ graphLocate = buildLocateContext(graph, task, loadGraphLocateConfig(cwd));
449
+ }
450
+ const prompt = buildTaskPrompt(dag, task, { graphLocate });
446
451
  for (const line of prompt.split('\n'))
447
452
  console.log(` ${line}`);
448
453
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { KnowledgeGraph } from '../graphrag/knowledge-graph.js';
2
+ export declare const GRAPH_PATH_ERROR = "Error: path must be relative and stay within the project";
3
+ export declare class GraphPathError extends Error {
4
+ constructor(message?: string);
5
+ }
6
+ export declare class TraceFormatError extends Error {
7
+ constructor();
8
+ }
9
+ export declare class TraceNotFoundError extends Error {
10
+ constructor(req: string);
11
+ }
12
+ export declare function normalizeGraphPath(targetPath: string): string;
13
+ export declare function seedsForPath(graph: KnowledgeGraph, targetPath: string): string[];
14
+ export declare function collectOwners(graph: KnowledgeGraph, targetPath: string, limit?: number): {
15
+ path: string;
16
+ owners: Array<{
17
+ id: string;
18
+ type: string;
19
+ label: string;
20
+ }>;
21
+ durationMs: number;
22
+ };
23
+ export declare function collectImpact(graph: KnowledgeGraph, targetPath: string, hops?: number): {
24
+ path: string;
25
+ impacted: {
26
+ tasks: string[];
27
+ requirements: string[];
28
+ };
29
+ durationMs: number;
30
+ };
31
+ export declare function traceRequirement(graph: KnowledgeGraph, req: string): {
32
+ req: string;
33
+ path: Array<{
34
+ id: string;
35
+ type: string;
36
+ }>;
37
+ symbols: string[];
38
+ };
39
+ export declare function formatLocateJson(seed: string, result: ReturnType<KnowledgeGraph['locate']>): {
40
+ seed: string;
41
+ candidates: Array<{
42
+ id: string;
43
+ score: number;
44
+ kind: string;
45
+ qualifiedName?: string;
46
+ }>;
47
+ };
48
+ //# sourceMappingURL=graph-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-queries.d.ts","sourceRoot":"","sources":["../../src/commands/graph-queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,eAAO,MAAM,gBAAgB,6DAA6D,CAAC;AAE3F,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,SAAmB;CAIvC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAK1C;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,GAAG,EAAE,MAAM;CAIxB;AAID,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAUhF;AAwCD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,SAAK,GACT;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAsBlG;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,SAAI,GACP;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACtD,UAAU,EAAE,MAAM,CAAC;CACpB,CA2BA;AA8CD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,MAAM,GACV;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAwBA;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,GAC3C;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ,CAaA"}