maestro-flow 0.5.1 → 0.5.3

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 (530) hide show
  1. package/.agents/skills/insight-challenge/SKILL.md +228 -0
  2. package/.agents/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  3. package/.agents/skills/insight-challenge/specs/verdict-schema.md +239 -0
  4. package/.agents/skills/maestro/SKILL.md +6 -6
  5. package/.agents/skills/maestro-help/SKILL.md +1 -1
  6. package/.agents/skills/maestro-help/index/catalog.json +3 -2
  7. package/.agents/skills/maestro-ralph/SKILL.md +11 -10
  8. package/.agents/skills/maestro-ralph-beta/SKILL.md +11 -10
  9. package/.agents/skills/odyssey-debug/SKILL.md +475 -0
  10. package/.agents/skills/odyssey-improve/SKILL.md +507 -0
  11. package/.agents/skills/odyssey-planex/SKILL.md +603 -0
  12. package/.agents/skills/odyssey-review-test-fix/SKILL.md +429 -0
  13. package/.agents/skills/odyssey-ui/SKILL.md +464 -0
  14. package/.agy/skills/insight-challenge/SKILL.md +230 -0
  15. package/.agy/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  16. package/.agy/skills/insight-challenge/specs/verdict-schema.md +239 -0
  17. package/.agy/skills/maestro/SKILL.md +6 -6
  18. package/.agy/skills/maestro-help/SKILL.md +1 -1
  19. package/.agy/skills/maestro-help/index/catalog.json +3 -2
  20. package/.agy/skills/maestro-ralph/SKILL.md +11 -10
  21. package/.agy/skills/maestro-ralph-beta/SKILL.md +11 -10
  22. package/.agy/skills/odyssey-debug/SKILL.md +475 -0
  23. package/.agy/skills/odyssey-improve/SKILL.md +507 -0
  24. package/.agy/skills/odyssey-planex/SKILL.md +603 -0
  25. package/.agy/skills/odyssey-review-test-fix/SKILL.md +429 -0
  26. package/.agy/skills/odyssey-ui/SKILL.md +464 -0
  27. package/.claude/commands/maestro-ralph-beta.md +11 -10
  28. package/.claude/commands/maestro-ralph.md +11 -10
  29. package/.claude/commands/maestro.md +6 -6
  30. package/.claude/commands/odyssey-debug.md +473 -0
  31. package/.claude/commands/odyssey-improve.md +505 -0
  32. package/.claude/commands/odyssey-planex.md +601 -0
  33. package/.claude/commands/odyssey-review-test-fix.md +427 -0
  34. package/.claude/commands/odyssey-ui.md +462 -0
  35. package/.claude/skills/insight-challenge/SKILL.md +226 -0
  36. package/.claude/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  37. package/.claude/skills/insight-challenge/specs/verdict-schema.md +239 -0
  38. package/.claude/skills/maestro-help/SKILL.md +1 -1
  39. package/.claude/skills/maestro-help/index/catalog.json +3 -2
  40. package/.codex/skills/codify-to-knowhow/SKILL.md +1 -1
  41. package/.codex/skills/learn-decompose/SKILL.md +144 -144
  42. package/.codex/skills/learn-follow/SKILL.md +83 -83
  43. package/.codex/skills/learn-investigate/SKILL.md +84 -84
  44. package/.codex/skills/learn-retro/SKILL.md +113 -113
  45. package/.codex/skills/learn-second-opinion/SKILL.md +116 -116
  46. package/.codex/skills/maestro/SKILL.md +11 -8
  47. package/.codex/skills/maestro-amend/SKILL.md +4 -4
  48. package/.codex/skills/maestro-analyze/SKILL.md +2 -2
  49. package/.codex/skills/maestro-blueprint/SKILL.md +4 -4
  50. package/.codex/skills/maestro-companion/SKILL.md +5 -5
  51. package/.codex/skills/maestro-composer/SKILL.md +217 -217
  52. package/.codex/skills/maestro-grill/SKILL.md +1 -1
  53. package/.codex/skills/maestro-help/SKILL.md +31 -31
  54. package/.codex/skills/maestro-impeccable/SKILL.md +1 -1
  55. package/.codex/skills/maestro-init/SKILL.md +1 -1
  56. package/.codex/skills/maestro-learn/SKILL.md +80 -80
  57. package/.codex/skills/maestro-merge/SKILL.md +76 -76
  58. package/.codex/skills/maestro-milestone-release/SKILL.md +74 -74
  59. package/.codex/skills/maestro-next/SKILL.md +1 -1
  60. package/.codex/skills/maestro-player/SKILL.md +3 -3
  61. package/.codex/skills/maestro-quick/SKILL.md +129 -129
  62. package/.codex/skills/maestro-ralph/SKILL.md +9 -9
  63. package/.codex/skills/maestro-ralph-beta/SKILL.md +35 -35
  64. package/.codex/skills/maestro-ralph-execute/SKILL.md +5 -5
  65. package/.codex/skills/maestro-tools-execute/SKILL.md +3 -3
  66. package/.codex/skills/maestro-tools-register/SKILL.md +3 -3
  67. package/.codex/skills/manage-codebase-rebuild/SKILL.md +412 -412
  68. package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
  69. package/.codex/skills/manage-harvest/SKILL.md +99 -99
  70. package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
  71. package/.codex/skills/manage-knowhow/SKILL.md +95 -95
  72. package/.codex/skills/manage-knowhow-capture/SKILL.md +137 -137
  73. package/.codex/skills/manage-status/SKILL.md +7 -7
  74. package/.codex/skills/manage-wiki/SKILL.md +55 -55
  75. package/.codex/skills/odyssey-debug/SKILL.md +456 -0
  76. package/.codex/skills/odyssey-improve/SKILL.md +466 -0
  77. package/.codex/skills/odyssey-planex/SKILL.md +409 -0
  78. package/.codex/skills/odyssey-review-test-fix/SKILL.md +377 -0
  79. package/.codex/skills/odyssey-ui/SKILL.md +411 -0
  80. package/.codex/skills/quality-auto-test/SKILL.md +1 -1
  81. package/.codex/skills/quality-debug/SKILL.md +8 -8
  82. package/.codex/skills/quality-refactor/SKILL.md +3 -3
  83. package/.codex/skills/quality-review/SKILL.md +1 -1
  84. package/.codex/skills/quality-sync/SKILL.md +111 -111
  85. package/.codex/skills/quality-test/SKILL.md +1 -1
  86. package/.codex/skills/spec-add/SKILL.md +2 -2
  87. package/.codex/skills/spec-load/SKILL.md +1 -1
  88. package/.codex/skills/spec-map/SKILL.md +204 -204
  89. package/.codex/skills/spec-remove/SKILL.md +75 -75
  90. package/.codex/skills/spec-setup/SKILL.md +2 -2
  91. package/.codex/skills/wiki-connect/SKILL.md +73 -73
  92. package/.codex/skills/wiki-digest/SKILL.md +87 -87
  93. package/dashboard/dist/assets/{ArtifactsPage-BLvAqQlQ.js → ArtifactsPage-B6z23DfG.js} +2 -2
  94. package/dashboard/dist/assets/{ChatInput-DU9YGZKX.js → ChatInput-tBtGKV2i.js} +1 -1
  95. package/dashboard/dist/assets/{ChatPage-DYHfheXC.js → ChatPage-CcggDVs4.js} +2 -2
  96. package/dashboard/dist/assets/{CollabPage-CSlmvEa-.js → CollabPage-FaZeqqeS.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-RYWf0dYC.js → ExecutionPanel-DNRwYDXp.js} +1 -1
  98. package/dashboard/dist/assets/{KanbanPage-N55Iv0-X.js → KanbanPage-B2xh2s_N.js} +1 -1
  99. package/dashboard/dist/assets/{MaestroCoordinatePage-BxwZ6yy5.js → MaestroCoordinatePage-DCMGHDAL.js} +1 -1
  100. package/dashboard/dist/assets/{MarkdownRenderer-ZGtOY7Ti.js → MarkdownRenderer-C3FvTqVe.js} +1 -1
  101. package/dashboard/dist/assets/McpPage-HKaJ8cQP.js +16 -0
  102. package/dashboard/dist/assets/{MeetingRoomPage-CxHRn1xx.js → MeetingRoomPage-DGN5oUXH.js} +1 -1
  103. package/dashboard/dist/assets/{OutputPanel-DaL8c1i5.js → OutputPanel-BiCteH5k.js} +1 -1
  104. package/dashboard/dist/assets/{ProblemsPanel-BQTd5812.js → ProblemsPanel-Dk4v9tol.js} +1 -1
  105. package/dashboard/dist/assets/{RequirementBoardPage-22y9u1qh.js → RequirementBoardPage-D10A26gi.js} +1 -1
  106. package/dashboard/dist/assets/{RequirementPage-_mO743Xm.js → RequirementPage-Cs-2omLz.js} +1 -1
  107. package/dashboard/dist/assets/{RoomsPage-CExTbOGr.js → RoomsPage-tKQQhw1W.js} +1 -1
  108. package/dashboard/dist/assets/SpecsPage-LK1QCtcg.js +36 -0
  109. package/dashboard/dist/assets/{TeamsPage-BxEXLb5g.js → TeamsPage-C-bEwB8E.js} +1 -1
  110. package/dashboard/dist/assets/{TreeBrowser-CVtPF5C9.js → TreeBrowser-1YP-DfTY.js} +2 -2
  111. package/dashboard/dist/assets/{WorkflowPage-BoN18Lhs.js → WorkflowPage-dGHPsDDr.js} +2 -2
  112. package/dashboard/dist/assets/{arrow-left-C5ROg97G.js → arrow-left-BPFSEpfO.js} +1 -1
  113. package/dashboard/dist/assets/{check-Bs8PM0tQ.js → check-D5hOViiQ.js} +1 -1
  114. package/dashboard/dist/assets/{chevron-right-SmErd_1F.js → chevron-right-D9BsXrIg.js} +1 -1
  115. package/dashboard/dist/assets/{circle-CjpslL_D.js → circle-Cn5fNpmp.js} +1 -1
  116. package/dashboard/dist/assets/{circle-alert-CuzAg2fd.js → circle-alert-CZvK3B1K.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-BIkDU5D5.js → circle-check-DApOBP0J.js} +1 -1
  118. package/dashboard/dist/assets/{circle-check-big-CYctV8bK.js → circle-check-big-Cd9ztJpl.js} +1 -1
  119. package/dashboard/dist/assets/{code-DoB7rfxt.js → code-C3TuHjMs.js} +1 -1
  120. package/dashboard/dist/assets/{columns-3-Ch5KIyRa.js → columns-3-CO2SvNJb.js} +1 -1
  121. package/dashboard/dist/assets/{download-DadtG2Nr.js → download-BuKGI7KX.js} +1 -1
  122. package/dashboard/dist/assets/{en-2h6fD0j8.js → en-BmpYsIfb.js} +1 -1
  123. package/dashboard/dist/assets/folder-Chwj_P4A.js +11 -0
  124. package/dashboard/dist/assets/folder-open-S72FbKvn.js +6 -0
  125. package/dashboard/dist/assets/{index-BL4h1OKY.js → index-CN0YdC9M.js} +1 -1
  126. package/dashboard/dist/assets/{index-DQIlX2w_.js → index-Cbs79erW.js} +5 -5
  127. package/dashboard/dist/assets/{index-DaFwSmVJ.js → index-CdT1WNND.js} +1 -1
  128. package/dashboard/dist/assets/index-DEvP8cgc.css +1 -0
  129. package/dashboard/dist/assets/{list-CI-XIPZh.js → list-Dg_ojUpi.js} +1 -1
  130. package/dashboard/dist/assets/{loader-DpdMoQvh.js → loader-CMcc73C_.js} +1 -1
  131. package/dashboard/dist/assets/{minus-BVbfXGrC.js → minus-KxmVOIB7.js} +1 -1
  132. package/dashboard/dist/assets/pen-line-D1YTNDPw.js +11 -0
  133. package/dashboard/dist/assets/{pencil-I7GE0y29.js → pencil-BAjxSHuh.js} +1 -1
  134. package/dashboard/dist/assets/{proxy-CcYyZZWI.js → proxy-BewnIei6.js} +1 -1
  135. package/dashboard/dist/assets/{refresh-cw-BG9V_T4R.js → refresh-cw-Chc0RcRY.js} +1 -1
  136. package/dashboard/dist/assets/{rows-2-DP6NjQFk.js → rows-2-DWJuw8OM.js} +1 -1
  137. package/dashboard/dist/assets/{search-b78eLlw2.js → search-CPGb2sEw.js} +1 -1
  138. package/dashboard/dist/assets/{shallow-CJEesgtu.js → shallow-Dy0-7n5s.js} +1 -1
  139. package/dashboard/dist/assets/{table-B_lk-a1d.js → table-VI5scWpO.js} +1 -1
  140. package/dashboard/dist/assets/{team-types-Se7f9LfJ.js → team-types-Cu8zCPN3.js} +1 -1
  141. package/dashboard/dist/assets/{terminal-DXx4tvzq.js → terminal-Bqt5c6Ny.js} +1 -1
  142. package/dashboard/dist/assets/{trash-2-CVh9mnRj.js → trash-2-BcTVifbw.js} +1 -1
  143. package/dashboard/dist/assets/{users-Da9zGME5.js → users-BhFAHz4H.js} +1 -1
  144. package/dashboard/dist/assets/{zap-C0zaC7gJ.js → zap-BWbLhgr6.js} +1 -1
  145. package/dashboard/dist/assets/{zh-CN-r3AvxxOL.js → zh-CN-BIRiTdAD.js} +1 -1
  146. package/dashboard/dist/index.html +2 -2
  147. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -0
  148. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +14 -14
  150. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +188 -56
  151. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  152. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
  153. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +37 -0
  155. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +560 -22
  156. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  157. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +6 -2
  158. package/dashboard/dist-server/src/types/index.d.ts +9 -0
  159. package/dist/src/cli.js +3 -0
  160. package/dist/src/cli.js.map +1 -1
  161. package/dist/src/commands/delegate.d.ts.map +1 -1
  162. package/dist/src/commands/delegate.js +50 -8
  163. package/dist/src/commands/delegate.js.map +1 -1
  164. package/dist/src/commands/domain.d.ts +9 -0
  165. package/dist/src/commands/domain.d.ts.map +1 -0
  166. package/dist/src/commands/domain.js +445 -0
  167. package/dist/src/commands/domain.js.map +1 -0
  168. package/dist/src/commands/hooks.d.ts +10 -0
  169. package/dist/src/commands/hooks.d.ts.map +1 -1
  170. package/dist/src/commands/hooks.js +132 -22
  171. package/dist/src/commands/hooks.js.map +1 -1
  172. package/dist/src/commands/install.d.ts.map +1 -1
  173. package/dist/src/commands/install.js +82 -204
  174. package/dist/src/commands/install.js.map +1 -1
  175. package/dist/src/commands/kg.d.ts.map +1 -1
  176. package/dist/src/commands/kg.js +183 -90
  177. package/dist/src/commands/kg.js.map +1 -1
  178. package/dist/src/commands/search.d.ts +15 -8
  179. package/dist/src/commands/search.d.ts.map +1 -1
  180. package/dist/src/commands/search.js +205 -59
  181. package/dist/src/commands/search.js.map +1 -1
  182. package/dist/src/commands/spec.d.ts.map +1 -1
  183. package/dist/src/commands/spec.js +9 -1
  184. package/dist/src/commands/spec.js.map +1 -1
  185. package/dist/src/commands/update.d.ts.map +1 -1
  186. package/dist/src/commands/update.js +0 -7
  187. package/dist/src/commands/update.js.map +1 -1
  188. package/dist/src/commands/wiki.d.ts.map +1 -1
  189. package/dist/src/commands/wiki.js +8 -1
  190. package/dist/src/commands/wiki.js.map +1 -1
  191. package/dist/src/commands/workspace.d.ts +12 -0
  192. package/dist/src/commands/workspace.d.ts.map +1 -0
  193. package/dist/src/commands/workspace.js +230 -0
  194. package/dist/src/commands/workspace.js.map +1 -0
  195. package/dist/src/config/cli-tools-config.d.ts +5 -0
  196. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  197. package/dist/src/config/cli-tools-config.js +31 -0
  198. package/dist/src/config/cli-tools-config.js.map +1 -1
  199. package/dist/src/config/index.d.ts +9 -1
  200. package/dist/src/config/index.d.ts.map +1 -1
  201. package/dist/src/config/index.js +35 -1
  202. package/dist/src/config/index.js.map +1 -1
  203. package/dist/src/core/install-executor.d.ts +31 -0
  204. package/dist/src/core/install-executor.d.ts.map +1 -0
  205. package/dist/src/core/install-executor.js +231 -0
  206. package/dist/src/core/install-executor.js.map +1 -0
  207. package/dist/src/core/install-profile.d.ts +103 -0
  208. package/dist/src/core/install-profile.d.ts.map +1 -0
  209. package/dist/src/core/install-profile.js +225 -0
  210. package/dist/src/core/install-profile.js.map +1 -0
  211. package/dist/src/graph/kg/credibility.d.ts +37 -0
  212. package/dist/src/graph/kg/credibility.d.ts.map +1 -0
  213. package/dist/src/graph/kg/credibility.js +141 -0
  214. package/dist/src/graph/kg/credibility.js.map +1 -0
  215. package/dist/src/graph/kg/db/connection.d.ts +28 -0
  216. package/dist/src/graph/kg/db/connection.d.ts.map +1 -0
  217. package/dist/src/graph/kg/db/connection.js +142 -0
  218. package/dist/src/graph/kg/db/connection.js.map +1 -0
  219. package/dist/src/graph/kg/db/index.d.ts +5 -0
  220. package/dist/src/graph/kg/db/index.d.ts.map +1 -0
  221. package/dist/src/graph/kg/db/index.js +6 -0
  222. package/dist/src/graph/kg/db/index.js.map +1 -0
  223. package/dist/src/graph/kg/db/migrations.d.ts +8 -0
  224. package/dist/src/graph/kg/db/migrations.d.ts.map +1 -0
  225. package/dist/src/graph/kg/db/migrations.js +88 -0
  226. package/dist/src/graph/kg/db/migrations.js.map +1 -0
  227. package/dist/src/graph/kg/db/queries.d.ts +84 -0
  228. package/dist/src/graph/kg/db/queries.d.ts.map +1 -0
  229. package/dist/src/graph/kg/db/queries.js +471 -0
  230. package/dist/src/graph/kg/db/queries.js.map +1 -0
  231. package/dist/src/graph/kg/db/types.d.ts +123 -0
  232. package/dist/src/graph/kg/db/types.d.ts.map +1 -0
  233. package/dist/src/graph/kg/db/types.js +75 -0
  234. package/dist/src/graph/kg/db/types.js.map +1 -0
  235. package/dist/src/graph/kg/engine.d.ts +87 -0
  236. package/dist/src/graph/kg/engine.d.ts.map +1 -0
  237. package/dist/src/graph/kg/engine.js +247 -0
  238. package/dist/src/graph/kg/engine.js.map +1 -0
  239. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +40 -0
  240. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -0
  241. package/dist/src/graph/kg/extraction/code/code-extractor.js +296 -0
  242. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -0
  243. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts +3 -0
  244. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts.map +1 -0
  245. package/dist/src/graph/kg/extraction/code/dfm-extractor.js +122 -0
  246. package/dist/src/graph/kg/extraction/code/dfm-extractor.js.map +1 -0
  247. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts +14 -0
  248. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts.map +1 -0
  249. package/dist/src/graph/kg/extraction/code/generated-detection.js +65 -0
  250. package/dist/src/graph/kg/extraction/code/generated-detection.js.map +1 -0
  251. package/dist/src/graph/kg/extraction/code/languages/index.d.ts +9 -0
  252. package/dist/src/graph/kg/extraction/code/languages/index.d.ts.map +1 -0
  253. package/dist/src/graph/kg/extraction/code/languages/index.js +2119 -0
  254. package/dist/src/graph/kg/extraction/code/languages/index.js.map +1 -0
  255. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts +5 -0
  256. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts.map +1 -0
  257. package/dist/src/graph/kg/extraction/code/languages/typescript.js +191 -0
  258. package/dist/src/graph/kg/extraction/code/languages/typescript.js.map +1 -0
  259. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts +3 -0
  260. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts.map +1 -0
  261. package/dist/src/graph/kg/extraction/code/liquid-extractor.js +117 -0
  262. package/dist/src/graph/kg/extraction/code/liquid-extractor.js.map +1 -0
  263. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts +3 -0
  264. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts.map +1 -0
  265. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js +84 -0
  266. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js.map +1 -0
  267. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts +3 -0
  268. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts.map +1 -0
  269. package/dist/src/graph/kg/extraction/code/svelte-extractor.js +92 -0
  270. package/dist/src/graph/kg/extraction/code/svelte-extractor.js.map +1 -0
  271. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts +61 -0
  272. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts.map +1 -0
  273. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js +53 -0
  274. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js.map +1 -0
  275. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts +55 -0
  276. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts.map +1 -0
  277. package/dist/src/graph/kg/extraction/code/tree-sitter.js +227 -0
  278. package/dist/src/graph/kg/extraction/code/tree-sitter.js.map +1 -0
  279. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts +6 -0
  280. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts.map +1 -0
  281. package/dist/src/graph/kg/extraction/code/vue-extractor.js +109 -0
  282. package/dist/src/graph/kg/extraction/code/vue-extractor.js.map +1 -0
  283. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts +44 -0
  284. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts.map +1 -0
  285. package/dist/src/graph/kg/extraction/code/wasm-stability.js +140 -0
  286. package/dist/src/graph/kg/extraction/code/wasm-stability.js.map +1 -0
  287. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts +3 -0
  288. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts.map +1 -0
  289. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js +149 -0
  290. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js.map +1 -0
  291. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts +4 -0
  292. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -0
  293. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +114 -0
  294. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -0
  295. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts +3 -0
  296. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts.map +1 -0
  297. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js +84 -0
  298. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js.map +1 -0
  299. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts +3 -0
  300. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts.map +1 -0
  301. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js +173 -0
  302. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js.map +1 -0
  303. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts +3 -0
  304. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts.map +1 -0
  305. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js +165 -0
  306. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js.map +1 -0
  307. package/dist/src/graph/kg/extraction/orchestrator.d.ts +6 -0
  308. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -0
  309. package/dist/src/graph/kg/extraction/orchestrator.js +208 -0
  310. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -0
  311. package/dist/src/graph/kg/index.d.ts +29 -0
  312. package/dist/src/graph/kg/index.d.ts.map +1 -0
  313. package/dist/src/graph/kg/index.js +35 -0
  314. package/dist/src/graph/kg/index.js.map +1 -0
  315. package/dist/src/graph/kg/query/context-builder.d.ts +38 -0
  316. package/dist/src/graph/kg/query/context-builder.d.ts.map +1 -0
  317. package/dist/src/graph/kg/query/context-builder.js +184 -0
  318. package/dist/src/graph/kg/query/context-builder.js.map +1 -0
  319. package/dist/src/graph/kg/query/index.d.ts +8 -0
  320. package/dist/src/graph/kg/query/index.d.ts.map +1 -0
  321. package/dist/src/graph/kg/query/index.js +6 -0
  322. package/dist/src/graph/kg/query/index.js.map +1 -0
  323. package/dist/src/graph/kg/query/scoring.d.ts +19 -0
  324. package/dist/src/graph/kg/query/scoring.d.ts.map +1 -0
  325. package/dist/src/graph/kg/query/scoring.js +158 -0
  326. package/dist/src/graph/kg/query/scoring.js.map +1 -0
  327. package/dist/src/graph/kg/query/search.d.ts +59 -0
  328. package/dist/src/graph/kg/query/search.d.ts.map +1 -0
  329. package/dist/src/graph/kg/query/search.js +158 -0
  330. package/dist/src/graph/kg/query/search.js.map +1 -0
  331. package/dist/src/graph/kg/query/traversal.d.ts +75 -0
  332. package/dist/src/graph/kg/query/traversal.d.ts.map +1 -0
  333. package/dist/src/graph/kg/query/traversal.js +420 -0
  334. package/dist/src/graph/kg/query/traversal.js.map +1 -0
  335. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts +41 -0
  336. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts.map +1 -0
  337. package/dist/src/graph/kg/resolution/callback-synthesizer.js +450 -0
  338. package/dist/src/graph/kg/resolution/callback-synthesizer.js.map +1 -0
  339. package/dist/src/graph/kg/resolution/frameworks/index.d.ts +18 -0
  340. package/dist/src/graph/kg/resolution/frameworks/index.d.ts.map +1 -0
  341. package/dist/src/graph/kg/resolution/frameworks/index.js +632 -0
  342. package/dist/src/graph/kg/resolution/frameworks/index.js.map +1 -0
  343. package/dist/src/graph/kg/resolution/import-resolver.d.ts +73 -0
  344. package/dist/src/graph/kg/resolution/import-resolver.d.ts.map +1 -0
  345. package/dist/src/graph/kg/resolution/import-resolver.js +257 -0
  346. package/dist/src/graph/kg/resolution/import-resolver.js.map +1 -0
  347. package/dist/src/graph/kg/resolution/index.d.ts +11 -0
  348. package/dist/src/graph/kg/resolution/index.d.ts.map +1 -0
  349. package/dist/src/graph/kg/resolution/index.js +7 -0
  350. package/dist/src/graph/kg/resolution/index.js.map +1 -0
  351. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts +22 -0
  352. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts.map +1 -0
  353. package/dist/src/graph/kg/resolution/knowledge-resolver.js +288 -0
  354. package/dist/src/graph/kg/resolution/knowledge-resolver.js.map +1 -0
  355. package/dist/src/graph/kg/resolution/name-matcher.d.ts +25 -0
  356. package/dist/src/graph/kg/resolution/name-matcher.d.ts.map +1 -0
  357. package/dist/src/graph/kg/resolution/name-matcher.js +162 -0
  358. package/dist/src/graph/kg/resolution/name-matcher.js.map +1 -0
  359. package/dist/src/graph/kg/schema.sql +210 -0
  360. package/dist/src/graph/kg/surface/cli.d.ts +3 -0
  361. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -0
  362. package/dist/src/graph/kg/surface/cli.js +500 -0
  363. package/dist/src/graph/kg/surface/cli.js.map +1 -0
  364. package/dist/src/graph/kg/surface/hook-injector.d.ts +33 -0
  365. package/dist/src/graph/kg/surface/hook-injector.d.ts.map +1 -0
  366. package/dist/src/graph/kg/surface/hook-injector.js +172 -0
  367. package/dist/src/graph/kg/surface/hook-injector.js.map +1 -0
  368. package/dist/src/graph/kg/surface/index.d.ts +6 -0
  369. package/dist/src/graph/kg/surface/index.d.ts.map +1 -0
  370. package/dist/src/graph/kg/surface/index.js +5 -0
  371. package/dist/src/graph/kg/surface/index.js.map +1 -0
  372. package/dist/src/graph/kg/surface/mcp-tools.d.ts +20 -0
  373. package/dist/src/graph/kg/surface/mcp-tools.d.ts.map +1 -0
  374. package/dist/src/graph/kg/surface/mcp-tools.js +253 -0
  375. package/dist/src/graph/kg/surface/mcp-tools.js.map +1 -0
  376. package/dist/src/graph/kg/sync/incremental-sync.d.ts +24 -0
  377. package/dist/src/graph/kg/sync/incremental-sync.d.ts.map +1 -0
  378. package/dist/src/graph/kg/sync/incremental-sync.js +71 -0
  379. package/dist/src/graph/kg/sync/incremental-sync.js.map +1 -0
  380. package/dist/src/graph/kg/sync/index.d.ts +5 -0
  381. package/dist/src/graph/kg/sync/index.d.ts.map +1 -0
  382. package/dist/src/graph/kg/sync/index.js +4 -0
  383. package/dist/src/graph/kg/sync/index.js.map +1 -0
  384. package/dist/src/graph/kg/sync/watch-policy.d.ts +33 -0
  385. package/dist/src/graph/kg/sync/watch-policy.d.ts.map +1 -0
  386. package/dist/src/graph/kg/sync/watch-policy.js +90 -0
  387. package/dist/src/graph/kg/sync/watch-policy.js.map +1 -0
  388. package/dist/src/hooks/constants.d.ts +0 -2
  389. package/dist/src/hooks/constants.d.ts.map +1 -1
  390. package/dist/src/hooks/constants.js +0 -2
  391. package/dist/src/hooks/constants.js.map +1 -1
  392. package/dist/src/hooks/keyword-spec-injector.d.ts +6 -0
  393. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  394. package/dist/src/hooks/keyword-spec-injector.js +157 -81
  395. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  396. package/dist/src/hooks/kg-auto-init.d.ts +13 -0
  397. package/dist/src/hooks/kg-auto-init.d.ts.map +1 -0
  398. package/dist/src/hooks/kg-auto-init.js +38 -0
  399. package/dist/src/hooks/kg-auto-init.js.map +1 -0
  400. package/dist/src/hooks/kg-context-injector.d.ts +1 -3
  401. package/dist/src/hooks/kg-context-injector.d.ts.map +1 -1
  402. package/dist/src/hooks/kg-context-injector.js +12 -17
  403. package/dist/src/hooks/kg-context-injector.js.map +1 -1
  404. package/dist/src/hooks/kg-sync-hook.d.ts +1 -9
  405. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
  406. package/dist/src/hooks/kg-sync-hook.js +21 -90
  407. package/dist/src/hooks/kg-sync-hook.js.map +1 -1
  408. package/dist/src/hooks/spec-analytics.d.ts +1 -0
  409. package/dist/src/hooks/spec-analytics.d.ts.map +1 -1
  410. package/dist/src/hooks/spec-analytics.js +1 -3
  411. package/dist/src/hooks/spec-analytics.js.map +1 -1
  412. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  413. package/dist/src/hooks/spec-injector.js +65 -1
  414. package/dist/src/hooks/spec-injector.js.map +1 -1
  415. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  416. package/dist/src/i18n/locales/en.js +52 -9
  417. package/dist/src/i18n/locales/en.js.map +1 -1
  418. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  419. package/dist/src/i18n/locales/zh.js +52 -9
  420. package/dist/src/i18n/locales/zh.js.map +1 -1
  421. package/dist/src/i18n/types.d.ts +40 -4
  422. package/dist/src/i18n/types.d.ts.map +1 -1
  423. package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
  424. package/dist/src/ralph/skill-scanner.js +9 -3
  425. package/dist/src/ralph/skill-scanner.js.map +1 -1
  426. package/dist/src/tools/__tests__/domain-search-debug.d.ts +2 -0
  427. package/dist/src/tools/__tests__/domain-search-debug.d.ts.map +1 -0
  428. package/dist/src/tools/__tests__/domain-search-debug.js +32 -0
  429. package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -0
  430. package/dist/src/tools/domain-loader.d.ts +63 -0
  431. package/dist/src/tools/domain-loader.d.ts.map +1 -0
  432. package/dist/src/tools/domain-loader.js +295 -0
  433. package/dist/src/tools/domain-loader.js.map +1 -0
  434. package/dist/src/tools/domain-matcher.d.ts +24 -0
  435. package/dist/src/tools/domain-matcher.d.ts.map +1 -0
  436. package/dist/src/tools/domain-matcher.js +117 -0
  437. package/dist/src/tools/domain-matcher.js.map +1 -0
  438. package/dist/src/tools/domain-scanner.d.ts +32 -0
  439. package/dist/src/tools/domain-scanner.d.ts.map +1 -0
  440. package/dist/src/tools/domain-scanner.js +263 -0
  441. package/dist/src/tools/domain-scanner.js.map +1 -0
  442. package/dist/src/tools/domain-schema.d.ts +18 -0
  443. package/dist/src/tools/domain-schema.d.ts.map +1 -0
  444. package/dist/src/tools/domain-schema.js +104 -0
  445. package/dist/src/tools/domain-schema.js.map +1 -0
  446. package/dist/src/tools/spec-entry-parser.d.ts +1 -0
  447. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  448. package/dist/src/tools/spec-entry-parser.js +1 -0
  449. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  450. package/dist/src/tools/spec-loader.d.ts +5 -0
  451. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  452. package/dist/src/tools/spec-loader.js +10 -2
  453. package/dist/src/tools/spec-loader.js.map +1 -1
  454. package/dist/src/tui/install-ui/ConfigPanel.d.ts.map +1 -1
  455. package/dist/src/tui/install-ui/ConfigPanel.js +9 -1
  456. package/dist/src/tui/install-ui/ConfigPanel.js.map +1 -1
  457. package/dist/src/tui/install-ui/GroupedHub.d.ts +55 -0
  458. package/dist/src/tui/install-ui/GroupedHub.d.ts.map +1 -0
  459. package/dist/src/tui/install-ui/GroupedHub.js +210 -0
  460. package/dist/src/tui/install-ui/GroupedHub.js.map +1 -0
  461. package/dist/src/tui/install-ui/HooksConfig.d.ts +10 -5
  462. package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -1
  463. package/dist/src/tui/install-ui/HooksConfig.js +83 -18
  464. package/dist/src/tui/install-ui/HooksConfig.js.map +1 -1
  465. package/dist/src/tui/install-ui/InstallConfirm.d.ts +1 -30
  466. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  467. package/dist/src/tui/install-ui/InstallConfirm.js +72 -12
  468. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  469. package/dist/src/tui/install-ui/InstallExecution.d.ts +4 -21
  470. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  471. package/dist/src/tui/install-ui/InstallExecution.js +89 -260
  472. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  473. package/dist/src/tui/install-ui/InstallFlow.d.ts +3 -7
  474. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  475. package/dist/src/tui/install-ui/InstallFlow.js +45 -267
  476. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  477. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  478. package/dist/src/tui/install-ui/InstallHub.js +2 -4
  479. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  480. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  481. package/dist/src/tui/install-ui/InstallResult.js +1 -5
  482. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  483. package/dist/src/tui/install-ui/index.d.ts +5 -1
  484. package/dist/src/tui/install-ui/index.d.ts.map +1 -1
  485. package/dist/src/tui/install-ui/index.js +1 -0
  486. package/dist/src/tui/install-ui/index.js.map +1 -1
  487. package/dist/src/tui/install-ui/types.d.ts +39 -0
  488. package/dist/src/tui/install-ui/types.d.ts.map +1 -1
  489. package/dist/src/tui/install-ui/types.js +1 -1
  490. package/dist/src/tui/install-ui/types.js.map +1 -1
  491. package/dist/src/tui/install-ui/useInstallFlowState.d.ts +69 -0
  492. package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -0
  493. package/dist/src/tui/install-ui/useInstallFlowState.js +288 -0
  494. package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -0
  495. package/dist/src/tui/shared/components.d.ts +4 -0
  496. package/dist/src/tui/shared/components.d.ts.map +1 -1
  497. package/dist/src/tui/shared/components.js +4 -0
  498. package/dist/src/tui/shared/components.js.map +1 -1
  499. package/dist/src/tui/shared/index.d.ts +1 -1
  500. package/dist/src/tui/shared/index.d.ts.map +1 -1
  501. package/dist/src/tui/shared/index.js +1 -1
  502. package/dist/src/tui/shared/index.js.map +1 -1
  503. package/dist/src/tui/shared/tokens.d.ts +5 -5
  504. package/dist/src/tui/shared/tokens.js +5 -5
  505. package/dist/src/tui/shared/tokens.js.map +1 -1
  506. package/dist/src/types/index.d.ts +9 -0
  507. package/dist/src/types/index.d.ts.map +1 -1
  508. package/dist/src/utils/cli-format.d.ts +2 -1
  509. package/dist/src/utils/cli-format.d.ts.map +1 -1
  510. package/dist/src/utils/cli-format.js +14 -3
  511. package/dist/src/utils/cli-format.js.map +1 -1
  512. package/dist/src/utils/cooldown-guard.d.ts +17 -0
  513. package/dist/src/utils/cooldown-guard.d.ts.map +1 -0
  514. package/dist/src/utils/cooldown-guard.js +59 -0
  515. package/dist/src/utils/cooldown-guard.js.map +1 -0
  516. package/dist/src/utils/jsonl-log.d.ts.map +1 -1
  517. package/dist/src/utils/jsonl-log.js +2 -1
  518. package/dist/src/utils/jsonl-log.js.map +1 -1
  519. package/dist/src/utils/update-notices.js +17 -4
  520. package/dist/src/utils/update-notices.js.map +1 -1
  521. package/package.json +4 -5
  522. package/workflows/claude-instructions.md +23 -0
  523. package/workflows/codex-instructions.md +22 -0
  524. package/workflows/finish-work.md +25 -0
  525. package/workflows/updates/update-v3-setup.md +7 -15
  526. package/dashboard/dist/assets/McpPage-Im6s4pGR.js +0 -21
  527. package/dashboard/dist/assets/SpecsPage-gr4KX51-.js +0 -36
  528. package/dashboard/dist/assets/folder-B8ODoZfb.js +0 -16
  529. package/dashboard/dist/assets/index-6-yE5Yl9.css +0 -1
  530. package/dashboard/dist/assets/pen-line-CR8GaHt-.js +0 -6
@@ -0,0 +1,420 @@
1
+ // src/graph/kg/query/traversal.ts — 图遍历 (BFS/DFS)
2
+ // 参考: codegraph/src/graph/traversal.ts
3
+ // ---------------------------------------------------------------------------
4
+ // BFS 广度优先遍历
5
+ // ---------------------------------------------------------------------------
6
+ export function bfs(queries, startNodeId, options) {
7
+ const maxDepth = options?.maxDepth ?? 2;
8
+ const direction = options?.direction ?? 'both';
9
+ const maxNodes = options?.maxNodes ?? 200;
10
+ const edgeKinds = options?.edgeKinds ? new Set(options.edgeKinds) : null;
11
+ const visited = new Set([startNodeId]);
12
+ const nodes = new Map();
13
+ const edges = [];
14
+ // 加载起始节点
15
+ const startNode = queries.getNode(startNodeId);
16
+ if (startNode)
17
+ nodes.set(startNodeId, startNode);
18
+ let frontier = [startNodeId];
19
+ for (let depth = 0; depth < maxDepth && frontier.length > 0; depth++) {
20
+ if (nodes.size >= maxNodes)
21
+ break;
22
+ // 批量获取整层 frontier 的邻居边
23
+ const neighbors = getNeighborsBatch(queries, frontier, direction, edgeKinds);
24
+ const nextFrontier = [];
25
+ const neighborIdsToLoad = [];
26
+ for (const { edge, neighborId } of neighbors) {
27
+ if (nodes.size + neighborIdsToLoad.length >= maxNodes)
28
+ break;
29
+ if (visited.has(neighborId))
30
+ continue;
31
+ visited.add(neighborId);
32
+ nextFrontier.push(neighborId);
33
+ neighborIdsToLoad.push(neighborId);
34
+ edges.push(edge);
35
+ }
36
+ // 批量加载邻居节点
37
+ if (neighborIdsToLoad.length > 0) {
38
+ const loadedNodes = queries.getNodesByIds(neighborIdsToLoad);
39
+ loadedNodes.forEach((node, id) => {
40
+ nodes.set(id, node);
41
+ });
42
+ }
43
+ frontier = nextFrontier;
44
+ }
45
+ return { nodes, edges, visited };
46
+ }
47
+ // ---------------------------------------------------------------------------
48
+ // 调用链追踪 (A→B→C→D)
49
+ // ---------------------------------------------------------------------------
50
+ export function traceCallChain(queries, startSymbol, options) {
51
+ return bfs(queries, startSymbol, {
52
+ maxDepth: options?.maxDepth ?? 5,
53
+ direction: 'outgoing',
54
+ edgeKinds: options?.edgeKinds ?? ['calls', 'imports'],
55
+ maxNodes: 100,
56
+ });
57
+ }
58
+ // ---------------------------------------------------------------------------
59
+ // 调用方/被调用方
60
+ // ---------------------------------------------------------------------------
61
+ export function getCallers(queries, nodeId, depth = 1) {
62
+ const result = bfs(queries, nodeId, {
63
+ maxDepth: depth,
64
+ direction: 'incoming',
65
+ edgeKinds: ['calls'],
66
+ maxNodes: 50,
67
+ });
68
+ const callers = [];
69
+ for (const edge of result.edges) {
70
+ const node = result.nodes.get(edge.source);
71
+ if (node)
72
+ callers.push({ node, edge });
73
+ }
74
+ return callers;
75
+ }
76
+ export function getCallees(queries, nodeId, depth = 1) {
77
+ const result = bfs(queries, nodeId, {
78
+ maxDepth: depth,
79
+ direction: 'outgoing',
80
+ edgeKinds: ['calls'],
81
+ maxNodes: 50,
82
+ });
83
+ const callees = [];
84
+ for (const edge of result.edges) {
85
+ const node = result.nodes.get(edge.target);
86
+ if (node)
87
+ callees.push({ node, edge });
88
+ }
89
+ return callees;
90
+ }
91
+ // ---------------------------------------------------------------------------
92
+ // 影响半径分析
93
+ // ---------------------------------------------------------------------------
94
+ export function getImpactRadius(queries, nodeId, depth = 3) {
95
+ return bfs(queries, nodeId, {
96
+ maxDepth: depth,
97
+ direction: 'outgoing',
98
+ edgeKinds: ['calls', 'imports', 'extends', 'implements', 'references'],
99
+ maxNodes: 200,
100
+ });
101
+ }
102
+ // ---------------------------------------------------------------------------
103
+ // DFS 深度优先遍历
104
+ // ---------------------------------------------------------------------------
105
+ export function dfs(queries, startNodeId, options) {
106
+ const maxDepth = options?.maxDepth ?? 2;
107
+ const direction = options?.direction ?? 'both';
108
+ const maxNodes = options?.maxNodes ?? 200;
109
+ const edgeKinds = options?.edgeKinds ? new Set(options.edgeKinds) : null;
110
+ const visited = new Set([startNodeId]);
111
+ const nodes = new Map();
112
+ const edges = [];
113
+ const startNode = queries.getNode(startNodeId);
114
+ if (startNode)
115
+ nodes.set(startNodeId, startNode);
116
+ function visit(nodeId, depth) {
117
+ if (depth >= maxDepth || nodes.size >= maxNodes)
118
+ return;
119
+ const neighbors = getNeighbors(queries, nodeId, direction, edgeKinds);
120
+ for (const { edge, neighborId } of neighbors) {
121
+ if (nodes.size >= maxNodes)
122
+ return;
123
+ if (visited.has(neighborId))
124
+ continue;
125
+ visited.add(neighborId);
126
+ edges.push(edge);
127
+ const node = queries.getNode(neighborId);
128
+ if (node)
129
+ nodes.set(neighborId, node);
130
+ visit(neighborId, depth + 1);
131
+ }
132
+ }
133
+ visit(startNodeId, 0);
134
+ return { nodes, edges, visited };
135
+ }
136
+ // ---------------------------------------------------------------------------
137
+ // 类型继承树 — extends/implements 双向完整遍历
138
+ // ---------------------------------------------------------------------------
139
+ export function getTypeHierarchy(queries, nodeId) {
140
+ const edgeKindSet = new Set(['extends', 'implements']);
141
+ const visited = new Set([nodeId]);
142
+ const nodes = new Map();
143
+ const edges = [];
144
+ const startNode = queries.getNode(nodeId);
145
+ if (startNode)
146
+ nodes.set(nodeId, startNode);
147
+ // 向上遍历(parents: incoming extends/implements)
148
+ let upFrontier = [nodeId];
149
+ while (upFrontier.length > 0) {
150
+ const next = [];
151
+ for (const nid of upFrontier) {
152
+ const incoming = queries.getIncomingEdges(nid);
153
+ for (const edge of incoming) {
154
+ if (!edgeKindSet.has(edge.kind))
155
+ continue;
156
+ if (visited.has(edge.source))
157
+ continue;
158
+ visited.add(edge.source);
159
+ edges.push(edge);
160
+ next.push(edge.source);
161
+ const node = queries.getNode(edge.source);
162
+ if (node)
163
+ nodes.set(edge.source, node);
164
+ }
165
+ }
166
+ upFrontier = next;
167
+ }
168
+ // 向下遍历(children: outgoing extends/implements)
169
+ let downFrontier = [nodeId];
170
+ while (downFrontier.length > 0) {
171
+ const next = [];
172
+ for (const nid of downFrontier) {
173
+ const outgoing = queries.getOutgoingEdges(nid);
174
+ for (const edge of outgoing) {
175
+ if (!edgeKindSet.has(edge.kind))
176
+ continue;
177
+ if (visited.has(edge.target))
178
+ continue;
179
+ visited.add(edge.target);
180
+ edges.push(edge);
181
+ next.push(edge.target);
182
+ const node = queries.getNode(edge.target);
183
+ if (node)
184
+ nodes.set(edge.target, node);
185
+ }
186
+ }
187
+ downFrontier = next;
188
+ }
189
+ return { nodes, edges, visited };
190
+ }
191
+ // ---------------------------------------------------------------------------
192
+ // 查找所有使用点 — 所有 incoming edge 的 source 节点
193
+ // ---------------------------------------------------------------------------
194
+ export function findUsages(queries, nodeId) {
195
+ const incoming = queries.getIncomingEdges(nodeId);
196
+ const result = [];
197
+ for (const edge of incoming) {
198
+ const node = queries.getNode(edge.source);
199
+ if (node)
200
+ result.push({ node, edge });
201
+ }
202
+ return result;
203
+ }
204
+ // ---------------------------------------------------------------------------
205
+ // 祖先链 — 沿 contains 边向上回溯
206
+ // ---------------------------------------------------------------------------
207
+ export function getAncestors(queries, nodeId) {
208
+ const ancestors = [];
209
+ const seen = new Set([nodeId]);
210
+ let current = nodeId;
211
+ while (true) {
212
+ const incoming = queries.getIncomingEdges(current);
213
+ const containsEdge = incoming.find(e => e.kind === 'contains' && !seen.has(e.source));
214
+ if (!containsEdge)
215
+ break;
216
+ seen.add(containsEdge.source);
217
+ const parent = queries.getNode(containsEdge.source);
218
+ if (!parent)
219
+ break;
220
+ ancestors.push(parent);
221
+ current = containsEdge.source;
222
+ }
223
+ return ancestors;
224
+ }
225
+ // ---------------------------------------------------------------------------
226
+ // 直接子节点 — contains 边的 target
227
+ // ---------------------------------------------------------------------------
228
+ export function getChildren(queries, nodeId) {
229
+ const outgoing = queries.getOutgoingEdges(nodeId);
230
+ const children = [];
231
+ for (const edge of outgoing) {
232
+ if (edge.kind !== 'contains')
233
+ continue;
234
+ const child = queries.getNode(edge.target);
235
+ if (child)
236
+ children.push(child);
237
+ }
238
+ return children;
239
+ }
240
+ // ---------------------------------------------------------------------------
241
+ // 双向调用图 — callers + callees 合并为完整子图
242
+ // ---------------------------------------------------------------------------
243
+ export function getCallGraph(queries, nodeId, depth = 2) {
244
+ return bfs(queries, nodeId, {
245
+ maxDepth: depth,
246
+ direction: 'both',
247
+ edgeKinds: ['calls', 'references', 'imports'],
248
+ maxNodes: 200,
249
+ });
250
+ }
251
+ export function getNodeContext(queries, nodeId) {
252
+ const focal = queries.getNode(nodeId);
253
+ if (!focal)
254
+ return null;
255
+ const ancestors = getAncestors(queries, nodeId);
256
+ const children = getChildren(queries, nodeId);
257
+ const incomingRefs = [];
258
+ for (const edge of queries.getIncomingEdges(nodeId)) {
259
+ if (edge.kind === 'contains')
260
+ continue;
261
+ const node = queries.getNode(edge.source);
262
+ if (node)
263
+ incomingRefs.push({ node, edge });
264
+ }
265
+ const outgoingRefs = [];
266
+ for (const edge of queries.getOutgoingEdges(nodeId)) {
267
+ if (edge.kind === 'contains')
268
+ continue;
269
+ const node = queries.getNode(edge.target);
270
+ if (node)
271
+ outgoingRefs.push({ node, edge });
272
+ }
273
+ const typeHierarchy = getTypeHierarchy(queries, nodeId);
274
+ return { focal, ancestors, children, incomingRefs, outgoingRefs, typeHierarchy };
275
+ }
276
+ // ---------------------------------------------------------------------------
277
+ // 文件级依赖 — imports 边聚合到文件层
278
+ // ---------------------------------------------------------------------------
279
+ export function getFileDependencies(queries, filePath) {
280
+ const fileNodes = queries.getNodesByFile(filePath);
281
+ const depFiles = new Set();
282
+ for (const node of fileNodes) {
283
+ const outgoing = queries.getOutgoingEdges(node.id);
284
+ for (const edge of outgoing) {
285
+ if (edge.kind !== 'imports')
286
+ continue;
287
+ const target = queries.getNode(edge.target);
288
+ if (target && target.filePath && target.filePath !== filePath) {
289
+ depFiles.add(target.filePath);
290
+ }
291
+ }
292
+ }
293
+ return [...depFiles];
294
+ }
295
+ export function getFileDependents(queries, filePath) {
296
+ const fileNodes = queries.getNodesByFile(filePath);
297
+ const depFiles = new Set();
298
+ for (const node of fileNodes) {
299
+ const incoming = queries.getIncomingEdges(node.id);
300
+ for (const edge of incoming) {
301
+ if (edge.kind !== 'imports')
302
+ continue;
303
+ const source = queries.getNode(edge.source);
304
+ if (source && source.filePath && source.filePath !== filePath) {
305
+ depFiles.add(source.filePath);
306
+ }
307
+ }
308
+ }
309
+ return [...depFiles];
310
+ }
311
+ // ---------------------------------------------------------------------------
312
+ // 死代码检测 — 无引用的非导出符号
313
+ // ---------------------------------------------------------------------------
314
+ export function findDeadCode(queries, options) {
315
+ const allNodes = queries.searchCodeFTS('*', { limit: 10000 });
316
+ const deadNodes = [];
317
+ const kinds = options?.kinds ? new Set(options.kinds) : null;
318
+ for (const node of allNodes) {
319
+ if (kinds && !kinds.has(node.kind))
320
+ continue;
321
+ if (node.isExported)
322
+ continue;
323
+ const incoming = queries.getIncomingEdges(node.id);
324
+ const hasExternalRef = incoming.some(e => e.kind !== 'contains');
325
+ if (!hasExternalRef)
326
+ deadNodes.push(node);
327
+ }
328
+ return deadNodes;
329
+ }
330
+ export function getNodeMetrics(queries, nodeId) {
331
+ const node = queries.getNode(nodeId);
332
+ if (!node)
333
+ return null;
334
+ const incoming = queries.getIncomingEdges(nodeId);
335
+ const outgoing = queries.getOutgoingEdges(nodeId);
336
+ return {
337
+ incomingEdgeCount: incoming.length,
338
+ outgoingEdgeCount: outgoing.length,
339
+ callCount: outgoing.filter(e => e.kind === 'calls').length,
340
+ callerCount: incoming.filter(e => e.kind === 'calls').length,
341
+ childCount: outgoing.filter(e => e.kind === 'contains').length,
342
+ depth: getAncestors(queries, nodeId).length,
343
+ };
344
+ }
345
+ export function findShortestPath(queries, fromId, toId, maxDepth = 10) {
346
+ const visited = new Set([fromId]);
347
+ const parent = new Map();
348
+ let frontier = [fromId];
349
+ for (let depth = 0; depth < maxDepth && frontier.length > 0; depth++) {
350
+ const nextFrontier = [];
351
+ for (const nodeId of frontier) {
352
+ const neighbors = getNeighbors(queries, nodeId, 'both', null);
353
+ for (const { neighborId, edge } of neighbors) {
354
+ if (visited.has(neighborId))
355
+ continue;
356
+ visited.add(neighborId);
357
+ parent.set(neighborId, { from: nodeId, edge });
358
+ nextFrontier.push(neighborId);
359
+ if (neighborId === toId) {
360
+ const path = [{ nodeId: toId, edge: null }];
361
+ let current = toId;
362
+ while (parent.has(current)) {
363
+ const p = parent.get(current);
364
+ path.unshift({ nodeId: p.from, edge: p.edge });
365
+ current = p.from;
366
+ }
367
+ return path;
368
+ }
369
+ }
370
+ }
371
+ frontier = nextFrontier;
372
+ }
373
+ return null;
374
+ }
375
+ function getNeighbors(queries, nodeId, direction, edgeKinds) {
376
+ const neighbors = [];
377
+ if (direction === 'outgoing' || direction === 'both') {
378
+ const outgoing = queries.getOutgoingEdges(nodeId);
379
+ for (const edge of outgoing) {
380
+ if (edgeKinds && !edgeKinds.has(edge.kind))
381
+ continue;
382
+ neighbors.push({ edge, neighborId: edge.target });
383
+ }
384
+ }
385
+ if (direction === 'incoming' || direction === 'both') {
386
+ const incoming = queries.getIncomingEdges(nodeId);
387
+ for (const edge of incoming) {
388
+ if (edgeKinds && !edgeKinds.has(edge.kind))
389
+ continue;
390
+ neighbors.push({ edge, neighborId: edge.source });
391
+ }
392
+ }
393
+ return neighbors;
394
+ }
395
+ /** 批量获取多个节点的邻居 — 整层 frontier 一次 SQL 查询 */
396
+ function getNeighborsBatch(queries, nodeIds, direction, edgeKinds) {
397
+ const neighbors = [];
398
+ if (direction === 'outgoing' || direction === 'both') {
399
+ const outgoingMap = queries.getOutgoingEdgesBatch(nodeIds);
400
+ outgoingMap.forEach((edges) => {
401
+ for (const edge of edges) {
402
+ if (edgeKinds && !edgeKinds.has(edge.kind))
403
+ continue;
404
+ neighbors.push({ edge, neighborId: edge.target });
405
+ }
406
+ });
407
+ }
408
+ if (direction === 'incoming' || direction === 'both') {
409
+ const incomingMap = queries.getIncomingEdgesBatch(nodeIds);
410
+ incomingMap.forEach((edges) => {
411
+ for (const edge of edges) {
412
+ if (edgeKinds && !edgeKinds.has(edge.kind))
413
+ continue;
414
+ neighbors.push({ edge, neighborId: edge.source });
415
+ }
416
+ });
417
+ }
418
+ return neighbors;
419
+ }
420
+ //# sourceMappingURL=traversal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traversal.js","sourceRoot":"","sources":["../../../../../src/graph/kg/query/traversal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { UnifiedEdge } from '../db/types.js';
2
+ export interface SynthesisResult {
3
+ edges: UnifiedEdge[];
4
+ channelsFound: number;
5
+ callbacksLinked: number;
6
+ durationMs: number;
7
+ }
8
+ export interface CallbackQueryAdapter {
9
+ getNodesByKind(kind: string): Array<{
10
+ id: string;
11
+ name: string;
12
+ qualifiedName: string;
13
+ filePath: string;
14
+ }>;
15
+ getOutgoingEdges(nodeId: string, kind?: string): Array<{
16
+ target: string;
17
+ kind: string;
18
+ line?: number;
19
+ }>;
20
+ getIncomingEdges(nodeId: string, kind?: string): Array<{
21
+ source: string;
22
+ kind: string;
23
+ line?: number;
24
+ }>;
25
+ insertEdges(edges: UnifiedEdge[]): number;
26
+ }
27
+ /**
28
+ * 运行全部 14 个阶段的回调合成
29
+ *
30
+ * Phase 1-5 为通用阶段 (已实现)
31
+ * Phase 6-11 为框架特化阶段 (Vue SFC, Go gRPC, React Native, Fabric, MyBatis, Gin)
32
+ * — 完整版从 CodeGraph callback-synthesizer.ts 移植
33
+ *
34
+ * 扇出上限保护:
35
+ * MAX_CALLBACKS_PER_CHANNEL = 40
36
+ * EVENT_FANOUT_CAP = 6
37
+ * CC_FANOUT_CAP = 8
38
+ * MAX_JSX_CHILDREN = 30
39
+ */
40
+ export declare function runCallbackSynthesis(adapter: CallbackQueryAdapter): SynthesisResult;
41
+ //# sourceMappingURL=callback-synthesizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback-synthesizer.d.ts","sourceRoot":"","sources":["../../../../../src/graph/kg/resolution/callback-synthesizer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAelD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3G,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxG,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;CAC3C;AAscD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,GAC5B,eAAe,CAoEjB"}