homegraph 1.2.0 → 1.5.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 (560) hide show
  1. package/README.md +48 -11
  2. package/dist/bin/homegraph.js +298 -72
  3. package/dist/bin/homegraph.js.map +1 -1
  4. package/dist/context/index.d.ts.map +1 -1
  5. package/dist/context/index.js +117 -11
  6. package/dist/context/index.js.map +1 -1
  7. package/dist/db/index.d.ts +207 -6
  8. package/dist/db/index.d.ts.map +1 -1
  9. package/dist/db/index.js +461 -20
  10. package/dist/db/index.js.map +1 -1
  11. package/dist/db/migrations.d.ts +1 -1
  12. package/dist/db/migrations.d.ts.map +1 -1
  13. package/dist/db/migrations.js +19 -1
  14. package/dist/db/migrations.js.map +1 -1
  15. package/dist/db/queries.d.ts +157 -3
  16. package/dist/db/queries.d.ts.map +1 -1
  17. package/dist/db/queries.js +426 -9
  18. package/dist/db/queries.js.map +1 -1
  19. package/dist/db/schema.sql +32 -1
  20. package/dist/db/sqlite-adapter.d.ts +24 -17
  21. package/dist/db/sqlite-adapter.d.ts.map +1 -1
  22. package/dist/db/sqlite-adapter.js +292 -36
  23. package/dist/db/sqlite-adapter.js.map +1 -1
  24. package/dist/db/wal-valve.d.ts +119 -0
  25. package/dist/db/wal-valve.d.ts.map +1 -0
  26. package/dist/db/wal-valve.js +290 -0
  27. package/dist/db/wal-valve.js.map +1 -0
  28. package/dist/directory.d.ts +9 -5
  29. package/dist/directory.d.ts.map +1 -1
  30. package/dist/directory.js +210 -19
  31. package/dist/directory.js.map +1 -1
  32. package/dist/extraction/arkts-batch-worker.js +3 -2
  33. package/dist/extraction/arkts-batch-worker.js.map +1 -1
  34. package/dist/extraction/cfml-extractor.d.ts +107 -0
  35. package/dist/extraction/cfml-extractor.d.ts.map +1 -0
  36. package/dist/extraction/cfml-extractor.js +494 -0
  37. package/dist/extraction/cfml-extractor.js.map +1 -0
  38. package/dist/extraction/default-ignore.d.ts +39 -0
  39. package/dist/extraction/default-ignore.d.ts.map +1 -0
  40. package/dist/extraction/default-ignore.js +221 -0
  41. package/dist/extraction/default-ignore.js.map +1 -0
  42. package/dist/extraction/grammars.d.ts +25 -1
  43. package/dist/extraction/grammars.d.ts.map +1 -1
  44. package/dist/extraction/grammars.js +177 -24
  45. package/dist/extraction/grammars.js.map +1 -1
  46. package/dist/extraction/index.d.ts +52 -14
  47. package/dist/extraction/index.d.ts.map +1 -1
  48. package/dist/extraction/index.js +521 -314
  49. package/dist/extraction/index.js.map +1 -1
  50. package/dist/extraction/languages/arkts.d.ts +90 -6
  51. package/dist/extraction/languages/arkts.d.ts.map +1 -1
  52. package/dist/extraction/languages/arkts.js +1579 -128
  53. package/dist/extraction/languages/arkts.js.map +1 -1
  54. package/dist/extraction/languages/c-cpp.d.ts +42 -0
  55. package/dist/extraction/languages/c-cpp.d.ts.map +1 -1
  56. package/dist/extraction/languages/c-cpp.js +369 -4
  57. package/dist/extraction/languages/c-cpp.js.map +1 -1
  58. package/dist/extraction/languages/cfquery.d.ts +12 -0
  59. package/dist/extraction/languages/cfquery.d.ts.map +1 -0
  60. package/dist/extraction/languages/cfquery.js +28 -0
  61. package/dist/extraction/languages/cfquery.js.map +1 -0
  62. package/dist/extraction/languages/cfscript.d.ts +3 -0
  63. package/dist/extraction/languages/cfscript.d.ts.map +1 -0
  64. package/dist/extraction/languages/cfscript.js +73 -0
  65. package/dist/extraction/languages/cfscript.js.map +1 -0
  66. package/dist/extraction/languages/cobol.d.ts +33 -0
  67. package/dist/extraction/languages/cobol.d.ts.map +1 -0
  68. package/dist/extraction/languages/cobol.js +499 -0
  69. package/dist/extraction/languages/cobol.js.map +1 -0
  70. package/dist/extraction/languages/erlang.d.ts +3 -0
  71. package/dist/extraction/languages/erlang.d.ts.map +1 -0
  72. package/dist/extraction/languages/erlang.js +350 -0
  73. package/dist/extraction/languages/erlang.js.map +1 -0
  74. package/dist/extraction/languages/index.d.ts.map +1 -1
  75. package/dist/extraction/languages/index.js +16 -0
  76. package/dist/extraction/languages/index.js.map +1 -1
  77. package/dist/extraction/languages/nix.d.ts +3 -0
  78. package/dist/extraction/languages/nix.d.ts.map +1 -0
  79. package/dist/extraction/languages/nix.js +294 -0
  80. package/dist/extraction/languages/nix.js.map +1 -0
  81. package/dist/extraction/languages/solidity.d.ts +3 -0
  82. package/dist/extraction/languages/solidity.d.ts.map +1 -0
  83. package/dist/extraction/languages/solidity.js +293 -0
  84. package/dist/extraction/languages/solidity.js.map +1 -0
  85. package/dist/extraction/languages/terraform.d.ts +3 -0
  86. package/dist/extraction/languages/terraform.d.ts.map +1 -0
  87. package/dist/extraction/languages/terraform.js +641 -0
  88. package/dist/extraction/languages/terraform.js.map +1 -0
  89. package/dist/extraction/languages/vbnet.d.ts +11 -0
  90. package/dist/extraction/languages/vbnet.d.ts.map +1 -0
  91. package/dist/extraction/languages/vbnet.js +141 -0
  92. package/dist/extraction/languages/vbnet.js.map +1 -0
  93. package/dist/extraction/mybatis-extractor.d.ts +30 -10
  94. package/dist/extraction/mybatis-extractor.d.ts.map +1 -1
  95. package/dist/extraction/mybatis-extractor.js +140 -38
  96. package/dist/extraction/mybatis-extractor.js.map +1 -1
  97. package/dist/extraction/parse-pool.d.ts +27 -1
  98. package/dist/extraction/parse-pool.d.ts.map +1 -1
  99. package/dist/extraction/parse-pool.js +75 -7
  100. package/dist/extraction/parse-pool.js.map +1 -1
  101. package/dist/extraction/parse-worker.js +9 -2
  102. package/dist/extraction/parse-worker.js.map +1 -1
  103. package/dist/extraction/store-worker.d.ts +20 -0
  104. package/dist/extraction/store-worker.d.ts.map +1 -0
  105. package/dist/extraction/store-worker.js +102 -0
  106. package/dist/extraction/store-worker.js.map +1 -0
  107. package/dist/extraction/store-writer.d.ts +48 -0
  108. package/dist/extraction/store-writer.d.ts.map +1 -0
  109. package/dist/extraction/store-writer.js +167 -0
  110. package/dist/extraction/store-writer.js.map +1 -0
  111. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
  112. package/dist/extraction/tree-sitter-helpers.js +1 -0
  113. package/dist/extraction/tree-sitter-helpers.js.map +1 -1
  114. package/dist/extraction/tree-sitter-types.d.ts +3 -1
  115. package/dist/extraction/tree-sitter-types.d.ts.map +1 -1
  116. package/dist/extraction/tree-sitter.d.ts +38 -0
  117. package/dist/extraction/tree-sitter.d.ts.map +1 -1
  118. package/dist/extraction/tree-sitter.js +801 -10
  119. package/dist/extraction/tree-sitter.js.map +1 -1
  120. package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
  121. package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
  122. package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
  123. package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
  124. package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
  125. package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
  126. package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  127. package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
  128. package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
  129. package/dist/extraction/wasm-runtime-flags.d.ts +14 -4
  130. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
  131. package/dist/extraction/wasm-runtime-flags.js +55 -7
  132. package/dist/extraction/wasm-runtime-flags.js.map +1 -1
  133. package/dist/graph/traversal.d.ts.map +1 -1
  134. package/dist/graph/traversal.js +1 -1
  135. package/dist/graph/traversal.js.map +1 -1
  136. package/dist/index.d.ts +74 -5
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +436 -55
  139. package/dist/index.js.map +1 -1
  140. package/dist/installer/index.d.ts +42 -0
  141. package/dist/installer/index.d.ts.map +1 -1
  142. package/dist/installer/index.js +97 -2
  143. package/dist/installer/index.js.map +1 -1
  144. package/dist/mcp/daemon.d.ts +25 -3
  145. package/dist/mcp/daemon.d.ts.map +1 -1
  146. package/dist/mcp/daemon.js +62 -8
  147. package/dist/mcp/daemon.js.map +1 -1
  148. package/dist/mcp/dynamic-boundaries.d.ts.map +1 -1
  149. package/dist/mcp/dynamic-boundaries.js +2 -1
  150. package/dist/mcp/dynamic-boundaries.js.map +1 -1
  151. package/dist/mcp/early-ppid.d.ts +26 -0
  152. package/dist/mcp/early-ppid.d.ts.map +1 -0
  153. package/dist/mcp/early-ppid.js +29 -0
  154. package/dist/mcp/early-ppid.js.map +1 -0
  155. package/dist/mcp/engine.d.ts +4 -5
  156. package/dist/mcp/engine.d.ts.map +1 -1
  157. package/dist/mcp/engine.js +27 -1
  158. package/dist/mcp/engine.js.map +1 -1
  159. package/dist/mcp/index.d.ts.map +1 -1
  160. package/dist/mcp/index.js +41 -6
  161. package/dist/mcp/index.js.map +1 -1
  162. package/dist/mcp/liveness-watchdog.d.ts +18 -1
  163. package/dist/mcp/liveness-watchdog.d.ts.map +1 -1
  164. package/dist/mcp/liveness-watchdog.js +73 -13
  165. package/dist/mcp/liveness-watchdog.js.map +1 -1
  166. package/dist/mcp/memory-budget.d.ts +30 -0
  167. package/dist/mcp/memory-budget.d.ts.map +1 -0
  168. package/dist/mcp/memory-budget.js +123 -0
  169. package/dist/mcp/memory-budget.js.map +1 -0
  170. package/dist/mcp/proxy.d.ts.map +1 -1
  171. package/dist/mcp/proxy.js +88 -4
  172. package/dist/mcp/proxy.js.map +1 -1
  173. package/dist/mcp/query-cache.d.ts +35 -4
  174. package/dist/mcp/query-cache.d.ts.map +1 -1
  175. package/dist/mcp/query-cache.js +89 -19
  176. package/dist/mcp/query-cache.js.map +1 -1
  177. package/dist/mcp/query-pool.d.ts +46 -12
  178. package/dist/mcp/query-pool.d.ts.map +1 -1
  179. package/dist/mcp/query-pool.js +100 -23
  180. package/dist/mcp/query-pool.js.map +1 -1
  181. package/dist/mcp/query-worker.d.ts +2 -2
  182. package/dist/mcp/query-worker.js +2 -2
  183. package/dist/mcp/server-instructions.d.ts +4 -27
  184. package/dist/mcp/server-instructions.d.ts.map +1 -1
  185. package/dist/mcp/server-instructions.js +39 -84
  186. package/dist/mcp/server-instructions.js.map +1 -1
  187. package/dist/mcp/session.d.ts +14 -0
  188. package/dist/mcp/session.d.ts.map +1 -1
  189. package/dist/mcp/session.js +28 -1
  190. package/dist/mcp/session.js.map +1 -1
  191. package/dist/mcp/startup-handshake.d.ts +44 -0
  192. package/dist/mcp/startup-handshake.d.ts.map +1 -0
  193. package/dist/mcp/startup-handshake.js +73 -0
  194. package/dist/mcp/startup-handshake.js.map +1 -0
  195. package/dist/mcp/tools.d.ts +104 -4
  196. package/dist/mcp/tools.d.ts.map +1 -1
  197. package/dist/mcp/tools.js +2432 -217
  198. package/dist/mcp/tools.js.map +1 -1
  199. package/dist/mcp/transport.d.ts.map +1 -1
  200. package/dist/mcp/transport.js +18 -0
  201. package/dist/mcp/transport.js.map +1 -1
  202. package/dist/project-config.d.ts +38 -0
  203. package/dist/project-config.d.ts.map +1 -1
  204. package/dist/project-config.js +101 -2
  205. package/dist/project-config.js.map +1 -1
  206. package/dist/resolution/c-fnptr-synthesizer.d.ts +2 -1
  207. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -1
  208. package/dist/resolution/c-fnptr-synthesizer.js +178 -146
  209. package/dist/resolution/c-fnptr-synthesizer.js.map +1 -1
  210. package/dist/resolution/callback-synthesizer.d.ts +54 -10
  211. package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
  212. package/dist/resolution/callback-synthesizer.js +1299 -257
  213. package/dist/resolution/callback-synthesizer.js.map +1 -1
  214. package/dist/resolution/cooperative-yield.d.ts +10 -2
  215. package/dist/resolution/cooperative-yield.d.ts.map +1 -1
  216. package/dist/resolution/cooperative-yield.js +6 -4
  217. package/dist/resolution/cooperative-yield.js.map +1 -1
  218. package/dist/resolution/frameworks/cics.d.ts +20 -0
  219. package/dist/resolution/frameworks/cics.d.ts.map +1 -0
  220. package/dist/resolution/frameworks/cics.js +90 -0
  221. package/dist/resolution/frameworks/cics.js.map +1 -0
  222. package/dist/resolution/frameworks/go.d.ts.map +1 -1
  223. package/dist/resolution/frameworks/go.js +29 -6
  224. package/dist/resolution/frameworks/go.js.map +1 -1
  225. package/dist/resolution/frameworks/index.d.ts.map +1 -1
  226. package/dist/resolution/frameworks/index.js +3 -0
  227. package/dist/resolution/frameworks/index.js.map +1 -1
  228. package/dist/resolution/frameworks/java.d.ts.map +1 -1
  229. package/dist/resolution/frameworks/java.js +14 -6
  230. package/dist/resolution/frameworks/java.js.map +1 -1
  231. package/dist/resolution/frameworks/terraform.d.ts +38 -0
  232. package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  233. package/dist/resolution/frameworks/terraform.js +277 -0
  234. package/dist/resolution/frameworks/terraform.js.map +1 -0
  235. package/dist/resolution/goframe-synthesizer.d.ts +2 -1
  236. package/dist/resolution/goframe-synthesizer.d.ts.map +1 -1
  237. package/dist/resolution/goframe-synthesizer.js +8 -3
  238. package/dist/resolution/goframe-synthesizer.js.map +1 -1
  239. package/dist/resolution/import-resolver.d.ts +9 -3
  240. package/dist/resolution/import-resolver.d.ts.map +1 -1
  241. package/dist/resolution/import-resolver.js +295 -11
  242. package/dist/resolution/import-resolver.js.map +1 -1
  243. package/dist/resolution/index.d.ts +146 -8
  244. package/dist/resolution/index.d.ts.map +1 -1
  245. package/dist/resolution/index.js +1089 -131
  246. package/dist/resolution/index.js.map +1 -1
  247. package/dist/resolution/memory-budget.d.ts +48 -0
  248. package/dist/resolution/memory-budget.d.ts.map +1 -0
  249. package/dist/resolution/memory-budget.js +162 -0
  250. package/dist/resolution/memory-budget.js.map +1 -0
  251. package/dist/resolution/name-matcher.d.ts +12 -4
  252. package/dist/resolution/name-matcher.d.ts.map +1 -1
  253. package/dist/resolution/name-matcher.js +793 -130
  254. package/dist/resolution/name-matcher.js.map +1 -1
  255. package/dist/resolution/resolver-pool.d.ts +106 -0
  256. package/dist/resolution/resolver-pool.d.ts.map +1 -0
  257. package/dist/resolution/resolver-pool.js +344 -0
  258. package/dist/resolution/resolver-pool.js.map +1 -0
  259. package/dist/resolution/resolver-worker.d.ts +17 -0
  260. package/dist/resolution/resolver-worker.d.ts.map +1 -0
  261. package/dist/resolution/resolver-worker.js +141 -0
  262. package/dist/resolution/resolver-worker.js.map +1 -0
  263. package/dist/resolution/strip-comments.d.ts +1 -1
  264. package/dist/resolution/strip-comments.d.ts.map +1 -1
  265. package/dist/resolution/strip-comments.js +49 -0
  266. package/dist/resolution/strip-comments.js.map +1 -1
  267. package/dist/resolution/types.d.ts +32 -0
  268. package/dist/resolution/types.d.ts.map +1 -1
  269. package/dist/resolution/workspace-packages.d.ts +10 -0
  270. package/dist/resolution/workspace-packages.d.ts.map +1 -1
  271. package/dist/resolution/workspace-packages.js +142 -4
  272. package/dist/resolution/workspace-packages.js.map +1 -1
  273. package/dist/search/identifier-segments.d.ts +60 -0
  274. package/dist/search/identifier-segments.d.ts.map +1 -0
  275. package/dist/search/identifier-segments.js +176 -0
  276. package/dist/search/identifier-segments.js.map +1 -0
  277. package/dist/search/query-utils.d.ts +201 -0
  278. package/dist/search/query-utils.d.ts.map +1 -1
  279. package/dist/search/query-utils.js +919 -2
  280. package/dist/search/query-utils.js.map +1 -1
  281. package/dist/spec/build/diff-parser.d.ts +55 -0
  282. package/dist/spec/build/diff-parser.d.ts.map +1 -0
  283. package/dist/spec/build/diff-parser.js +205 -0
  284. package/dist/spec/build/diff-parser.js.map +1 -0
  285. package/dist/spec/build/git-scanner.d.ts +93 -0
  286. package/dist/spec/build/git-scanner.d.ts.map +1 -0
  287. package/dist/spec/build/git-scanner.js +254 -0
  288. package/dist/spec/build/git-scanner.js.map +1 -0
  289. package/dist/spec/build/pipeline.d.ts +54 -0
  290. package/dist/spec/build/pipeline.d.ts.map +1 -0
  291. package/dist/spec/build/pipeline.js +170 -0
  292. package/dist/spec/build/pipeline.js.map +1 -0
  293. package/dist/spec/build/scan.d.ts +48 -0
  294. package/dist/spec/build/scan.d.ts.map +1 -0
  295. package/dist/spec/build/scan.js +89 -0
  296. package/dist/spec/build/scan.js.map +1 -0
  297. package/dist/spec/build/scope-resolver.d.ts +50 -0
  298. package/dist/spec/build/scope-resolver.d.ts.map +1 -0
  299. package/dist/spec/build/scope-resolver.js +105 -0
  300. package/dist/spec/build/scope-resolver.js.map +1 -0
  301. package/dist/spec/build/spec-extractor.d.ts +74 -0
  302. package/dist/spec/build/spec-extractor.d.ts.map +1 -0
  303. package/dist/spec/build/spec-extractor.js +344 -0
  304. package/dist/spec/build/spec-extractor.js.map +1 -0
  305. package/dist/spec/config.d.ts +35 -1
  306. package/dist/spec/config.d.ts.map +1 -1
  307. package/dist/spec/config.js +30 -5
  308. package/dist/spec/config.js.map +1 -1
  309. package/dist/spec/db/fts.d.ts.map +1 -1
  310. package/dist/spec/db/fts.js +19 -50
  311. package/dist/spec/db/fts.js.map +1 -1
  312. package/dist/spec/db/index.d.ts +5 -3
  313. package/dist/spec/db/index.d.ts.map +1 -1
  314. package/dist/spec/db/index.js +16 -1
  315. package/dist/spec/db/index.js.map +1 -1
  316. package/dist/spec/db/persist.d.ts +45 -0
  317. package/dist/spec/db/persist.d.ts.map +1 -0
  318. package/dist/spec/db/persist.js +66 -0
  319. package/dist/spec/db/persist.js.map +1 -0
  320. package/dist/spec/db/relations.d.ts +80 -1
  321. package/dist/spec/db/relations.d.ts.map +1 -1
  322. package/dist/spec/db/relations.js +175 -4
  323. package/dist/spec/db/relations.js.map +1 -1
  324. package/dist/spec/db/schema.d.ts +4 -0
  325. package/dist/spec/db/schema.d.ts.map +1 -1
  326. package/dist/spec/db/schema.js +4 -0
  327. package/dist/spec/db/schema.js.map +1 -1
  328. package/dist/spec/db/schema.sql +5 -1
  329. package/dist/spec/db/spec-node.d.ts +5 -0
  330. package/dist/spec/db/spec-node.d.ts.map +1 -1
  331. package/dist/spec/db/spec-node.js +11 -5
  332. package/dist/spec/db/spec-node.js.map +1 -1
  333. package/dist/spec/db/sql-utils.d.ts +11 -0
  334. package/dist/spec/db/sql-utils.d.ts.map +1 -0
  335. package/dist/spec/db/sql-utils.js +19 -0
  336. package/dist/spec/db/sql-utils.js.map +1 -0
  337. package/dist/spec/evolve/cluster-context.d.ts +30 -0
  338. package/dist/spec/evolve/cluster-context.d.ts.map +1 -0
  339. package/dist/spec/evolve/cluster-context.js +78 -0
  340. package/dist/spec/evolve/cluster-context.js.map +1 -0
  341. package/dist/spec/evolve/commit-spec-analyzer.d.ts +51 -0
  342. package/dist/spec/evolve/commit-spec-analyzer.d.ts.map +1 -0
  343. package/dist/spec/evolve/commit-spec-analyzer.js +88 -0
  344. package/dist/spec/evolve/commit-spec-analyzer.js.map +1 -0
  345. package/dist/spec/evolve/commit-spec-persister.d.ts +53 -0
  346. package/dist/spec/evolve/commit-spec-persister.d.ts.map +1 -0
  347. package/dist/spec/evolve/commit-spec-persister.js +93 -0
  348. package/dist/spec/evolve/commit-spec-persister.js.map +1 -0
  349. package/dist/spec/evolve/impact-locator.d.ts +23 -7
  350. package/dist/spec/evolve/impact-locator.d.ts.map +1 -1
  351. package/dist/spec/evolve/impact-locator.js +58 -14
  352. package/dist/spec/evolve/impact-locator.js.map +1 -1
  353. package/dist/spec/evolve/pipeline.d.ts +62 -25
  354. package/dist/spec/evolve/pipeline.d.ts.map +1 -1
  355. package/dist/spec/evolve/pipeline.js +436 -457
  356. package/dist/spec/evolve/pipeline.js.map +1 -1
  357. package/dist/spec/evolve/spec-rewriter.d.ts +13 -13
  358. package/dist/spec/evolve/spec-rewriter.d.ts.map +1 -1
  359. package/dist/spec/evolve/spec-rewriter.js +45 -45
  360. package/dist/spec/evolve/spec-rewriter.js.map +1 -1
  361. package/dist/spec/git/commits.d.ts +85 -0
  362. package/dist/spec/git/commits.d.ts.map +1 -0
  363. package/dist/spec/git/commits.js +218 -0
  364. package/dist/spec/git/commits.js.map +1 -0
  365. package/dist/spec/git/exec.d.ts +13 -0
  366. package/dist/spec/git/exec.d.ts.map +1 -0
  367. package/dist/spec/git/exec.js +19 -0
  368. package/dist/spec/git/exec.js.map +1 -0
  369. package/dist/spec/git/index.d.ts +9 -0
  370. package/dist/spec/git/index.d.ts.map +1 -0
  371. package/dist/spec/git/index.js +22 -0
  372. package/dist/spec/git/index.js.map +1 -0
  373. package/dist/spec/git-utils.d.ts +8 -0
  374. package/dist/spec/git-utils.d.ts.map +1 -0
  375. package/dist/spec/git-utils.js +14 -0
  376. package/dist/spec/git-utils.js.map +1 -0
  377. package/dist/spec/graph/index.d.ts +8 -0
  378. package/dist/spec/graph/index.d.ts.map +1 -0
  379. package/dist/spec/graph/index.js +17 -0
  380. package/dist/spec/graph/index.js.map +1 -0
  381. package/dist/spec/graph/queries.d.ts +6 -35
  382. package/dist/spec/graph/queries.d.ts.map +1 -1
  383. package/dist/spec/graph/queries.js +71 -248
  384. package/dist/spec/graph/queries.js.map +1 -1
  385. package/dist/spec/llm/agent-client.d.ts +59 -0
  386. package/dist/spec/llm/agent-client.d.ts.map +1 -0
  387. package/dist/spec/llm/agent-client.js +213 -0
  388. package/dist/spec/llm/agent-client.js.map +1 -0
  389. package/dist/spec/llm/agents/claude-code.d.ts +32 -0
  390. package/dist/spec/llm/agents/claude-code.d.ts.map +1 -0
  391. package/dist/spec/llm/agents/claude-code.js +125 -0
  392. package/dist/spec/llm/agents/claude-code.js.map +1 -0
  393. package/dist/spec/llm/agents/codex.d.ts +32 -0
  394. package/dist/spec/llm/agents/codex.d.ts.map +1 -0
  395. package/dist/spec/llm/agents/codex.js +145 -0
  396. package/dist/spec/llm/agents/codex.js.map +1 -0
  397. package/dist/spec/llm/agents/detect-utils.d.ts +28 -0
  398. package/dist/spec/llm/agents/detect-utils.d.ts.map +1 -0
  399. package/dist/spec/llm/agents/detect-utils.js +91 -0
  400. package/dist/spec/llm/agents/detect-utils.js.map +1 -0
  401. package/dist/spec/llm/agents/deveco-code.d.ts +33 -0
  402. package/dist/spec/llm/agents/deveco-code.d.ts.map +1 -0
  403. package/dist/spec/llm/agents/deveco-code.js +165 -0
  404. package/dist/spec/llm/agents/deveco-code.js.map +1 -0
  405. package/dist/spec/llm/agents/index.d.ts +31 -0
  406. package/dist/spec/llm/agents/index.d.ts.map +1 -0
  407. package/dist/spec/llm/agents/index.js +65 -0
  408. package/dist/spec/llm/agents/index.js.map +1 -0
  409. package/dist/spec/llm/agents/types.d.ts +76 -0
  410. package/dist/spec/llm/agents/types.d.ts.map +1 -0
  411. package/dist/spec/llm/agents/types.js +15 -0
  412. package/dist/spec/llm/agents/types.js.map +1 -0
  413. package/dist/spec/llm/client.d.ts +31 -11
  414. package/dist/spec/llm/client.d.ts.map +1 -1
  415. package/dist/spec/llm/client.js +143 -81
  416. package/dist/spec/llm/client.js.map +1 -1
  417. package/dist/spec/llm/factory.d.ts +41 -0
  418. package/dist/spec/llm/factory.d.ts.map +1 -0
  419. package/dist/spec/llm/factory.js +80 -0
  420. package/dist/spec/llm/factory.js.map +1 -0
  421. package/dist/spec/llm/prompts.d.ts +24 -8
  422. package/dist/spec/llm/prompts.d.ts.map +1 -1
  423. package/dist/spec/llm/prompts.js +100 -50
  424. package/dist/spec/llm/prompts.js.map +1 -1
  425. package/dist/spec/llm/retry.d.ts +53 -0
  426. package/dist/spec/llm/retry.d.ts.map +1 -0
  427. package/dist/spec/llm/retry.js +153 -0
  428. package/dist/spec/llm/retry.js.map +1 -0
  429. package/dist/spec/mine/clusterer.d.ts +63 -0
  430. package/dist/spec/mine/clusterer.d.ts.map +1 -0
  431. package/dist/spec/mine/clusterer.js +904 -0
  432. package/dist/spec/mine/clusterer.js.map +1 -0
  433. package/dist/spec/mine/clustering/features.d.ts +38 -0
  434. package/dist/spec/mine/clustering/features.d.ts.map +1 -0
  435. package/dist/spec/mine/clustering/features.js +108 -0
  436. package/dist/spec/mine/clustering/features.js.map +1 -0
  437. package/dist/spec/mine/clustering/index.d.ts +62 -0
  438. package/dist/spec/mine/clustering/index.d.ts.map +1 -0
  439. package/dist/spec/mine/clustering/index.js +259 -0
  440. package/dist/spec/mine/clustering/index.js.map +1 -0
  441. package/dist/spec/mine/clustering/leiden.d.ts +61 -0
  442. package/dist/spec/mine/clustering/leiden.d.ts.map +1 -0
  443. package/dist/spec/mine/clustering/leiden.js +489 -0
  444. package/dist/spec/mine/clustering/leiden.js.map +1 -0
  445. package/dist/spec/mine/clustering/text-similarity.d.ts +22 -0
  446. package/dist/spec/mine/clustering/text-similarity.d.ts.map +1 -0
  447. package/dist/spec/mine/clustering/text-similarity.js +98 -0
  448. package/dist/spec/mine/clustering/text-similarity.js.map +1 -0
  449. package/dist/spec/mine/generator.d.ts +54 -0
  450. package/dist/spec/mine/generator.d.ts.map +1 -0
  451. package/dist/spec/mine/generator.js +267 -0
  452. package/dist/spec/mine/generator.js.map +1 -0
  453. package/dist/spec/mine/persist.d.ts +37 -0
  454. package/dist/spec/mine/persist.d.ts.map +1 -0
  455. package/dist/spec/mine/persist.js +170 -0
  456. package/dist/spec/mine/persist.js.map +1 -0
  457. package/dist/spec/mine/pipeline.d.ts +41 -0
  458. package/dist/spec/mine/pipeline.d.ts.map +1 -0
  459. package/dist/spec/mine/pipeline.js +236 -0
  460. package/dist/spec/mine/pipeline.js.map +1 -0
  461. package/dist/spec/mine/progress-handler.d.ts +22 -0
  462. package/dist/spec/mine/progress-handler.d.ts.map +1 -0
  463. package/dist/spec/mine/progress-handler.js +108 -0
  464. package/dist/spec/mine/progress-handler.js.map +1 -0
  465. package/dist/spec/mine/progress.d.ts +23 -0
  466. package/dist/spec/mine/progress.d.ts.map +1 -0
  467. package/dist/spec/mine/progress.js +12 -0
  468. package/dist/spec/mine/progress.js.map +1 -0
  469. package/dist/spec/mine/scanner.d.ts +59 -0
  470. package/dist/spec/mine/scanner.d.ts.map +1 -0
  471. package/dist/spec/mine/scanner.js +383 -0
  472. package/dist/spec/mine/scanner.js.map +1 -0
  473. package/dist/spec/types.d.ts +32 -0
  474. package/dist/spec/types.d.ts.map +1 -1
  475. package/dist/spec/ui/index.d.ts +9 -0
  476. package/dist/spec/ui/index.d.ts.map +1 -0
  477. package/dist/spec/ui/index.js +16 -0
  478. package/dist/spec/ui/index.js.map +1 -0
  479. package/dist/spec/ui/progress-handler.d.ts +33 -0
  480. package/dist/spec/ui/progress-handler.d.ts.map +1 -0
  481. package/dist/spec/ui/progress-handler.js +132 -0
  482. package/dist/spec/ui/progress-handler.js.map +1 -0
  483. package/dist/spec/ui/progress.d.ts +24 -0
  484. package/dist/spec/ui/progress.d.ts.map +1 -0
  485. package/dist/spec/ui/progress.js +13 -0
  486. package/dist/spec/ui/progress.js.map +1 -0
  487. package/dist/spec/utils/fs.d.ts +45 -0
  488. package/dist/spec/utils/fs.d.ts.map +1 -0
  489. package/dist/spec/utils/fs.js +163 -0
  490. package/dist/spec/utils/fs.js.map +1 -0
  491. package/dist/spec/utils/index.d.ts +12 -0
  492. package/dist/spec/utils/index.d.ts.map +1 -0
  493. package/dist/spec/utils/index.js +26 -0
  494. package/dist/spec/utils/index.js.map +1 -0
  495. package/dist/spec/utils/meta.d.ts +32 -0
  496. package/dist/spec/utils/meta.d.ts.map +1 -0
  497. package/dist/spec/utils/meta.js +122 -0
  498. package/dist/spec/utils/meta.js.map +1 -0
  499. package/dist/spec/utils/truncate.d.ts +86 -0
  500. package/dist/spec/utils/truncate.d.ts.map +1 -0
  501. package/dist/spec/utils/truncate.js +172 -0
  502. package/dist/spec/utils/truncate.js.map +1 -0
  503. package/dist/spec/utils.d.ts +4 -16
  504. package/dist/spec/utils.d.ts.map +1 -1
  505. package/dist/spec/utils.js +6 -58
  506. package/dist/spec/utils.js.map +1 -1
  507. package/dist/sync/git-hooks.d.ts.map +1 -1
  508. package/dist/sync/git-hooks.js +2 -0
  509. package/dist/sync/git-hooks.js.map +1 -1
  510. package/dist/sync/watcher.d.ts +35 -6
  511. package/dist/sync/watcher.d.ts.map +1 -1
  512. package/dist/sync/watcher.js +127 -17
  513. package/dist/sync/watcher.js.map +1 -1
  514. package/dist/sync/worktree.d.ts.map +1 -1
  515. package/dist/sync/worktree.js +5 -0
  516. package/dist/sync/worktree.js.map +1 -1
  517. package/dist/telemetry/index.js +3 -3
  518. package/dist/telemetry/index.js.map +1 -1
  519. package/dist/types.d.ts +22 -1
  520. package/dist/types.d.ts.map +1 -1
  521. package/dist/types.js +10 -0
  522. package/dist/types.js.map +1 -1
  523. package/dist/upgrade/index.d.ts +32 -0
  524. package/dist/upgrade/index.d.ts.map +1 -1
  525. package/dist/upgrade/index.js +162 -14
  526. package/dist/upgrade/index.js.map +1 -1
  527. package/dist/upgrade/remove-binary.d.ts +87 -0
  528. package/dist/upgrade/remove-binary.d.ts.map +1 -0
  529. package/dist/upgrade/remove-binary.js +289 -0
  530. package/dist/upgrade/remove-binary.js.map +1 -0
  531. package/dist/upgrade/update-check.d.ts +92 -0
  532. package/dist/upgrade/update-check.d.ts.map +1 -0
  533. package/dist/upgrade/update-check.js +258 -0
  534. package/dist/upgrade/update-check.js.map +1 -0
  535. package/package.json +6 -2
  536. package/scripts/agent-eval/run-all.sh +6 -0
  537. package/scripts/build-bundle.sh +5 -0
  538. package/scripts/npm-shim.js +8 -1
  539. package/scripts/exp_boundary_eval/__pycache__/_utils.cpython-310.pyc +0 -0
  540. package/scripts/exp_boundary_eval/__pycache__/analyze.cpython-310.pyc +0 -0
  541. package/scripts/exp_boundary_eval/__pycache__/deveco_arm.cpython-310.pyc +0 -0
  542. package/scripts/exp_boundary_eval/__pycache__/run_one.cpython-310.pyc +0 -0
  543. package/scripts/exp_boundary_eval/__pycache__/run_session.cpython-310.pyc +0 -0
  544. package/scripts/exp_boundary_eval/__pycache__/setup.cpython-310.pyc +0 -0
  545. package/scripts/exp_boundary_eval/data/agents.json +0 -109
  546. package/scripts/exp_boundary_eval/data/experiments.json +0 -140
  547. package/scripts/qa_eval/README.md +0 -407
  548. package/scripts/qa_eval/_test_deveco_probe.py +0 -41
  549. package/scripts/qa_eval/agent_runner.py +0 -526
  550. package/scripts/qa_eval/data/.gitignore +0 -4
  551. package/scripts/qa_eval/data/test-set.jsonl +0 -2
  552. package/scripts/qa_eval/eval_metrics.py +0 -274
  553. package/scripts/qa_eval/external_agent.py +0 -976
  554. package/scripts/qa_eval/llm_config.py +0 -92
  555. package/scripts/qa_eval/memory_monitor.py +0 -132
  556. package/scripts/qa_eval/my_answer_accuracy.py +0 -187
  557. package/scripts/qa_eval/requirements.txt +0 -2
  558. package/scripts/qa_eval/run_pipeline.py +0 -804
  559. package/scripts/qa_eval/stats_efficiency.py +0 -279
  560. package/scripts/qa_eval/stats_scores.py +0 -207
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/spec/evolve/pipeline.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8fA,wDAkCC;AAhiBD;;;;;;;GAOG;AACH,2CAA6B;AAC7B,uCAAyB;AACzB,iDAA6C;AAE7C,sCAAsD;AACtD,oCAA8D;AAC9D,yCAA8C;AAC9C,+CAA+D;AAC/D,mDAAqD;AACrD,uDAAyD;AACzD,+CAGyB;AACzB,uDAAqF;AACrF,6DAA8D;AAC9D,6DAA6E;AAC7E,uDAA0D;AAC1D,0CAA2D;AAC3D,mDAAgD;AAChD,qDAAuD;AACvD,mDAKyB;AACzB,yCAAiD;AA8BjD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,eAAe,CACtB,EAAkB,EAClB,eAAuB,EACvB,MAAc;IAEd,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,EAAkB,EAClB,eAAuB,EACvB,UAAmB,EACnB,SAAqB;IAErB,qEAAqE;IACrE,qBAAqB;IACrB,qEAAqE;IAErE,iEAAiE;IAEjE,sBAAsB;IACtB,MAAM,YAAY,GAChB,UAAU;QACV,CAAC,GAAG,EAAE;YACJ,IAAI,CAAC;gBACH,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;oBAChD,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAU;oBAC5C,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,IAAA,2BAAa,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,2BAA2B,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,2BAAa,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEnD,0EAA0E;IAC1E,MAAM,aAAa,GAAG,IAAA,+BAAiB,EAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAEtE,qDAAqD;IACrD,wEAAwE;IACxE,MAAM,UAAU,GAAG,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC;IACtD,MAAM,MAAM,GAA0B,iBAAiB;QACrD,CAAC,CAAC,IAAI,wBAAe,CAAC,iBAAiB,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IAEd,qEAAqE;IACrE,yDAAyD;IACzD,qEAAqE;IAErE,MAAM,WAAW,GAAG,IAAA,mCAAkB,EACpC,UAAU,CAAC,OAAO,EAClB,eAAe,EACf,UAAU,CACX,CAAC;IACF,IAAI,iBAAiB,GAAwB,IAAI,CAAC;IAClD,IAAI,WAAW,EAAE,CAAC;QAChB,iBAAiB,GAAG,IAAA,oCAAmB,EACrC,eAAe,EACf,WAAW,EACX,UAAU,CACX,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,mEAAmE;IACnE,oCAAoC;IACpC,qEAAqE;IACrE,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAA,gBAAO,EAAC,sEAAsE,EAAE;YAC9E,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACrC,CAAC,CAAC;QACH,OAAO;YACL,UAAU,EAAE,YAAY;YACxB,uBAAuB,EAAE,KAAK;YAC9B,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC;YACnB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI;YACb,UAAU,EACR,4EAA4E;SAC/E,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,qBAAqB;IACrB,qEAAqE;IAErE,IAAI,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,IAAA,6BAAa,EAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,IAAA,gBAAO,EAAC,sDAAsD,EAAE;gBAC9D,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACrC,CAAC,CAAC;YACH,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,qEAAqE;IAErE,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,yCAAyC;QACzC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAErD,wBAAwB;QACxB,MAAM,eAAe,GAAG,IAAA,oCAAmB,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAE3D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,8BAA8B;YAC9B,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,EAAE;iBAClB,OAAO,CACN,gEAAgE,YAAY,GAAG,CAChF;iBACA,GAAG,CAAC,GAAG,eAAe,CAA0B,CAAC;YACpD,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE3C,mDAAmD;YACnD,IAAI,WAAW,EAAE,CAAC;gBAChB,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAA,iBAAQ,EAAC,+BAA+B,EAAE;YACxC,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,sBAAsB;IACtB,qEAAqE;IAErE,MAAM,QAAQ,GAAG,WAAW,KAAK,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAA,iBAAQ,EAAC,4DAA4D,EAAE;YACrE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACrC,CAAC,CAAC;QACH,OAAO;YACL,UAAU,EAAE,YAAY;YACxB,uBAAuB,EAAE,KAAK;YAC9B,aAAa,EAAE,WAAW,CAAC,OAAO;YAClC,gBAAgB,EAAE,WAAW,CAAC,MAAM;YACpC,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC;YACnB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAeD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,eAAe,CAC3C,EAAE,EACF,eAAe,EACf,MAAM,CACP,CAAC;QAEF,MAAM,QAAQ,GAAmB,MAAM,IAAA,4BAAY,EACjD,MAAM,EACN,eAAe,EACf,QAAQ,EACR,UAAU,CAAC,OAAO,EAClB,IAAI,EACJ,iBAAiB,EACjB,MAAM,CACP,CAAC;QAEF,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,qEAAqE;IACrE,yDAAyD;IACzD,iEAAiE;IACjE,qEAAqE;IAErE,MAAM,YAAY,GAAiB;QACjC,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,WAAW,IAAI,SAAS;QACxC,uBAAuB,EAAE,KAAK;QAC9B,aAAa,EAAE,WAAW,CAAC,OAAO;QAClC,gBAAgB,EAAE,WAAW,CAAC,MAAM;QACpC,iBAAiB,EAAE,YAAY,CAAC,MAAM;QACtC,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjB,IAAI,CAAC;QACH,8BAA8B;QAC9B,IAAA,8BAAgB,EAAC,EAAE,EAAE;YACnB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAC;QAEH,wDAAwD;QACxD,IAAI,WAAW,IAAI,iBAAiB,EAAE,CAAC;YACrC,IAAA,0BAAc,EAAC,EAAE,EAAE;gBACjB,EAAE,EAAE,iBAAiB,CAAC,MAAM;gBAC5B,KAAK,EAAE,iBAAiB,CAAC,KAAK;gBAC9B,SAAS,EAAE,iBAAiB,CAAC,SAAS;gBACtC,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;gBACpC,SAAS,EAAE,UAAU,CAAC,SAAS;aAChC,CAAC,CAAC;YAEH,IAAA,oCAAwB,EACtB,EAAE,EACF,iBAAiB,CAAC,MAAM,EACxB,UAAU,CAAC,IAAI,EACf,UAAU,CACX,CAAC;YACF,YAAY,CAAC,uBAAuB,GAAG,IAAI,CAAC;YAC5C,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,IAAA,gBAAO,EAAC,oEAAoE,EAAE;gBAC5E,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAExD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,IAAA,2BAAW,EAC9B,EAAE,EACF,eAAe,EACf,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,CAAC,IAAI,CAChB,CAAC;gBACF,YAAY,CAAC,IAAI,CAAC;oBAChB,MAAM;oBACN,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,SAAS,EAAE,YAAY,CAAC,SAAS;iBAClC,CAAC,CAAC;gBACH,YAAY,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,0BAA0B;YAChE,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3C,IAAA,8BAAc,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC;oBAChB,MAAM;oBACN,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBACH,mDAAmD;gBACnD,YAAY,CAAC,gBAAgB,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,YAAY;gBACZ,YAAY,CAAC,IAAI,CAAC;oBAChB,MAAM;oBACN,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;QAEzC,+EAA+E;QAC/E,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAA,kCAAkB,EAAC,EAAE,EAAE;gBACtC,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YACH,YAAY,CAAC,cAAc,EAAE,CAAC;YAC9B,IAAA,wCAA4B,EAAC,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/D,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;QAED,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,MAAM,CAAC,CAAC;IACV,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAuBD,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAEnD;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,eAAe,EAAE,CAAC;gBAChD,iDAAiD;gBACjD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,EAAkB,EAClB,SAAqB;IAErB,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,uEAAuE;IACvE,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAa,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAA,iBAAQ,EAAC,sEAAsE,CAAC,CAAC;QACjF,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;YACxC,QAAQ,EAAE,EAAE;YACZ,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,IAAA,uBAAc,EAAC,EAAE,CAAC,CAAC;IAEnB,IAAI,CAAC;QACH,OAAO,MAAM,0BAA0B,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,0BAA0B,CACvC,QAAgB,EAChB,EAAkB,EAClB,IAA2D,EAC3D,SAAgC;IAEhC,eAAe;IACf,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAA,4BAAY,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YACpD,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAU;YAC5C,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;IAEjD,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAA,iBAAQ,EAAC,gFAAgF,EAAE;YACzF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SAC/B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEhG,+EAA+E;QAC/E,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC,MAAM,CAAC;YAC1B,WAAW;YACX,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAA,iBAAQ,EAAC,kDAAkD,EAAE;YAC3D,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACzC,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC;QACH,IAAA,4BAAY,EAAC,KAAK,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE;YAC1E,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,4BAA4B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,0BAA0B;YAC7E,SAAS,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,yCAAyC;YACtE,oEAAoE;YACpE,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,MAAM,OAAO,GAAG,IAAA,4BAAc,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAA,iBAAQ,EAAC,wDAAwD,EAAE;YACjE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACzB,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,IAAA,iBAAQ,EAAC,iDAAiD,EAAE;QAC1D,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACzB,CAAC,CAAC;IAEH,oCAAoC;IACpC,MAAM,gBAAgB,GAAmB,EAAE,CAAC;IAC5C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAC3D,CAAC;YACF,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,OAAO;gBAAE,YAAY,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,IAAA,gBAAO,EAAC,0DAA0D,EAAE;gBAClE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,gBAAgB,CAAC,IAAI,CAAC;gBACpB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,uBAAuB,EAAE,KAAK;gBAC9B,aAAa,EAAE,KAAK;gBACpB,gBAAgB,EAAE,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACtF,iBAAiB,EAAE,CAAC;gBACpB,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE,CAAC;gBACjB,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,0CAA0C;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAChE,MAAM,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;IACvC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAA,iBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,QAAQ;QAClB,gBAAgB,EAAE,OAAO,CAAC,MAAM;QAChC,gBAAgB;QAChB,WAAW;QACX,cAAc,EAAE,YAAY;QAC5B,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/spec/evolve/pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { SqliteDatabase } from '../../db/sqlite-adapter';
2
2
  import { LlmClient } from '../llm/client';
3
+ import { ClusterContext } from '../types';
3
4
  export interface EvolveDecision {
4
5
  action: 'UPDATE' | 'DEPRECATE' | 'UNCHANGED';
5
6
  title?: string;
@@ -7,18 +8,19 @@ export interface EvolveDecision {
7
8
  plan_content?: string;
8
9
  }
9
10
  /**
10
- * Ask the LLM whether a commit requires updating, deprecating, or leaving
11
- * a spec unchanged.
11
+ * Ask the LLM whether a cluster of commits requires updating, deprecating,
12
+ * or leaving a spec unchanged.
12
13
  *
13
- * @param specId - The spec identifier (for logging / context).
14
- * @param specStoragePath - Root spec storage directory.
15
- * @param specFilePath - Absolute path to the plan.md file.
16
- * @param commitMessage - First line of the commit message.
17
- * @param commitDiff - Full unified diff of the commit.
18
- * @param scheduleNextSpecs - Remaining spec IDs to be processed (for context).
19
- * @param client - Optional LLM client; if absent, returns UNCHANGED.
14
+ * Accepts a ClusterContext (multiple commits) and uses a cluster-aware
15
+ * prompt template that presents aggregated commit summaries rather than
16
+ * raw concatenated diffs.
17
+ *
18
+ * @param specId - The spec identifier (for logging / context).
19
+ * @param specFilePath - Absolute path to the plan.md file.
20
+ * @param clusterContext - Pre-built cluster context (from buildClusterContext).
21
+ * @param client - LLM client; if absent, returns UNCHANGED.
20
22
  */
21
- export declare function evaluateSpec(specId: string, _specStoragePath: string, specFilePath: string, commitMessage: string, commitDiff: string, scheduleNextSpecs: string[], client?: LlmClient): Promise<EvolveDecision>;
23
+ export declare function evaluateSpecWithCluster(specId: string, specFilePath: string, clusterContext: ClusterContext, client?: LlmClient): Promise<EvolveDecision>;
22
24
  /**
23
25
  * Apply an UPDATE decision: backup the old plan, write the new plan, version
24
26
  * the spec in the database, and transfer relations.
@@ -27,7 +29,7 @@ export declare function evaluateSpec(specId: string, _specStoragePath: string, s
27
29
  *
28
30
  * @returns The new spec ID (same as old) and bumped version number.
29
31
  */
30
- export declare function applyUpdate(db: SqliteDatabase, specStoragePath: string, oldSpecId: string, oldFilePath: string, oldVersion: number, decision: EvolveDecision, commitHash: string): {
32
+ export declare function applyUpdate(db: SqliteDatabase, oldSpecId: string, oldFilePath: string, oldVersion: number, decision: EvolveDecision, commitHash: string): {
31
33
  newSpecId: string;
32
34
  newVersion: number;
33
35
  };
@@ -35,8 +37,6 @@ export declare function applyUpdate(db: SqliteDatabase, specStoragePath: string,
35
37
  * Apply a DEPRECATE decision: mark the spec as deprecated, create a
36
38
  * deprecated target node, create the EVOLVED_FROM relation, and clean
37
39
  * SIMILAR_TO relations.
38
- *
39
- * Ported from spec_rewriter.py:181-231.
40
40
  */
41
41
  export declare function applyDeprecate(db: SqliteDatabase, oldSpecId: string): void;
42
42
  //# sourceMappingURL=spec-rewriter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-rewriter.d.ts","sourceRoot":"","sources":["../../../src/spec/evolve/spec-rewriter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAgBzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAW1C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,cAAc,CAAC,CAoDzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,cAAc,EAClB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmF3C;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,MAAM,GAChB,IAAI,CAqBN"}
1
+ {"version":3,"file":"spec-rewriter.d.ts","sourceRoot":"","sources":["../../../src/spec/evolve/spec-rewriter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAmBzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO1C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,cAAc,CAAC,CA2DzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CA8E3C;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,MAAM,GAChB,IAAI,CAqBN"}
@@ -33,14 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.evaluateSpec = evaluateSpec;
36
+ exports.evaluateSpecWithCluster = evaluateSpecWithCluster;
37
37
  exports.applyUpdate = applyUpdate;
38
38
  exports.applyDeprecate = applyDeprecate;
39
39
  /**
40
- * Spec rewriter — evaluates a commit's impact on a design spec and applies
41
- * UPDATE / DEPRECATE decisions.
42
- *
43
- * Replaces `commit4spec/self_evolve/spec_rewriter.py` (lines 1-231).
40
+ * Spec rewriter — evaluates a commit cluster's impact on a design spec and
41
+ * applies UPDATE / DEPRECATE decisions.
44
42
  *
45
43
  * @module spec/evolve/spec-rewriter
46
44
  */
@@ -48,57 +46,66 @@ const fs = __importStar(require("fs"));
48
46
  const utils_1 = require("../utils");
49
47
  const spec_node_1 = require("../db/spec-node");
50
48
  const relations_1 = require("../db/relations");
51
- const spec_extractor_1 = require("../mining/spec-extractor");
49
+ const spec_extractor_1 = require("../build/spec-extractor");
52
50
  const prompts_1 = require("../llm/prompts");
53
51
  const errors_1 = require("../../errors");
54
52
  // =============================================================================
55
- // evaluateSpec
53
+ // evaluateSpecWithCluster
56
54
  // =============================================================================
57
55
  /**
58
- * Ask the LLM whether a commit requires updating, deprecating, or leaving
59
- * a spec unchanged.
56
+ * Ask the LLM whether a cluster of commits requires updating, deprecating,
57
+ * or leaving a spec unchanged.
58
+ *
59
+ * Accepts a ClusterContext (multiple commits) and uses a cluster-aware
60
+ * prompt template that presents aggregated commit summaries rather than
61
+ * raw concatenated diffs.
60
62
  *
61
- * @param specId - The spec identifier (for logging / context).
62
- * @param specStoragePath - Root spec storage directory.
63
- * @param specFilePath - Absolute path to the plan.md file.
64
- * @param commitMessage - First line of the commit message.
65
- * @param commitDiff - Full unified diff of the commit.
66
- * @param scheduleNextSpecs - Remaining spec IDs to be processed (for context).
67
- * @param client - Optional LLM client; if absent, returns UNCHANGED.
63
+ * @param specId - The spec identifier (for logging / context).
64
+ * @param specFilePath - Absolute path to the plan.md file.
65
+ * @param clusterContext - Pre-built cluster context (from buildClusterContext).
66
+ * @param client - LLM client; if absent, returns UNCHANGED.
68
67
  */
69
- async function evaluateSpec(specId, _specStoragePath, specFilePath, commitMessage, commitDiff, scheduleNextSpecs, client) {
68
+ async function evaluateSpecWithCluster(specId, specFilePath, clusterContext, client) {
70
69
  // 1. Read plan content
71
70
  const planContent = (0, utils_1.readFileContent)(specFilePath);
72
71
  if (planContent === null) {
73
- (0, errors_1.logDebug)('evaluateSpec: plan file not found, returning UNCHANGED', {
72
+ (0, errors_1.logDebug)('evaluateSpecWithCluster: plan file not found, returning UNCHANGED', {
74
73
  specId,
75
74
  specFilePath,
76
75
  });
77
76
  return { action: 'UNCHANGED' };
78
77
  }
79
- // 2. Truncate commitDiff to 6000 chars
80
- const truncatedDiff = (0, utils_1.truncateText)(commitDiff, 6000);
81
- // 3. Build user prompt
82
- const userPrompt = (0, prompts_1.buildSpecEvaluationUserPrompt)(planContent, commitMessage, truncatedDiff, scheduleNextSpecs);
83
- // 4. Call LLM
78
+ // 2. Build user prompt from cluster context
79
+ const userPrompt = (0, prompts_1.buildClusterSpecEvaluationUserPrompt)(planContent, clusterContext);
80
+ // 3. Call LLM
84
81
  if (!client) {
85
- (0, errors_1.logDebug)('evaluateSpec: no LLM client, returning UNCHANGED', { specId });
82
+ (0, errors_1.logDebug)('evaluateSpecWithCluster: no LLM client, returning UNCHANGED', { specId });
86
83
  return { action: 'UNCHANGED' };
87
84
  }
88
- const result = await client.chatJson(prompts_1.SPEC_EVALUATION_SYSTEM_PROMPT, userPrompt);
89
- // 5. Validate action
85
+ let result;
86
+ try {
87
+ result = await client.chatJson(prompts_1.SPEC_EVALUATION_CLUSTER_SYSTEM_PROMPT, userPrompt);
88
+ }
89
+ catch (err) {
90
+ (0, errors_1.logWarn)('evaluateSpecWithCluster: LLM call failed, defaulting to UNCHANGED', {
91
+ specId,
92
+ error: err instanceof Error ? err.message : String(err),
93
+ });
94
+ return { action: 'UNCHANGED' };
95
+ }
96
+ // 4. Validate action
90
97
  const rawAction = result.action;
91
98
  let action = 'UNCHANGED';
92
99
  if (rawAction === 'UPDATE' || rawAction === 'DEPRECATE' || rawAction === 'UNCHANGED') {
93
100
  action = rawAction;
94
101
  }
95
102
  else {
96
- (0, errors_1.logWarn)('evaluateSpec: unknown action from LLM, defaulting to UNCHANGED', {
103
+ (0, errors_1.logWarn)('evaluateSpecWithCluster: unknown action from LLM, defaulting to UNCHANGED', {
97
104
  specId,
98
105
  rawAction: String(rawAction),
99
106
  });
100
107
  }
101
- // 6. Return EvolveDecision
108
+ // 5. Return EvolveDecision
102
109
  return {
103
110
  action,
104
111
  title: typeof result.title === 'string' ? result.title : undefined,
@@ -119,24 +126,21 @@ async function evaluateSpec(specId, _specStoragePath, specFilePath, commitMessag
119
126
  *
120
127
  * @returns The new spec ID (same as old) and bumped version number.
121
128
  */
122
- function applyUpdate(db, specStoragePath, oldSpecId, oldFilePath, oldVersion, decision, commitHash) {
129
+ function applyUpdate(db, oldSpecId, oldFilePath, oldVersion, decision, commitHash) {
123
130
  // ---- Step 1: Write new plan content to temp file ----
124
- // We write to a temp file first so the original is preserved until every
125
- // DB operation succeeds. If the caller's transaction rolls back, the
126
- // temp file is harmless garbage — the original plan.md is untouched.
131
+ const newContent = decision.plan_content || '';
127
132
  const tmpPath = oldFilePath + '.new';
128
- (0, utils_1.writeFileContent)(tmpPath, decision.plan_content || '');
129
- // ---- Step 2: Extract new metadata from the temp file ----
130
- const metadata = (0, spec_extractor_1.extractSpecMetadata)(specStoragePath, oldSpecId);
131
- const metadataTitle = metadata?.title;
132
- const metadataSubtitles = metadata?.subtitles;
133
+ (0, utils_1.writeFileContent)(tmpPath, newContent);
134
+ // ---- Step 2: Extract metadata from the NEW content ----
135
+ // (parsed from the rewritten plan, not the stale on-disk original)
136
+ const newTitle = (0, spec_extractor_1.extractTitleFromMarkdown)(newContent, '');
137
+ const newSubtitles = (0, spec_extractor_1.extractMarkdownHeadings)(newContent);
133
138
  // ---- Step 3: Read old spec data ----
134
139
  const oldSpec = (0, spec_node_1.findSpecById)(db, oldSpecId);
135
140
  if (!oldSpec) {
136
141
  (0, errors_1.logDebug)('applyUpdate: old spec not found in DB, returning early', {
137
142
  oldSpecId,
138
143
  });
139
- // Clean up the temp file — no DB changes were made.
140
144
  try {
141
145
  fs.unlinkSync(tmpPath);
142
146
  }
@@ -164,8 +168,8 @@ function applyUpdate(db, specStoragePath, oldSpecId, oldFilePath, oldVersion, de
164
168
  const newVersion = oldVersion + 1;
165
169
  (0, spec_node_1.insertSpecNode)(db, {
166
170
  id: oldSpecId,
167
- title: decision.title || metadataTitle || oldSpecId,
168
- subtitles: decision.subtitles || metadataSubtitles || [],
171
+ title: decision.title || newTitle || oldSpec.title || oldSpecId,
172
+ subtitles: decision.subtitles || (newSubtitles.length > 0 ? newSubtitles : oldSpec.subtitles),
169
173
  status: 'active',
170
174
  version: newVersion,
171
175
  filePath: oldFilePath,
@@ -176,8 +180,6 @@ function applyUpdate(db, specStoragePath, oldSpecId, oldFilePath, oldVersion, de
176
180
  // ---- Step 9: Create GENERATE relation ----
177
181
  (0, relations_1.insertSpecCommitRelation)(db, oldSpecId, commitHash, 'GENERATE');
178
182
  // ---- Step 10: File system finalisation ----
179
- // Only now — after all DB ops succeeded — do we touch the original disk
180
- // files. rename() is atomic on the same filesystem.
181
183
  try {
182
184
  fs.renameSync(oldFilePath, bakPath);
183
185
  }
@@ -205,8 +207,6 @@ function applyUpdate(db, specStoragePath, oldSpecId, oldFilePath, oldVersion, de
205
207
  * Apply a DEPRECATE decision: mark the spec as deprecated, create a
206
208
  * deprecated target node, create the EVOLVED_FROM relation, and clean
207
209
  * SIMILAR_TO relations.
208
- *
209
- * Ported from spec_rewriter.py:181-231.
210
210
  */
211
211
  function applyDeprecate(db, oldSpecId) {
212
212
  // 1. Mark the spec as deprecated
@@ -219,7 +219,7 @@ function applyDeprecate(db, oldSpecId) {
219
219
  version: 1,
220
220
  title: oldSpecId,
221
221
  subtitles: [],
222
- filePath: '', // Synthetic deprecated node — no on-disk file.
222
+ filePath: '',
223
223
  timestamp: Date.now(),
224
224
  });
225
225
  // 3. Create EVOLVED_FROM relation
@@ -1 +1 @@
1
- {"version":3,"file":"spec-rewriter.js","sourceRoot":"","sources":["../../../src/spec/evolve/spec-rewriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-rewriter.js","sourceRoot":"","sources":["../../../src/spec/evolve/spec-rewriter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,0DAgEC;AAcD,kCAqFC;AAWD,wCAwBC;AApQD;;;;;GAKG;AACH,uCAAyB;AAEzB,oCAA6D;AAC7D,+CAKyB;AACzB,+CAMyB;AACzB,4DAGiC;AAEjC,4CAGwB;AAExB,yCAAiD;AAajD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,YAAoB,EACpB,cAA8B,EAC9B,MAAkB;IAElB,uBAAuB;IACvB,MAAM,WAAW,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,CAAC;IAClD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,IAAA,iBAAQ,EAAC,mEAAmE,EAAE;YAC5E,MAAM;YACN,YAAY;SACb,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG,IAAA,8CAAoC,EACrD,WAAW,EACX,cAAc,CACf,CAAC;IAEF,cAAc;IACd,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAA,iBAAQ,EAAC,6DAA6D,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC5B,+CAAqC,EACrC,UAAU,CACX,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,gBAAO,EAAC,mEAAmE,EAAE;YAC3E,MAAM;YACN,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,IAAI,MAAM,GAA6B,WAAW,CAAC;IACnD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QACrF,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,IAAA,gBAAO,EAAC,2EAA2E,EAAE;YACnF,MAAM;YACN,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,OAAO;QACL,MAAM;QACN,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAClE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAChE,CAAC,CAAC,SAAS;QACb,YAAY,EACV,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;;GAOG;AACH,SAAgB,WAAW,CACzB,EAAkB,EAClB,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,QAAwB,EACxB,UAAkB;IAElB,wDAAwD;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IACrC,IAAA,wBAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEtC,0DAA0D;IAC1D,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAA,yCAAwB,EAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAA,wCAAuB,EAAC,UAAU,CAAC,CAAC;IAEzD,uCAAuC;IACvC,MAAM,OAAO,GAAG,IAAA,wBAAY,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAA,iBAAQ,EAAC,wDAAwD,EAAE;YACjE,SAAS;SACV,CAAC,CAAC;QACH,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC3D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,6CAA6C;IAC7C,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IACrC,MAAM,YAAY,GAAG,GAAG,SAAS,KAAK,UAAU,EAAE,CAAC;IACnD,IAAA,0BAAc,EAAC,EAAE,EAAE;QACjB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;IAEH,qEAAqE;IACrE,IAAA,uCAA2B,EAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACzD,IAAA,qCAAyB,EAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAEvD,2CAA2C;IAC3C,IAAA,sBAAU,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAE1B,2CAA2C;IAC3C,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;IAClC,IAAA,0BAAc,EAAC,EAAE,EAAE;QACjB,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS;QAC/D,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7F,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;IAEH,iDAAiD;IACjD,IAAA,kCAAsB,EAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAEpE,6CAA6C;IAC7C,IAAA,oCAAwB,EAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEhE,8CAA8C;IAC9C,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,IAAA,iBAAQ,EAAC,qEAAqE,EAAE;YAC9E,WAAW;YACX,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,IAAA,iBAAQ,EAAC,wDAAwD,EAAE;YACjE,OAAO;YACP,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;GAIG;AACH,SAAgB,cAAc,CAC5B,EAAkB,EAClB,SAAiB;IAEjB,iCAAiC;IACjC,IAAA,4BAAgB,EAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAE9C,mCAAmC;IACnC,MAAM,kBAAkB,GAAG,GAAG,SAAS,aAAa,CAAC;IACrD,IAAA,0BAAc,EAAC,EAAE,EAAE;QACjB,EAAE,EAAE,kBAAkB;QACtB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;IAEH,kCAAkC;IAClC,IAAA,kCAAsB,EAAC,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAE1E,gCAAgC;IAChC,IAAA,oCAAwB,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Git commit history access for the spec module — commit listing, single
3
+ * commit metadata, diffs, HEAD resolution, and ancestry checks.
4
+ *
5
+ * All Git operations use `execFileSync` with an args array (never template
6
+ * strings) to avoid shell injection risks — matching the HomeGraph convention
7
+ * in `src/sync/git-hooks.ts` and `src/sync/worktree.ts`.
8
+ *
9
+ * @module spec/git/commits
10
+ */
11
+ export interface CommitInfo {
12
+ /** Full 40-char commit hash */
13
+ hash: string;
14
+ /** First line of commit message */
15
+ message: string;
16
+ /** Author name */
17
+ author: string;
18
+ /** Unix epoch milliseconds */
19
+ timestamp: number;
20
+ }
21
+ /**
22
+ * Check whether `repoPath` is a git repository.
23
+ *
24
+ * Runs `git rev-parse --git-dir` and returns `true` on success, `false`
25
+ * when the command fails (not a repo, git not installed, etc.).
26
+ */
27
+ export declare function isGitRepo(repoPath: string): boolean;
28
+ /**
29
+ * Resolve the current HEAD commit hash. Returns `null` when HEAD cannot be
30
+ * resolved (not a repo, unborn branch, etc.).
31
+ */
32
+ export declare function getHeadHash(repoPath: string): string | null;
33
+ /**
34
+ * Check whether `ancestor` is an ancestor of `descendant` in the git history
35
+ * (via `git merge-base --is-ancestor`).
36
+ */
37
+ export declare function isAncestor(repoPath: string, ancestor: string, descendant: string): boolean;
38
+ /**
39
+ * Return every commit in `repoPath` as `CommitInfo` objects, in reverse
40
+ * chronological order (most recent first), matching Git's default.
41
+ *
42
+ * An empty repo yields an empty array.
43
+ */
44
+ export declare function getAllCommits(repoPath: string): CommitInfo[];
45
+ /**
46
+ * Return every commit between `fromHash` (exclusive) and `toHash`
47
+ * (inclusive) in chronological order (oldest first). Merge commits are
48
+ * excluded. Returns an empty array when either hash is not found or the
49
+ * range is empty.
50
+ *
51
+ * Callers should validate that `fromHash` is an ancestor of `toHash` before
52
+ * calling this function (use {@link isAncestor}). Results are undefined when
53
+ * the two hashes are on unrelated branches.
54
+ */
55
+ export declare function getCommitRange(repoPath: string, fromHash: string, toHash: string): CommitInfo[];
56
+ /**
57
+ * Return every commit reachable from `toHash` in chronological order
58
+ * (oldest first). Merge commits are excluded.
59
+ */
60
+ export declare function getCommitsUpTo(repoPath: string, toHash: string): CommitInfo[];
61
+ /**
62
+ * Retrieve metadata for a single commit.
63
+ *
64
+ * Runs `git show -s --format='%H%n%aI%n%an%n%s' <commitHash>`. Returns
65
+ * `null` when the command fails (hash not found, invalid repo, etc.).
66
+ */
67
+ export declare function getCommitInfo(repoPath: string, commitHash: string): CommitInfo | null;
68
+ /**
69
+ * Get the parent hash(es) for a commit.
70
+ * Returns an empty array for root commits or on failure.
71
+ */
72
+ export declare function getParentHashes(repoPath: string, commitHash: string): string[];
73
+ /**
74
+ * Return the full unified diff introduced by `commitHash`.
75
+ *
76
+ * Strategy:
77
+ * 1. Query the parent hash(es) via {@link getParentHashes}.
78
+ * 2. If a parent exists, diff it against the commit: `git diff <parent> <commitHash>`.
79
+ * 3. For an initial (root) commit with no parent, use `git diff <commitHash>`
80
+ * which shows all files added in that commit.
81
+ *
82
+ * Returns an empty string when any Git command fails.
83
+ */
84
+ export declare function getCommitDiff(repoPath: string, commitHash: string): string;
85
+ //# sourceMappingURL=commits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commits.d.ts","sourceRoot":"","sources":["../../../src/spec/git/commits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,MAAM,WAAW,UAAU;IACzB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AA2DD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAWT;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAE5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,UAAU,EAAE,CAEd;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,IAAI,CAwBnB;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAW9E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CA+B1E"}
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ /**
3
+ * Git commit history access for the spec module — commit listing, single
4
+ * commit metadata, diffs, HEAD resolution, and ancestry checks.
5
+ *
6
+ * All Git operations use `execFileSync` with an args array (never template
7
+ * strings) to avoid shell injection risks — matching the HomeGraph convention
8
+ * in `src/sync/git-hooks.ts` and `src/sync/worktree.ts`.
9
+ *
10
+ * @module spec/git/commits
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.isGitRepo = isGitRepo;
14
+ exports.getHeadHash = getHeadHash;
15
+ exports.isAncestor = isAncestor;
16
+ exports.getAllCommits = getAllCommits;
17
+ exports.getCommitRange = getCommitRange;
18
+ exports.getCommitsUpTo = getCommitsUpTo;
19
+ exports.getCommitInfo = getCommitInfo;
20
+ exports.getParentHashes = getParentHashes;
21
+ exports.getCommitDiff = getCommitDiff;
22
+ const child_process_1 = require("child_process");
23
+ const exec_1 = require("./exec");
24
+ // ---------------------------------------------------------------------------
25
+ // git log parsing
26
+ // ---------------------------------------------------------------------------
27
+ /** NUL-separated `git log` format: hash, author ISO date, author name, subject. */
28
+ const GIT_LOG_FORMAT = '--format=%H%x00%aI%x00%an%x00%s%x00';
29
+ /**
30
+ * Convert an ISO-8601 string to Unix epoch milliseconds.
31
+ * Returns 0 for invalid or unparseable strings.
32
+ */
33
+ function parseISOTimestamp(isoString) {
34
+ const ts = new Date(isoString).getTime();
35
+ return isNaN(ts) ? 0 : ts;
36
+ }
37
+ /**
38
+ * Parse NUL-separated `git log` output (see {@link GIT_LOG_FORMAT}) into
39
+ * `CommitInfo` objects. Each commit occupies 4 fields.
40
+ */
41
+ function parseGitLogOutput(stdout) {
42
+ const parts = stdout.replace(/\0+$/, '').trim().split('\0');
43
+ const commits = [];
44
+ for (let i = 0; i + 3 < parts.length; i += 4) {
45
+ const hash = parts[i].trim();
46
+ if (!hash)
47
+ continue;
48
+ commits.push({
49
+ hash,
50
+ timestamp: parseISOTimestamp(parts[i + 1].trim()),
51
+ author: parts[i + 2].trim(),
52
+ message: parts[i + 3].trim(),
53
+ });
54
+ }
55
+ return commits;
56
+ }
57
+ /** Run `git log` with the shared NUL format; returns [] on any failure. */
58
+ function gitLog(repoPath, args) {
59
+ try {
60
+ const stdout = (0, child_process_1.execFileSync)('git', ['log', ...args, GIT_LOG_FORMAT], (0, exec_1.gitExecOptions)(repoPath));
61
+ return parseGitLogOutput(stdout);
62
+ }
63
+ catch {
64
+ return [];
65
+ }
66
+ }
67
+ // ---------------------------------------------------------------------------
68
+ // Repository / HEAD
69
+ // ---------------------------------------------------------------------------
70
+ /**
71
+ * Check whether `repoPath` is a git repository.
72
+ *
73
+ * Runs `git rev-parse --git-dir` and returns `true` on success, `false`
74
+ * when the command fails (not a repo, git not installed, etc.).
75
+ */
76
+ function isGitRepo(repoPath) {
77
+ try {
78
+ (0, child_process_1.execFileSync)('git', ['rev-parse', '--git-dir'], (0, exec_1.gitExecOptions)(repoPath));
79
+ return true;
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ }
85
+ /**
86
+ * Resolve the current HEAD commit hash. Returns `null` when HEAD cannot be
87
+ * resolved (not a repo, unborn branch, etc.).
88
+ */
89
+ function getHeadHash(repoPath) {
90
+ try {
91
+ return (0, child_process_1.execFileSync)('git', ['rev-parse', 'HEAD'], (0, exec_1.gitExecOptions)(repoPath)).trim();
92
+ }
93
+ catch {
94
+ return null;
95
+ }
96
+ }
97
+ /**
98
+ * Check whether `ancestor` is an ancestor of `descendant` in the git history
99
+ * (via `git merge-base --is-ancestor`).
100
+ */
101
+ function isAncestor(repoPath, ancestor, descendant) {
102
+ try {
103
+ (0, child_process_1.execFileSync)('git', ['merge-base', '--is-ancestor', ancestor, descendant], (0, exec_1.gitExecOptions)(repoPath));
104
+ return true;
105
+ }
106
+ catch {
107
+ return false;
108
+ }
109
+ }
110
+ // ---------------------------------------------------------------------------
111
+ // Commit listing
112
+ // ---------------------------------------------------------------------------
113
+ /**
114
+ * Return every commit in `repoPath` as `CommitInfo` objects, in reverse
115
+ * chronological order (most recent first), matching Git's default.
116
+ *
117
+ * An empty repo yields an empty array.
118
+ */
119
+ function getAllCommits(repoPath) {
120
+ return gitLog(repoPath, []);
121
+ }
122
+ /**
123
+ * Return every commit between `fromHash` (exclusive) and `toHash`
124
+ * (inclusive) in chronological order (oldest first). Merge commits are
125
+ * excluded. Returns an empty array when either hash is not found or the
126
+ * range is empty.
127
+ *
128
+ * Callers should validate that `fromHash` is an ancestor of `toHash` before
129
+ * calling this function (use {@link isAncestor}). Results are undefined when
130
+ * the two hashes are on unrelated branches.
131
+ */
132
+ function getCommitRange(repoPath, fromHash, toHash) {
133
+ return gitLog(repoPath, ['--no-merges', '--reverse', `${fromHash}..${toHash}`]);
134
+ }
135
+ /**
136
+ * Return every commit reachable from `toHash` in chronological order
137
+ * (oldest first). Merge commits are excluded.
138
+ */
139
+ function getCommitsUpTo(repoPath, toHash) {
140
+ return gitLog(repoPath, ['--no-merges', '--reverse', toHash]);
141
+ }
142
+ /**
143
+ * Retrieve metadata for a single commit.
144
+ *
145
+ * Runs `git show -s --format='%H%n%aI%n%an%n%s' <commitHash>`. Returns
146
+ * `null` when the command fails (hash not found, invalid repo, etc.).
147
+ */
148
+ function getCommitInfo(repoPath, commitHash) {
149
+ let stdout;
150
+ try {
151
+ stdout = (0, child_process_1.execFileSync)('git', ['show', '-s', '--format=%H%n%aI%n%an%n%s', commitHash], (0, exec_1.gitExecOptions)(repoPath));
152
+ }
153
+ catch {
154
+ return null;
155
+ }
156
+ const lines = stdout.trim().split('\n');
157
+ if (lines.length < 4)
158
+ return null;
159
+ const hash = lines[0].trim();
160
+ if (!hash)
161
+ return null;
162
+ return {
163
+ hash,
164
+ timestamp: parseISOTimestamp(lines[1].trim()),
165
+ author: lines[2].trim(),
166
+ message: lines[3].trim(),
167
+ };
168
+ }
169
+ // ---------------------------------------------------------------------------
170
+ // Diffs
171
+ // ---------------------------------------------------------------------------
172
+ /**
173
+ * Get the parent hash(es) for a commit.
174
+ * Returns an empty array for root commits or on failure.
175
+ */
176
+ function getParentHashes(repoPath, commitHash) {
177
+ try {
178
+ const stdout = (0, child_process_1.execFileSync)('git', ['log', '--pretty=%P', '-n', '1', commitHash], (0, exec_1.gitExecOptions)(repoPath));
179
+ return stdout.trim().split(/\s+/).filter(Boolean);
180
+ }
181
+ catch {
182
+ return [];
183
+ }
184
+ }
185
+ /**
186
+ * Return the full unified diff introduced by `commitHash`.
187
+ *
188
+ * Strategy:
189
+ * 1. Query the parent hash(es) via {@link getParentHashes}.
190
+ * 2. If a parent exists, diff it against the commit: `git diff <parent> <commitHash>`.
191
+ * 3. For an initial (root) commit with no parent, use `git diff <commitHash>`
192
+ * which shows all files added in that commit.
193
+ *
194
+ * Returns an empty string when any Git command fails.
195
+ */
196
+ function getCommitDiff(repoPath, commitHash) {
197
+ const parents = getParentHashes(repoPath, commitHash);
198
+ try {
199
+ if (parents.length > 0) {
200
+ const diffs = [];
201
+ for (const parent of parents) {
202
+ try {
203
+ diffs.push((0, child_process_1.execFileSync)('git', ['diff', parent, commitHash], (0, exec_1.gitExecOptions)(repoPath)));
204
+ }
205
+ catch {
206
+ // Skip diffs that fail for an individual parent
207
+ }
208
+ }
209
+ return diffs.join('\n');
210
+ }
211
+ // Initial commit — no parent.
212
+ return (0, child_process_1.execFileSync)('git', ['diff', commitHash], (0, exec_1.gitExecOptions)(repoPath));
213
+ }
214
+ catch {
215
+ return '';
216
+ }
217
+ }
218
+ //# sourceMappingURL=commits.js.map