@lzehrung/codegraph 2.1.1 → 2.2.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 (494) hide show
  1. package/README.md +2 -2
  2. package/codegraph-skill/codegraph/SKILL.md +25 -7
  3. package/dist/agent/artifact.d.ts.map +1 -1
  4. package/dist/agent/artifact.js +105 -14
  5. package/dist/agent/artifact.js.map +1 -1
  6. package/dist/agent/explain.d.ts +3 -0
  7. package/dist/agent/explain.d.ts.map +1 -1
  8. package/dist/agent/explain.js +8 -0
  9. package/dist/agent/explain.js.map +1 -1
  10. package/dist/agent/explore.d.ts.map +1 -1
  11. package/dist/agent/explore.js +8 -1
  12. package/dist/agent/explore.js.map +1 -1
  13. package/dist/agent/handles.d.ts.map +1 -1
  14. package/dist/agent/handles.js +2 -8
  15. package/dist/agent/handles.js.map +1 -1
  16. package/dist/agent/orient.js +2 -16
  17. package/dist/agent/orient.js.map +1 -1
  18. package/dist/agent/packet.d.ts.map +1 -1
  19. package/dist/agent/packet.js +5 -12
  20. package/dist/agent/packet.js.map +1 -1
  21. package/dist/agent/query-index/content.d.ts +1 -1
  22. package/dist/agent/query-index/content.js +4 -4
  23. package/dist/agent/query-index/content.js.map +1 -1
  24. package/dist/agent/query-index/store.d.ts +5 -4
  25. package/dist/agent/query-index/store.d.ts.map +1 -1
  26. package/dist/agent/query-index/store.js +56 -18
  27. package/dist/agent/query-index/store.js.map +1 -1
  28. package/dist/agent/query-index/update.d.ts.map +1 -1
  29. package/dist/agent/query-index/update.js +24 -9
  30. package/dist/agent/query-index/update.js.map +1 -1
  31. package/dist/agent/renamePreview.d.ts.map +1 -1
  32. package/dist/agent/renamePreview.js +51 -2
  33. package/dist/agent/renamePreview.js.map +1 -1
  34. package/dist/agent/search.d.ts +3 -1
  35. package/dist/agent/search.d.ts.map +1 -1
  36. package/dist/agent/search.js +64 -18
  37. package/dist/agent/search.js.map +1 -1
  38. package/dist/agent/session.d.ts.map +1 -1
  39. package/dist/agent/session.js +4 -4
  40. package/dist/agent/session.js.map +1 -1
  41. package/dist/agent-tools.js +6 -6
  42. package/dist/agent-tools.js.map +1 -1
  43. package/dist/bin/cli.js +9242 -6344
  44. package/dist/bin/queryIndexWorker.js +437 -86
  45. package/dist/bin/rawQueryWorker.js +26 -2
  46. package/dist/chunking/chunkSplit.js +0 -15
  47. package/dist/chunking/chunkSplit.js.map +1 -1
  48. package/dist/cli/callHierarchy.d.ts.map +1 -1
  49. package/dist/cli/callHierarchy.js +9 -2
  50. package/dist/cli/callHierarchy.js.map +1 -1
  51. package/dist/cli/commandCatalog.d.ts.map +1 -1
  52. package/dist/cli/commandCatalog.js +1 -0
  53. package/dist/cli/commandCatalog.js.map +1 -1
  54. package/dist/cli/commandTable.d.ts.map +1 -1
  55. package/dist/cli/commandTable.js +18 -1
  56. package/dist/cli/commandTable.js.map +1 -1
  57. package/dist/cli/compileCache.d.ts +5 -0
  58. package/dist/cli/compileCache.d.ts.map +1 -1
  59. package/dist/cli/compileCache.js +18 -0
  60. package/dist/cli/compileCache.js.map +1 -1
  61. package/dist/cli/context.d.ts.map +1 -1
  62. package/dist/cli/context.js +0 -1
  63. package/dist/cli/context.js.map +1 -1
  64. package/dist/cli/graph.d.ts.map +1 -1
  65. package/dist/cli/graph.js +52 -16
  66. package/dist/cli/graph.js.map +1 -1
  67. package/dist/cli/grep.d.ts +1 -1
  68. package/dist/cli/grep.d.ts.map +1 -1
  69. package/dist/cli/grep.js +14 -4
  70. package/dist/cli/grep.js.map +1 -1
  71. package/dist/cli/help.d.ts +2 -1
  72. package/dist/cli/help.d.ts.map +1 -1
  73. package/dist/cli/help.js +23 -2
  74. package/dist/cli/help.js.map +1 -1
  75. package/dist/cli/indexPolicy.d.ts.map +1 -1
  76. package/dist/cli/indexPolicy.js +1 -0
  77. package/dist/cli/indexPolicy.js.map +1 -1
  78. package/dist/cli/inspect.d.ts.map +1 -1
  79. package/dist/cli/inspect.js +5 -2
  80. package/dist/cli/inspect.js.map +1 -1
  81. package/dist/cli/install.js +1 -1
  82. package/dist/cli/install.js.map +1 -1
  83. package/dist/cli/options.d.ts +1 -1
  84. package/dist/cli/options.d.ts.map +1 -1
  85. package/dist/cli/options.js +54 -5
  86. package/dist/cli/options.js.map +1 -1
  87. package/dist/cli/renamePreview.d.ts.map +1 -1
  88. package/dist/cli/renamePreview.js +7 -1
  89. package/dist/cli/renamePreview.js.map +1 -1
  90. package/dist/cli/rootPolicy.d.ts.map +1 -1
  91. package/dist/cli/rootPolicy.js +36 -3
  92. package/dist/cli/rootPolicy.js.map +1 -1
  93. package/dist/cli/server.d.ts +59 -0
  94. package/dist/cli/server.d.ts.map +1 -0
  95. package/dist/cli/server.js +906 -0
  96. package/dist/cli/server.js.map +1 -0
  97. package/dist/cli/skill.js +1 -1
  98. package/dist/cli/skill.js.map +1 -1
  99. package/dist/cli/sql.js +1 -1
  100. package/dist/cli/symbols.d.ts.map +1 -1
  101. package/dist/cli/symbols.js +4 -2
  102. package/dist/cli/symbols.js.map +1 -1
  103. package/dist/cli.d.ts +1 -1
  104. package/dist/cli.d.ts.map +1 -1
  105. package/dist/cli.js +37 -16
  106. package/dist/cli.js.map +1 -1
  107. package/dist/documentLinks/check.d.ts.map +1 -1
  108. package/dist/documentLinks/check.js +20 -9
  109. package/dist/documentLinks/check.js.map +1 -1
  110. package/dist/documentLinks.d.ts.map +1 -1
  111. package/dist/documentLinks.js +0 -1
  112. package/dist/documentLinks.js.map +1 -1
  113. package/dist/drift/snapshot.js +1 -1
  114. package/dist/drift/snapshot.js.map +1 -1
  115. package/dist/duplicates/scoring.d.ts.map +1 -1
  116. package/dist/duplicates/scoring.js.map +1 -1
  117. package/dist/duplicates/types.d.ts +2 -0
  118. package/dist/duplicates/types.d.ts.map +1 -1
  119. package/dist/duplicates/unitCache.d.ts.map +1 -1
  120. package/dist/duplicates/unitCache.js +1 -1
  121. package/dist/duplicates/unitCache.js.map +1 -1
  122. package/dist/duplicates/units.d.ts.map +1 -1
  123. package/dist/duplicates/units.js +8 -5
  124. package/dist/duplicates/units.js.map +1 -1
  125. package/dist/duplicates.d.ts.map +1 -1
  126. package/dist/duplicates.js +59 -6
  127. package/dist/duplicates.js.map +1 -1
  128. package/dist/graph-edge-collector.d.ts +0 -2
  129. package/dist/graph-edge-collector.d.ts.map +1 -1
  130. package/dist/graph-edge-collector.js +2 -4
  131. package/dist/graph-edge-collector.js.map +1 -1
  132. package/dist/graphs/edgeResolution.d.ts.map +1 -1
  133. package/dist/graphs/specifiers.d.ts +1 -1
  134. package/dist/graphs/specifiers.d.ts.map +1 -1
  135. package/dist/graphs/specifiers.js +1 -1
  136. package/dist/graphs/specifiers.js.map +1 -1
  137. package/dist/graphs/symbol-graph-detailed.d.ts +10 -1
  138. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  139. package/dist/graphs/symbol-graph-detailed.js +18 -5
  140. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  141. package/dist/impact/analyzer.d.ts.map +1 -1
  142. package/dist/impact/analyzer.js +4 -1
  143. package/dist/impact/analyzer.js.map +1 -1
  144. package/dist/impact/budgets.d.ts.map +1 -1
  145. package/dist/impact/budgets.js +5 -3
  146. package/dist/impact/budgets.js.map +1 -1
  147. package/dist/impact/callCompatibility.d.ts +8 -1
  148. package/dist/impact/callCompatibility.d.ts.map +1 -1
  149. package/dist/impact/callCompatibility.js +55 -17
  150. package/dist/impact/callCompatibility.js.map +1 -1
  151. package/dist/impact/context.d.ts.map +1 -1
  152. package/dist/impact/context.js +4 -1
  153. package/dist/impact/context.js.map +1 -1
  154. package/dist/impact/direct.d.ts +1 -1
  155. package/dist/impact/direct.d.ts.map +1 -1
  156. package/dist/impact/parse.d.ts.map +1 -1
  157. package/dist/impact/parse.js +10 -1
  158. package/dist/impact/parse.js.map +1 -1
  159. package/dist/impact/report-suggestions.d.ts.map +1 -1
  160. package/dist/impact/report-suggestions.js +17 -11
  161. package/dist/impact/report-suggestions.js.map +1 -1
  162. package/dist/impact/report.d.ts.map +1 -1
  163. package/dist/impact/report.js +13 -2
  164. package/dist/impact/report.js.map +1 -1
  165. package/dist/impact/reportCompact.d.ts.map +1 -1
  166. package/dist/impact/reportCompact.js +1 -0
  167. package/dist/impact/reportCompact.js.map +1 -1
  168. package/dist/impact/reportFull.d.ts.map +1 -1
  169. package/dist/impact/reportFull.js +1 -0
  170. package/dist/impact/reportFull.js.map +1 -1
  171. package/dist/impact/reportParts.d.ts +9 -0
  172. package/dist/impact/reportParts.d.ts.map +1 -1
  173. package/dist/impact/severity.d.ts +3 -2
  174. package/dist/impact/severity.d.ts.map +1 -1
  175. package/dist/impact/severity.js +16 -5
  176. package/dist/impact/severity.js.map +1 -1
  177. package/dist/impact/streaming.d.ts.map +1 -1
  178. package/dist/impact/streaming.js +5 -5
  179. package/dist/impact/streaming.js.map +1 -1
  180. package/dist/impact/transitive.d.ts.map +1 -1
  181. package/dist/impact/transitive.js +13 -5
  182. package/dist/impact/transitive.js.map +1 -1
  183. package/dist/impact/types.d.ts +14 -0
  184. package/dist/impact/types.d.ts.map +1 -1
  185. package/dist/impact/types.js.map +1 -1
  186. package/dist/index.d.ts +1 -1
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js.map +1 -1
  189. package/dist/indexer/build-cache/manifest.d.ts +5 -3
  190. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  191. package/dist/indexer/build-cache/manifest.js +122 -15
  192. package/dist/indexer/build-cache/manifest.js.map +1 -1
  193. package/dist/indexer/build-cache/module-cache.d.ts +1 -0
  194. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  195. package/dist/indexer/build-cache/module-cache.js +7 -1
  196. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  197. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  198. package/dist/indexer/build-cache/options.js +0 -2
  199. package/dist/indexer/build-cache/options.js.map +1 -1
  200. package/dist/indexer/build-cache/project-snapshot.d.ts +15 -11
  201. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  202. package/dist/indexer/build-cache/project-snapshot.js +167 -79
  203. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  204. package/dist/indexer/build-cache/resolver-environment.d.ts +2 -2
  205. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
  206. package/dist/indexer/build-cache/resolver-environment.js +33 -6
  207. package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
  208. package/dist/indexer/build-cache.d.ts +2 -2
  209. package/dist/indexer/build-cache.d.ts.map +1 -1
  210. package/dist/indexer/build-cache.js +2 -2
  211. package/dist/indexer/build-cache.js.map +1 -1
  212. package/dist/indexer/build-index.d.ts.map +1 -1
  213. package/dist/indexer/build-index.js +164 -84
  214. package/dist/indexer/build-index.js.map +1 -1
  215. package/dist/indexer/build-manifest.d.ts.map +1 -1
  216. package/dist/indexer/build-manifest.js +3 -0
  217. package/dist/indexer/build-manifest.js.map +1 -1
  218. package/dist/indexer/build-workers.d.ts +30 -3
  219. package/dist/indexer/build-workers.d.ts.map +1 -1
  220. package/dist/indexer/build-workers.js +111 -45
  221. package/dist/indexer/build-workers.js.map +1 -1
  222. package/dist/indexer/call-hierarchy.d.ts.map +1 -1
  223. package/dist/indexer/import-types.d.ts +8 -0
  224. package/dist/indexer/import-types.d.ts.map +1 -1
  225. package/dist/indexer/imports/python.d.ts.map +1 -1
  226. package/dist/indexer/imports/python.js +13 -8
  227. package/dist/indexer/imports/python.js.map +1 -1
  228. package/dist/indexer/imports.d.ts +0 -3
  229. package/dist/indexer/imports.d.ts.map +1 -1
  230. package/dist/indexer/imports.js +1 -1
  231. package/dist/indexer/imports.js.map +1 -1
  232. package/dist/indexer/incremental-plan.d.ts +2 -1
  233. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  234. package/dist/indexer/incremental-plan.js +7 -4
  235. package/dist/indexer/incremental-plan.js.map +1 -1
  236. package/dist/indexer/locals-and-exports.d.ts +2 -2
  237. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  238. package/dist/indexer/locals-and-exports.js +27 -3
  239. package/dist/indexer/locals-and-exports.js.map +1 -1
  240. package/dist/indexer/navigation-local.d.ts +2 -2
  241. package/dist/indexer/navigation-local.d.ts.map +1 -1
  242. package/dist/indexer/navigation-local.js +2 -2
  243. package/dist/indexer/navigation-local.js.map +1 -1
  244. package/dist/indexer/navigation-references.d.ts +1 -2
  245. package/dist/indexer/navigation-references.d.ts.map +1 -1
  246. package/dist/indexer/navigation-references.js +8 -2
  247. package/dist/indexer/navigation-references.js.map +1 -1
  248. package/dist/indexer/navigation.d.ts.map +1 -1
  249. package/dist/indexer/navigation.js +12 -4
  250. package/dist/indexer/navigation.js.map +1 -1
  251. package/dist/indexer/parse-context.d.ts +2 -5
  252. package/dist/indexer/parse-context.d.ts.map +1 -1
  253. package/dist/indexer/parse-context.js +34 -8
  254. package/dist/indexer/parse-context.js.map +1 -1
  255. package/dist/indexer/scope.d.ts +2 -2
  256. package/dist/indexer/scope.d.ts.map +1 -1
  257. package/dist/indexer/scope.js +1 -1
  258. package/dist/indexer/scope.js.map +1 -1
  259. package/dist/indexer/types.d.ts +5 -1
  260. package/dist/indexer/types.d.ts.map +1 -1
  261. package/dist/indexer.d.ts +3 -6
  262. package/dist/indexer.d.ts.map +1 -1
  263. package/dist/indexer.js +5 -8
  264. package/dist/indexer.js.map +1 -1
  265. package/dist/installer/locks.d.ts.map +1 -1
  266. package/dist/installer/locks.js +1 -3
  267. package/dist/installer/locks.js.map +1 -1
  268. package/dist/installer/registry.d.ts.map +1 -1
  269. package/dist/installer/registry.js +63 -32
  270. package/dist/installer/registry.js.map +1 -1
  271. package/dist/languages/definitions/c.d.ts.map +1 -1
  272. package/dist/languages/definitions/c.js +0 -1
  273. package/dist/languages/definitions/c.js.map +1 -1
  274. package/dist/languages/definitions/cFamily.d.ts +0 -1
  275. package/dist/languages/definitions/cFamily.d.ts.map +1 -1
  276. package/dist/languages/definitions/cFamily.js +0 -2
  277. package/dist/languages/definitions/cFamily.js.map +1 -1
  278. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  279. package/dist/languages/definitions/cpp.js +0 -1
  280. package/dist/languages/definitions/cpp.js.map +1 -1
  281. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  282. package/dist/languages/definitions/csharp.js +0 -2
  283. package/dist/languages/definitions/csharp.js.map +1 -1
  284. package/dist/languages/definitions/css.d.ts.map +1 -1
  285. package/dist/languages/definitions/css.js +0 -2
  286. package/dist/languages/definitions/css.js.map +1 -1
  287. package/dist/languages/definitions/go.d.ts.map +1 -1
  288. package/dist/languages/definitions/go.js +0 -2
  289. package/dist/languages/definitions/go.js.map +1 -1
  290. package/dist/languages/definitions/html.d.ts.map +1 -1
  291. package/dist/languages/definitions/html.js +0 -2
  292. package/dist/languages/definitions/html.js.map +1 -1
  293. package/dist/languages/definitions/htmlStub.d.ts.map +1 -1
  294. package/dist/languages/definitions/htmlStub.js +0 -2
  295. package/dist/languages/definitions/htmlStub.js.map +1 -1
  296. package/dist/languages/definitions/java.d.ts.map +1 -1
  297. package/dist/languages/definitions/java.js +0 -2
  298. package/dist/languages/definitions/java.js.map +1 -1
  299. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  300. package/dist/languages/definitions/javascript.js +0 -2
  301. package/dist/languages/definitions/javascript.js.map +1 -1
  302. package/dist/languages/definitions/kotlin.d.ts.map +1 -1
  303. package/dist/languages/definitions/kotlin.js +0 -2
  304. package/dist/languages/definitions/kotlin.js.map +1 -1
  305. package/dist/languages/definitions/less.d.ts.map +1 -1
  306. package/dist/languages/definitions/less.js +0 -2
  307. package/dist/languages/definitions/less.js.map +1 -1
  308. package/dist/languages/definitions/php.d.ts.map +1 -1
  309. package/dist/languages/definitions/php.js +0 -2
  310. package/dist/languages/definitions/php.js.map +1 -1
  311. package/dist/languages/definitions/python.d.ts.map +1 -1
  312. package/dist/languages/definitions/python.js +0 -2
  313. package/dist/languages/definitions/python.js.map +1 -1
  314. package/dist/languages/definitions/ruby.d.ts.map +1 -1
  315. package/dist/languages/definitions/ruby.js +0 -2
  316. package/dist/languages/definitions/ruby.js.map +1 -1
  317. package/dist/languages/definitions/rust.d.ts.map +1 -1
  318. package/dist/languages/definitions/rust.js +0 -2
  319. package/dist/languages/definitions/rust.js.map +1 -1
  320. package/dist/languages/definitions/scss.d.ts.map +1 -1
  321. package/dist/languages/definitions/scss.js +0 -2
  322. package/dist/languages/definitions/scss.js.map +1 -1
  323. package/dist/languages/definitions/sql.d.ts.map +1 -1
  324. package/dist/languages/definitions/sql.js +0 -2
  325. package/dist/languages/definitions/sql.js.map +1 -1
  326. package/dist/languages/definitions/svelte.d.ts.map +1 -1
  327. package/dist/languages/definitions/svelte.js +0 -2
  328. package/dist/languages/definitions/svelte.js.map +1 -1
  329. package/dist/languages/definitions/swift.d.ts.map +1 -1
  330. package/dist/languages/definitions/swift.js +0 -2
  331. package/dist/languages/definitions/swift.js.map +1 -1
  332. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  333. package/dist/languages/definitions/typescript.js +0 -3
  334. package/dist/languages/definitions/typescript.js.map +1 -1
  335. package/dist/languages/definitions/vue.d.ts.map +1 -1
  336. package/dist/languages/definitions/vue.js +0 -2
  337. package/dist/languages/definitions/vue.js.map +1 -1
  338. package/dist/languages/definitions/zig.d.ts.map +1 -1
  339. package/dist/languages/definitions/zig.js +0 -2
  340. package/dist/languages/definitions/zig.js.map +1 -1
  341. package/dist/languages/filePrep.d.ts +0 -2
  342. package/dist/languages/filePrep.d.ts.map +1 -1
  343. package/dist/languages/filePrep.js +0 -1
  344. package/dist/languages/filePrep.js.map +1 -1
  345. package/dist/languages/types.d.ts +19 -5
  346. package/dist/languages/types.d.ts.map +1 -1
  347. package/dist/languages.d.ts +1 -3
  348. package/dist/languages.d.ts.map +1 -1
  349. package/dist/languages.js +0 -7
  350. package/dist/languages.js.map +1 -1
  351. package/dist/lifecycle/manifest.d.ts.map +1 -1
  352. package/dist/lifecycle/manifest.js +21 -4
  353. package/dist/lifecycle/manifest.js.map +1 -1
  354. package/dist/mcp/handlers.d.ts +275 -0
  355. package/dist/mcp/handlers.d.ts.map +1 -0
  356. package/dist/mcp/handlers.js +657 -0
  357. package/dist/mcp/handlers.js.map +1 -0
  358. package/dist/mcp/httpTransport.d.ts +14 -0
  359. package/dist/mcp/httpTransport.d.ts.map +1 -0
  360. package/dist/mcp/httpTransport.js +185 -0
  361. package/dist/mcp/httpTransport.js.map +1 -0
  362. package/dist/mcp/legacySessions.d.ts +38 -0
  363. package/dist/mcp/legacySessions.d.ts.map +1 -0
  364. package/dist/mcp/legacySessions.js +264 -0
  365. package/dist/mcp/legacySessions.js.map +1 -0
  366. package/dist/mcp/lifecycleHealth.d.ts +12 -0
  367. package/dist/mcp/lifecycleHealth.d.ts.map +1 -0
  368. package/dist/mcp/lifecycleHealth.js +37 -0
  369. package/dist/mcp/lifecycleHealth.js.map +1 -0
  370. package/dist/mcp/protocol.d.ts +35 -0
  371. package/dist/mcp/protocol.d.ts.map +1 -0
  372. package/dist/mcp/protocol.js +577 -0
  373. package/dist/mcp/protocol.js.map +1 -0
  374. package/dist/mcp/server.d.ts +9 -291
  375. package/dist/mcp/server.d.ts.map +1 -1
  376. package/dist/mcp/server.js +13 -1517
  377. package/dist/mcp/server.js.map +1 -1
  378. package/dist/mcp/tools.d.ts.map +1 -1
  379. package/dist/mcp/tools.js +8 -1
  380. package/dist/mcp/tools.js.map +1 -1
  381. package/dist/native/bindingLoader.d.ts +27 -0
  382. package/dist/native/bindingLoader.d.ts.map +1 -1
  383. package/dist/native/bindingLoader.js +18 -1
  384. package/dist/native/bindingLoader.js.map +1 -1
  385. package/dist/native/contracts.d.ts +59 -12
  386. package/dist/native/contracts.d.ts.map +1 -1
  387. package/dist/native/execution.d.ts +10 -1
  388. package/dist/native/execution.d.ts.map +1 -1
  389. package/dist/native/execution.js +59 -3
  390. package/dist/native/execution.js.map +1 -1
  391. package/dist/native/projectedTree.d.ts +20 -5
  392. package/dist/native/projectedTree.d.ts.map +1 -1
  393. package/dist/native/projectedTree.js +100 -48
  394. package/dist/native/projectedTree.js.map +1 -1
  395. package/dist/native/runtime.d.ts +47 -1
  396. package/dist/native/runtime.d.ts.map +1 -1
  397. package/dist/native/runtime.js +151 -8
  398. package/dist/native/runtime.js.map +1 -1
  399. package/dist/native/runtimeCache.d.ts +92 -0
  400. package/dist/native/runtimeCache.d.ts.map +1 -1
  401. package/dist/native/runtimeCache.js +443 -13
  402. package/dist/native/runtimeCache.js.map +1 -1
  403. package/dist/native/treeShape.d.ts +21 -0
  404. package/dist/native/treeShape.d.ts.map +1 -0
  405. package/dist/native/treeShape.js +28 -0
  406. package/dist/native/treeShape.js.map +1 -0
  407. package/dist/native/treeSitterNative.d.ts +3 -3
  408. package/dist/native/treeSitterNative.d.ts.map +1 -1
  409. package/dist/native/treeSitterNative.js +2 -2
  410. package/dist/native/treeSitterNative.js.map +1 -1
  411. package/dist/presets.d.ts +7 -1
  412. package/dist/presets.d.ts.map +1 -1
  413. package/dist/presets.js +4 -0
  414. package/dist/presets.js.map +1 -1
  415. package/dist/review/candidates.d.ts.map +1 -1
  416. package/dist/review/candidates.js +4 -1
  417. package/dist/review/candidates.js.map +1 -1
  418. package/dist/review/deleted.js +2 -2
  419. package/dist/review/deleted.js.map +1 -1
  420. package/dist/review/summaries.d.ts +5 -0
  421. package/dist/review/summaries.d.ts.map +1 -1
  422. package/dist/review/summaries.js +19 -11
  423. package/dist/review/summaries.js.map +1 -1
  424. package/dist/review/types.d.ts +3 -1
  425. package/dist/review/types.d.ts.map +1 -1
  426. package/dist/review/types.js +8 -1
  427. package/dist/review/types.js.map +1 -1
  428. package/dist/review.d.ts.map +1 -1
  429. package/dist/review.js +7 -3
  430. package/dist/review.js.map +1 -1
  431. package/dist/sql/extractFacts.d.ts.map +1 -1
  432. package/dist/sql/extractFacts.js +1 -1
  433. package/dist/sql/extractFacts.js.map +1 -1
  434. package/dist/sqlite/schema.d.ts +2 -1
  435. package/dist/sqlite/schema.d.ts.map +1 -1
  436. package/dist/sqlite/schema.js +15 -1
  437. package/dist/sqlite/schema.js.map +1 -1
  438. package/dist/sqlite/write.d.ts.map +1 -1
  439. package/dist/sqlite/write.js +15 -0
  440. package/dist/sqlite/write.js.map +1 -1
  441. package/dist/sqlite-driver.d.ts +11 -0
  442. package/dist/sqlite-driver.d.ts.map +1 -1
  443. package/dist/sqlite-driver.js +27 -2
  444. package/dist/sqlite-driver.js.map +1 -1
  445. package/dist/util/concurrency.d.ts +1 -0
  446. package/dist/util/concurrency.d.ts.map +1 -1
  447. package/dist/util/concurrency.js +9 -2
  448. package/dist/util/concurrency.js.map +1 -1
  449. package/dist/util/confinedFile.d.ts +1 -0
  450. package/dist/util/confinedFile.d.ts.map +1 -1
  451. package/dist/util/confinedFile.js +17 -5
  452. package/dist/util/confinedFile.js.map +1 -1
  453. package/dist/util/errors.d.ts +2 -0
  454. package/dist/util/errors.d.ts.map +1 -1
  455. package/dist/util/errors.js +18 -0
  456. package/dist/util/errors.js.map +1 -1
  457. package/dist/util/git.d.ts.map +1 -1
  458. package/dist/util/git.js +72 -7
  459. package/dist/util/git.js.map +1 -1
  460. package/dist/util/lazySymbols.js +1 -1
  461. package/dist/util/lazySymbols.js.map +1 -1
  462. package/dist/util/paths.d.ts.map +1 -1
  463. package/dist/util/paths.js +45 -9
  464. package/dist/util/paths.js.map +1 -1
  465. package/dist/util/resolution/jvm.d.ts.map +1 -1
  466. package/dist/util/resolution/jvm.js +14 -8
  467. package/dist/util/resolution/jvm.js.map +1 -1
  468. package/dist/util/resolution/php.d.ts.map +1 -1
  469. package/dist/util/resolution/php.js +0 -1
  470. package/dist/util/resolution/php.js.map +1 -1
  471. package/dist/util/resolution/tsconfig.d.ts.map +1 -1
  472. package/dist/util/resolution/tsconfig.js +26 -12
  473. package/dist/util/resolution/tsconfig.js.map +1 -1
  474. package/dist/util/resolution.d.ts.map +1 -1
  475. package/dist/util/resolution.js +5 -5
  476. package/dist/util/resolution.js.map +1 -1
  477. package/dist/worker/nativeExtractWorker.d.ts +14 -6
  478. package/dist/worker/nativeExtractWorker.d.ts.map +1 -1
  479. package/dist/worker/nativeExtractWorker.js +67 -14
  480. package/dist/worker/nativeExtractWorker.js.map +1 -1
  481. package/dist/worker/nativeWorkerPool.d.ts +4 -0
  482. package/dist/worker/nativeWorkerPool.d.ts.map +1 -1
  483. package/dist/worker/nativeWorkerPool.js +6 -1
  484. package/dist/worker/nativeWorkerPool.js.map +1 -1
  485. package/docs/mcp.md +22 -6
  486. package/package.json +3 -3
  487. package/dist/languages/definitions/loadLanguage.d.ts +0 -2
  488. package/dist/languages/definitions/loadLanguage.d.ts.map +0 -1
  489. package/dist/languages/definitions/loadLanguage.js +0 -2
  490. package/dist/languages/definitions/loadLanguage.js.map +0 -1
  491. package/dist/parserBackend.d.ts +0 -57
  492. package/dist/parserBackend.d.ts.map +0 -1
  493. package/dist/parserBackend.js +0 -33
  494. package/dist/parserBackend.js.map +0 -1
package/README.md CHANGED
@@ -18,7 +18,7 @@ codegraph is a local CLI **and TypeScript library** that turns a source tree int
18
18
 
19
19
  Without structural context, an agent burns early turns listing directories, guessing search terms, opening candidate files, and reconstructing relationships. codegraph does that discovery once so the context window can stay focused on the problem.
20
20
 
21
- On this repository under Node 24 with a warm cache, `codegraph orient --root . --budget small --json` returned in about **0.6s**, and the matching MCP `orient` call returned in about **100ms**.
21
+ Warm-cache timings for `codegraph orient --root . --budget small --json` on this repository have ranged from about **0.6s** (Windows 11, Node 24) to about **2.5s** (a 4-core Linux container, Node 22), so treat them as machine-dependent rather than a headline figure; the matching MCP `orient` call returned in about **100ms** on the faster of the two. [The performance program index](docs/plans/2026-07-25-performance-program-index.md) records the current measurements and the conditions behind them.
22
22
 
23
23
  With Node.js 22.16 or newer, install from npm:
24
24
 
@@ -302,7 +302,7 @@ codegraph skill install --agent claude
302
302
  codegraph skill install --agent cursor
303
303
  ```
304
304
 
305
- See [Agent workflows](./docs/agent-workflows.md) for exploration strategy, warm sessions, streaming, review loops, and tool wrappers. See [MCP](./docs/mcp.md) for server and client configuration.
305
+ See [Agent workflows](./docs/agent-workflows.md) for exploration strategy, warm sessions, streaming, review loops, and tool wrappers. Use `codegraph server start --root . --warmup` to share one local MCP HTTP server, then inspect or stop it with `codegraph server status --root . --json` and `codegraph server stop --root .`; lifecycle verification keeps its secret outside the project. See [MCP](./docs/mcp.md) for server and client configuration.
306
306
 
307
307
  ## Language support
308
308
 
@@ -20,6 +20,10 @@ Use plain text search for exact strings, logs, config keys, secrets, and prose.
20
20
 
21
21
  Bare `codegraph` prints five task-first routes without scanning the project. Use `codegraph --help` for the full command catalog and `codegraph help <command>` for command help; unknown commands suggest but never execute alternatives.
22
22
 
23
+ Exit `0` means completion without a failure condition. Exit `1` can mean findings, no matching target, or a runtime failure. Inspect its output before continuing; findings and no matching targets are actionable, while runtime or analysis failures need error handling.
24
+
25
+ Exit `2` means invalid usage or input. `links` uses `1` for broken local links; do not treat it as an invocation error.
26
+
23
27
  | Task | Start here |
24
28
  | --------------------------------------------------------- | -------------------------------------------------------- |
25
29
  | Review staged and unstaged work | `codegraph review` |
@@ -56,8 +60,9 @@ Use `--root` to define the boundary for config lookup, path confinement, and out
56
60
 
57
61
  `explore` returns ranked anchors, bounded packets, dependency paths, blast radius, candidate tests, explicit limits, omission counts, and copyable follow-ups. Human-readable output ends with `Recommended next:` using the first bounded follow-up; JSON keeps the stable `schemaVersion: 1` fields and `followUps` array as tool-call descriptors (`{tool, arguments, label?}`), not CLI strings. Hybrid search is code-first by default, and search, explain, explore, and review preserve analysis labels so reduced or mixed runs remain visible.
58
62
 
59
- Use `symbols` instead of hybrid `search` when only declarations should compete. It supports `--kind <kind,...>`, `--exported`, `--include-imports`, project-relative `--file-glob`, and `--limit <0-500>`; imports default off, and only named/default aliases that resolve to concrete declarations are returned.
63
+ Use `search --no-snippets` when handles and paths are sufficient and source text will be fetched separately with `file`. Use `explain --changed-context` for bounded source context around changed ranges in changed-file or review workflows.
60
64
 
65
+ Use `symbols` instead of hybrid `search` when only declarations should compete. It supports `--kind <kind,...>`, `--exported`, `--include-imports`, project-relative `--file-glob`, and `--limit <0-500>`; imports default off, and only named/default aliases that resolve to concrete declarations are returned.
61
66
  Use the portable callable handle from `symbols` with `codegraph callers <handle>` or `codegraph callees <handle>`. Depth defaults to 1 and caps at 5, the symbol limit defaults to 100 and caps at 500, pretty grouped callsites are the default, and `--json` returns the structured envelope.
62
67
 
63
68
  Call hierarchy contains resolved semantic `calls` edges only. `--include-heuristic` is accepted but currently adds no guessed dynamic calls; use `refs` for all references and `deps` or `rdeps` for file relationships.
@@ -85,10 +90,7 @@ The independent `--max-references`, `--max-callers`, and `--max-hierarchy` bound
85
90
  - references for every definition in a file: `codegraph refs <file>`
86
91
 
87
92
  Use line and column coordinates when known; this is the primary navigation form. Use an exact project-relative `file::symbol` path when coordinates are unavailable; it cannot be combined with line or column input. `deps` and `rdeps` accept either form or a portable `symbol:` handle and resolve it to its defining file, while `callers` and `callees` expose symbol-level calls. Duplicate local names return declaration candidates; run `codegraph symbols` to get a portable handle.
88
-
89
- ### Review and Inspect
90
-
91
- Safe shorthand: `impact` and git-backed `drift` default to `HEAD..WORKTREE`; `artifact`, `packet`, and `mcp` infer `build`, `get`, and `serve`. `grep <regex>` and `sql <db> "SELECT ..."` accept positional forms. Explicit options remain valid. `grep --json` returns an envelope `{ items, limit, totalSeen, truncated, omitted }`, not a bare hit array: `limit` is the effective `--max-hits` cap for text greps (default 5000, capped at 200000) and `null` for uncapped `--query` AST greps. Check `truncated` before treating text results as complete, and raise `--max-hits` when it is true - `truncated` stays exact through that ceiling. `graph-delta --json` emits structured edge add/remove reports for revision ranges.
93
+ Safe shorthand: `impact` and git-backed `drift` default to `HEAD..WORKTREE`; `artifact`, `packet`, and `mcp` infer `build`, `get`, and `serve`. `artifact --sqlite` is equivalent to `artifact build --sqlite`; `grep <regex>` and `sql <db> "SELECT ..."` accept positional forms. Explicit options remain valid. `grep --json` returns an envelope `{ items, limit, totalSeen, truncated, omitted }`, not a bare hit array: `limit` is the effective `--max-hits` cap for text greps (default 5000, capped at 200000) and `null` for uncapped `--query` AST greps. Check `truncated` before treating text results as complete, and raise `--max-hits` when it is true - `truncated` stays exact through that ceiling. `graph` output selectors are mutually exclusive.
92
94
 
93
95
  - compact review handoff: `codegraph review`
94
96
  - broader change impact: `codegraph impact --base HEAD --head WORKTREE`
@@ -100,6 +102,17 @@ Safe shorthand: `impact` and git-backed `drift` default to `HEAD..WORKTREE`; `ar
100
102
  - duplicate cleanup: `codegraph duplicates --root . ./src --profile cleanup`
101
103
  - full duplicate groups: `codegraph duplicates --root . ./src --json`
102
104
  - local Markdown link check: `codegraph links --json`
105
+ - exported API summary: `codegraph apisurface --root . --json`
106
+ - embedding-ready file chunks: `codegraph chunk src/auth.ts --json`
107
+ - one indexed module: `codegraph dumpmod src/auth.ts --json`
108
+ - prewarm or repair disk state: `codegraph index --root .`
109
+ - inspect complex files: `codegraph hotspots --root . --limit 20`
110
+ - list unresolved source imports: `codegraph unresolved --root . --json`
111
+ - search text with a regex: `codegraph grep "TODO|FIXME" --glob "src/**/*.ts"`
112
+ - query an exported SQLite graph: `codegraph sql codegraph.sqlite "SELECT * FROM files LIMIT 20"`
113
+ - compare graph changes across revisions: `codegraph graph-delta --git-base origin/main --git-head HEAD --json`
114
+ - create a durable artifact: `codegraph artifact --root . --out codegraph-out --sqlite --graph-json`
115
+ - start a warm local tool server: `codegraph mcp --root . --stdio`
103
116
 
104
117
  `links` checks root-confined local Markdown links and GitHub-style heading fragments, including raw HTML `a[href]` in `.md` files. It skips external URLs and unsupported formats; exit 1 reports broken links. Discovery honors `codegraph.config.json` discovery globs plus CLI `--include-glob` / `--ignore-glob` / `--no-gitignore`. `review` and non-empty `impact` include the same `markdownLinks` findings; `unresolved` excludes document edges.
105
118
 
@@ -167,6 +180,8 @@ If MCP tools are available, prefer them over repeated CLI invocations. Use `expl
167
180
  codegraph uses the official MCP SDK v2 to serve current 2026-07-28 clients while retaining compatibility with 2025-era clients. MCP protocol connections and HTTP protocol sessions keep separate transport state, but all share the server's one warm codegraph analysis session for the configured root. Tool schemas reject unknown fields, each protocol session caps tool concurrency at 4 with a retryable busy error, HTTP request bodies time out after 30 seconds, and idle HTTP protocol sessions are evicted with a bounded session count. Cancellation responds to the caller promptly but retains the occupied slot until shared work settles, so abandoned calls cannot bypass that resource bound. Concurrent `refresh_index` calls serialize and honor each request's requested warmup.
168
181
  On the first `tools/call`, codegraph can emit `notifications/message` and, when the request includes `_meta.progressToken`, `notifications/progress` before the final result. Stdio carries them inline, and modern Streamable HTTP clients that accept `text/event-stream` receive them as a stream until the terminal result frame.
169
182
  HTTP enforces Host and Origin policies. A missing `Origin` is accepted for non-browser clients; unapproved, malformed, and opaque origins are rejected. This is not authentication: binding `--host` to a non-loopback address exposes an unauthenticated endpoint intended only for trusted networks or containers.
183
+ For a reusable local HTTP server, run `codegraph server start --root . --warmup`, inspect it with `codegraph server status --root . --json`, and shut it down with `codegraph server stop --root .`. The lifecycle wrapper serializes project changes and writes `.codegraph/server.json` only after a challenged `/health` response proves the root, process, and startup time; its secret remains in the per-user Codegraph state directory, outside the project and separate from package files and compiler cache data. It defaults to `127.0.0.1:7331`, accepts `--startup-timeout-ms <1-86400000>` for warmups longer than 15 seconds, and writes startup diagnostics to `.codegraph/server.log`; add `--json` for `status: "started"`, registry fields, and update state.
184
+ For stdio lifecycle control, pass `--idle-timeout-ms <milliseconds>`; `0` disables the timer and the option is rejected with HTTP `--port` transport.
170
185
 
171
186
  Use `refactor_plan` with flat `handle`, optional `renameTo`, independent optional `maxReferences`, `maxCallers`, and `maxHierarchy` bounds from 0 to 500, and optional `includeSource`. It reuses the configured server root and one session snapshot, returns portable targets and structured tool-call follow-ups even for exact internal review handles, exposes unsupported implementation sections in `sectionIssues`, preserves nested `rename.safe`, and never writes.
172
187
  Use `workspace_symbols` for deterministic symbol identities and exact ranges; use `search` when paths, prose, SQL, snippets, or graph evidence should participate.
@@ -199,15 +214,18 @@ codegraph install --target codex,claude --yes
199
214
  codegraph install --target codex --yes --force
200
215
  codegraph install --all --dry-run
201
216
  codegraph install --all --yes
217
+ codegraph uninstall --target codex --yes
202
218
  ```
203
219
 
220
+ Use `codegraph version` to inspect package identity and `codegraph skill doctor` to inspect bundled skill targets.
221
+
204
222
  Interactive confirmation accepts only `y` or `yes` and defaults to no. Noninteractive writes require `--yes`. `--all` is install-only, configures `codex`, `claude`, `cursor`, `gemini`, `opencode`, `omp`, `kilo`, and `agents`, and cannot be combined with target selection, `--detect`, or `--print-config`.
205
223
 
206
224
  Compatible JSON MCP entries and equivalent unmarked Codex tables are preserved byte-for-byte. Kilo JSONC comments and unrelated settings remain intact. Divergent codegraph entries are collision-reported without exposing configuration values.
207
225
 
208
226
  The installer manages codegraph-owned MCP entries, skill payloads, and marker files; uninstall removes only recognized codegraph-owned content. Existing user-owned `SKILL.md` files are preserved unless an ownership marker and known payload match, or `--force` is passed.
209
227
 
210
- Lifecycle commands manage `.codegraph/manifest.json`; other commands do not require that manifest:
228
+ Lifecycle commands manage `.codegraph/manifest.json`; shared server commands separately manage `.codegraph/server.json` and `.codegraph/server.log`, and other commands do not require the manifest:
211
229
 
212
230
  ```bash
213
231
  codegraph init --root .
@@ -221,7 +239,7 @@ codegraph sync --root . --init --no-update-gitignore
221
239
 
222
240
  `init` and `sync --init` use Git's effective ignore semantics before lifecycle hashing. When the untracked manifest is not already ignored, they append exactly `.codegraph/` to the resolved root's `.gitignore`; effective parent/global/info excludes are honored, tracked manifests are left unchanged with a warning, and non-Git roots are not modified.
223
241
 
224
- Use `--no-update-gitignore` to opt out during `init` or `sync --init`; ordinary `sync` never updates ignore policy. `uninit` removes lifecycle state but leaves the root rule, while `init` and `sync` may warm or update `.codegraph-cache/index-v1/`.
242
+ Use `--no-update-gitignore` to opt out during `init` or `sync --init`; ordinary `sync` never updates ignore policy. `uninit` preserves `.codegraph/server.json` and `.codegraph/server.log` even with `--force`, so stop a shared server explicitly; it leaves the root rule, while `init` and `sync` may warm or update `.codegraph-cache/index-v1/`.
225
243
 
226
244
  Lifecycle commands accept either one positional project path or `--root <path>`, never both. Automatic ignore updates are bound to that same resolved project root.
227
245
 
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGvE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAiBF,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC3D,CAAC;AAEF,KAAK,iBAAiB,GAAG,iBAAiB,GAAG;IAC3C,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAUF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAWvC;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CA8EvC;AAwOD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG;IACvE,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACnC,CAuDA"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,2BAA2B,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGvE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAqBF,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC3D,CAAC;AAEF,KAAK,iBAAiB,GAAG,iBAAiB,GAAG;IAC3C,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAUF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAWvC;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAqFvC;AA6OD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG;IACvE,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACnC,CAgFA"}
@@ -36,29 +36,35 @@ export async function buildCodegraphArtifactWithSession(session, request) {
36
36
  const selected = normalizeArtifactSelection(request);
37
37
  const filterOutDir = path.resolve(root, request.filterOutDir ?? request.outDir ?? DEFAULT_OUT_DIR);
38
38
  const snapshot = await filterSnapshotForOutputDirectory(await session.loadProject(), filterOutDir);
39
- await fs.mkdir(outDir, { recursive: true });
40
- if (request.force) {
41
- await prepareForcedOutputDirectory(outDir, selected);
42
- }
43
- const artifacts = {};
39
+ const sqliteSignatures = [];
40
+ let sqliteFileSignatures = { signed: 0, skipped: 0 };
44
41
  if (selected.sqlite) {
45
- if (!snapshot.fileSignatures) {
42
+ const snapshotFileSignatures = snapshot.fileSignatures;
43
+ if (!snapshotFileSignatures) {
46
44
  throw new Error("SQLite artifact freshness signatures are unavailable.");
47
45
  }
48
- const fileSignatures = [];
49
46
  for (const file of snapshot.fileGraph.nodes) {
50
- const signature = snapshot.fileSignatures.get(file);
47
+ const signature = snapshotFileSignatures.get(file);
51
48
  if (!signature) {
52
- throw new Error(`SQLite artifact freshness signature is missing for ${file}.`);
49
+ sqliteFileSignatures = { ...sqliteFileSignatures, skipped: sqliteFileSignatures.skipped + 1 };
50
+ continue;
53
51
  }
54
- fileSignatures.push({ path: signature.file, size: signature.size, mtimeMs: signature.mtimeMs });
52
+ sqliteSignatures.push({ path: signature.file, size: signature.size, mtimeMs: signature.mtimeMs });
55
53
  }
54
+ sqliteFileSignatures = { signed: sqliteSignatures.length, skipped: sqliteFileSignatures.skipped };
55
+ }
56
+ await fs.mkdir(outDir, { recursive: true });
57
+ if (request.force) {
58
+ await prepareForcedOutputDirectory(outDir, selected);
59
+ }
60
+ const artifacts = {};
61
+ if (selected.sqlite) {
56
62
  const outputPath = path.join(outDir, SQLITE_FILE);
57
63
  await writeGraphSqlite({
58
64
  fileGraph: snapshot.fileGraph,
59
65
  symbolGraph: snapshot.symbolGraph,
60
66
  outputPath,
61
- fileSignatures,
67
+ fileSignatures: sqliteSignatures,
62
68
  });
63
69
  artifacts.sqlite = SQLITE_FILE;
64
70
  }
@@ -91,6 +97,7 @@ export async function buildCodegraphArtifactWithSession(session, request) {
91
97
  sql: {
92
98
  supported: true,
93
99
  limitation: "SQL support does not perform current-schema reconstruction.",
100
+ fileSignatures: sqliteFileSignatures,
94
101
  },
95
102
  graphJsonSchema: "codegraph.graph-json",
96
103
  };
@@ -209,6 +216,8 @@ async function readCodegraphManifest(outDir) {
209
216
  if (key === "questions")
210
217
  artifacts.questions = artifactFile;
211
218
  }
219
+ const sql = isPlainRecord(value.sql) ? value.sql : undefined;
220
+ const fileSignatures = sql && isPlainRecord(sql.fileSignatures) ? sql.fileSignatures : undefined;
212
221
  return {
213
222
  schemaVersion: 1,
214
223
  root: typeof value.root === "string" ? value.root : "",
@@ -218,6 +227,10 @@ async function readCodegraphManifest(outDir) {
218
227
  sql: {
219
228
  supported: true,
220
229
  limitation: "",
230
+ fileSignatures: {
231
+ signed: typeof fileSignatures?.signed === "number" ? fileSignatures.signed : 0,
232
+ skipped: typeof fileSignatures?.skipped === "number" ? fileSignatures.skipped : 0,
233
+ },
221
234
  },
222
235
  graphJsonSchema: "codegraph.graph-json",
223
236
  };
@@ -316,6 +329,7 @@ function outputIgnoreGlobs(root, outDir) {
316
329
  }
317
330
  export function buildCodegraphGraphJson(snapshot) {
318
331
  const symbolIds = buildPortableSymbolIdMap(snapshot);
332
+ const symbolPositions = buildPortableSymbolPositions(snapshot, symbolIds);
319
333
  const portableSymbolId = (id) => symbolIds.get(id) ?? id;
320
334
  const graph = {
321
335
  files: [...snapshot.fileGraph.nodes].map((file) => normalizeAgentFilePath(snapshot.root, file)).sort(),
@@ -331,9 +345,26 @@ export function buildCodegraphGraphJson(snapshot) {
331
345
  const fromDelta = left.from.localeCompare(right.from);
332
346
  if (fromDelta !== 0)
333
347
  return fromDelta;
348
+ const leftToType = left.to.type;
349
+ const rightToType = right.to.type;
350
+ const toTypeDelta = leftToType.localeCompare(rightToType);
351
+ if (toTypeDelta !== 0)
352
+ return toTypeDelta;
334
353
  const leftTo = left.to.type === "file" ? left.to.path : left.to.name;
335
354
  const rightTo = right.to.type === "file" ? right.to.path : right.to.name;
336
- return leftTo.localeCompare(rightTo);
355
+ const toDelta = leftTo.localeCompare(rightTo);
356
+ if (toDelta !== 0)
357
+ return toDelta;
358
+ const rawDelta = left.raw.localeCompare(right.raw);
359
+ if (rawDelta !== 0)
360
+ return rawDelta;
361
+ const typeOnlyDelta = Number(left.typeOnly ?? false) - Number(right.typeOnly ?? false);
362
+ if (typeOnlyDelta !== 0)
363
+ return typeOnlyDelta;
364
+ const resolvedDelta = (left.resolved ?? "").localeCompare(right.resolved ?? "");
365
+ if (resolvedDelta !== 0)
366
+ return resolvedDelta;
367
+ return (left.confidence ?? -1) - (right.confidence ?? -1);
337
368
  }),
338
369
  symbols: [...snapshot.symbolGraph.nodes.values()]
339
370
  .map((node) => ({
@@ -345,7 +376,21 @@ export function buildCodegraphGraphJson(snapshot) {
345
376
  const fileDelta = left.file.localeCompare(right.file);
346
377
  if (fileDelta !== 0)
347
378
  return fileDelta;
348
- return left.name.localeCompare(right.name);
379
+ const nameDelta = left.name.localeCompare(right.name);
380
+ if (nameDelta !== 0)
381
+ return nameDelta;
382
+ const kindDelta = left.kind.localeCompare(right.kind);
383
+ if (kindDelta !== 0)
384
+ return kindDelta;
385
+ const leftPosition = symbolPositions.get(left.id) ?? ZERO_SYMBOL_POSITION;
386
+ const rightPosition = symbolPositions.get(right.id) ?? ZERO_SYMBOL_POSITION;
387
+ const lineDelta = leftPosition.line - rightPosition.line;
388
+ if (lineDelta !== 0)
389
+ return lineDelta;
390
+ const columnDelta = leftPosition.column - rightPosition.column;
391
+ if (columnDelta !== 0)
392
+ return columnDelta;
393
+ return left.id.localeCompare(right.id);
349
394
  }),
350
395
  symbolEdges: [...snapshot.symbolGraph.edges]
351
396
  .map((edge) => ({
@@ -360,7 +405,10 @@ export function buildCodegraphGraphJson(snapshot) {
360
405
  const toDelta = left.to.localeCompare(right.to);
361
406
  if (toDelta !== 0)
362
407
  return toDelta;
363
- return (left.label ?? "").localeCompare(right.label ?? "");
408
+ const labelDelta = (left.label ?? "").localeCompare(right.label ?? "");
409
+ if (labelDelta !== 0)
410
+ return labelDelta;
411
+ return compareSymbolEdgeSites(snapshot.root, left.site, right.site);
364
412
  }),
365
413
  };
366
414
  return {
@@ -373,6 +421,49 @@ export function buildCodegraphGraphJson(snapshot) {
373
421
  graph,
374
422
  };
375
423
  }
424
+ const ZERO_SYMBOL_POSITION = { line: 0, column: 0 };
425
+ function buildPortableSymbolPositions(snapshot, symbolIds) {
426
+ const positions = new Map();
427
+ for (const moduleIndex of snapshot.index.byFile.values()) {
428
+ for (const local of moduleIndex.locals) {
429
+ const portableId = symbolIds.get(defNodeId(local));
430
+ if (!portableId)
431
+ continue;
432
+ positions.set(portableId, {
433
+ line: local.range.start.line,
434
+ column: local.range.start.column,
435
+ });
436
+ }
437
+ }
438
+ return positions;
439
+ }
440
+ function compareSymbolEdgeSites(root, left, right) {
441
+ if (!left && !right)
442
+ return 0;
443
+ if (!left)
444
+ return -1;
445
+ if (!right)
446
+ return 1;
447
+ const fileDelta = normalizeAgentFilePath(root, left.file).localeCompare(normalizeAgentFilePath(root, right.file));
448
+ if (fileDelta !== 0)
449
+ return fileDelta;
450
+ const startLineDelta = left.range.start.line - right.range.start.line;
451
+ if (startLineDelta !== 0)
452
+ return startLineDelta;
453
+ const startColumnDelta = left.range.start.column - right.range.start.column;
454
+ if (startColumnDelta !== 0)
455
+ return startColumnDelta;
456
+ const startIndexDelta = (left.range.start.index ?? -1) - (right.range.start.index ?? -1);
457
+ if (startIndexDelta !== 0)
458
+ return startIndexDelta;
459
+ const endLineDelta = left.range.end.line - right.range.end.line;
460
+ if (endLineDelta !== 0)
461
+ return endLineDelta;
462
+ const endColumnDelta = left.range.end.column - right.range.end.column;
463
+ if (endColumnDelta !== 0)
464
+ return endColumnDelta;
465
+ return (left.range.end.index ?? -1) - (right.range.end.index ?? -1);
466
+ }
376
467
  function buildPortableSymbolIdMap(snapshot) {
377
468
  const byId = new Map();
378
469
  const graphNodeIds = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8D3C,MAAM,eAAe,GAAG,eAAe,CAAC;AACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,eAAe,GAAG,YAAY,CAAC;AACrC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAC1C,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;AAEpH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsC;IAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,SAAS,EAAE;YACT,WAAW,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;SAC7C;KACF,CAAC,CAAC;IACH,OAAO,MAAM,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAAqB,EACrB,OAAsC;IAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;IACrE,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,MAAM,gCAAgC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;IACnG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,4BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,SAAS,GAA8C,EAAE,CAAC;IAEhE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,cAAc,GAA2D,EAAE,CAAC;QAClF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,IAAI,GAAG,CAAC,CAAC;YACjF,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,gBAAgB,CAAC;YACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,UAAU;YACV,cAAc;SACf,CAAC,CAAC;QACH,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAC9B,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC1F,MAAM,CACP,CAAC;QACF,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE;YACjD,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,MAAM,MAAM,GAAiC;QAC3C,aAAa,EAAE,CAAC;QAChB,IAAI;QACJ,MAAM;QACN,YAAY;QACZ,SAAS;KACV,CAAC;IACF,MAAM,QAAQ,GAAqB;QACjC,GAAG,MAAM;QACT,GAAG,EAAE;YACH,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,6DAA6D;SAC1E;QACD,eAAe,EAAE,sBAAsB;KACxC,CAAC;IACF,MAAM,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAsC;IAMxE,MAAM,oBAAoB,GACxB,OAAO,CAAC,MAAM,KAAK,SAAS;QAC5B,OAAO,CAAC,SAAS,KAAK,SAAS;QAC/B,OAAO,CAAC,MAAM,KAAK,SAAS;QAC5B,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;IAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,MAAc,EAAE,KAAc;IACnE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,sDAAsD,MAAM,wCAAwC,CACrG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,MAAc,EACd,QAAsF;IAEtF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,IAAI,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YAAE,SAAS;QAC5C,IAAI,CAAC,CAAC,MAAM,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,yEAAyE,QAAQ,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClH,CAAC;AAED,SAAS,yBAAyB,CAAC,QAKlC;IACC,MAAM,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,IAAI,QAAQ,CAAC,MAAM;QAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,SAAS;QAAE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM;QAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,SAAS;QAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAc;IACjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,KAAK,sBAAsB;QAAE,OAAO,SAAS,CAAC;IACpG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,SAAS,GAA8C,EAAE,CAAC;IAChE,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,SAAS;QAC/C,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;QACtD,IAAI,GAAG,KAAK,WAAW;YAAE,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC;QAC5D,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;QACtD,IAAI,GAAG,KAAK,WAAW;YAAE,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACtD,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAChE,YAAY,EAAE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;QAC5G,SAAS;QACT,GAAG,EAAE;YACH,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,EAAE;SACf;QACD,eAAe,EAAE,sBAAsB;KACxC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,QAAgB,EAAE,QAAgB;IAC7E,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IAC7E,CAAC;IACD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,sBAAsB,CAAC;IACzE,CAAC;IACD,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC;IACxE,CAAC;IACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAChE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,QAAgB;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,QAAQ,EACR,wEAAwE,CACzE,CAAC;QACF,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YAAE,OAAO,KAAK,CAAC;QAEpF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,QAAQ,EACR;YACE,gCAAgC;YAChC,sBAAsB;YACtB,kFAAkF;YAClF,gBAAgB;SACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAC/F,CAAC;QACF,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9F,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACpE,IAAI,KAAK,YAAY,WAAW;YAAE,OAAO,SAAS,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAAc;IAClD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAc;IACrD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA8B;IASpE,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,KAAK,GAAsB;QAC/B,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;QACtG,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;aACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,GAAG,IAAI;YACP,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;YACtD,EAAE,EACA,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM;gBACrB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBACtF,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;SACxD,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,SAAS,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YACrE,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;YACzE,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC;QACJ,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,GAAG,IAAI;YACP,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;SACvD,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,SAAS,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC;QACJ,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;aACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,GAAG,IAAI;YACP,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,SAAS,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC;KACL,CAAC;IACF,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,sBAAsB;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA8B;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CACN,EAAE,EACF,WAAW;gBACT,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9F,CAAC,CAAC,uBAAuB,CAAC;oBACtB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;oBAC5B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;iBACjC,CAAC,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QAChC,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB,EAAE,OAAe,EAAE,IAAgB;IAC/E,MAAM,IAAI,GAAG;QACX,cAAc;QACd,kBAAkB,CAAC,OAAO,CAAC;QAC3B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;KAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,QAA8B,EAC9B,MAAc;IAEd,MAAM,UAAU,GAAG,MAAM,gCAAgC,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjF,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACxC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;QAC7C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1C,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC;KACH,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClH,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnG,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG;QACZ,GAAG,QAAQ,CAAC,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM;QACN,OAAO;KACR,CAAC;IAEF,OAAO;QACL,GAAG,QAAQ;QACX,KAAK;QACL,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC;QACxC,KAAK;QACL,SAAS;QACT,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,IAAY,EACZ,MAAc;IAEd,MAAM,OAAO,GAAgD,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,QAAuB,EAAQ,EAAE;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QAChD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAC/C,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,QAA8B,EAAE,SAAkB;IACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG;QACZ,oBAAoB;QACpB,EAAE;QACF,SAAS,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACvC,UAAU,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;QACjC,eAAe,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;QAChD,YAAY,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;QAC7C,iBAAiB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;QACpD,EAAE;QACF,aAAa;QACb,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACrC,EAAE;QACF,QAAQ;QACR,8GAA8G;QAC9G,+CAA+C;QAC/C,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpF,EAAE;QACF,wBAAwB;QACxB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,EAAE;gBACF,iBAAiB;gBACjB,wDAAwD;gBACxD,2BAA2B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS;aAC9H;YACH,CAAC,CAAC,EAAE,CAAC;QACP,EAAE;KACH,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CACrB,QAA8B,EAC9B,QAA+E;IAE/E,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,GAAG,CACjB,CAAC,OAAO,EAAE,EAAE,CACV,KAAK,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,KAAK,aAAa,OAAO,CAAC,MAAM,WAAW,OAAO,CAAC,KAAK,GAAG,CAC1I,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAA8B;IACpD,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,SAAS,IAAI,EAAE;YACnB,QAAQ,EAAE,yBAAyB,IAAI,GAAG;YAC1C,OAAO,EAAE,mBAAmB,aAAa,CAAC,IAAI,CAAC,SAAS;SACzD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,SAAS;QACnD,IAAI,iBAAiB,CAAC,IAAI,IAAI,CAAC;YAAE,MAAM;QACvC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,GAAG,CAAC;QAC5G,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE;YAC3B,QAAQ,EAAE,YAAY,WAAW,cAAc;YAC/C,OAAO,EAAE,qBAAqB,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;YACnE,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE;YAC1B,QAAQ,EAAE,mCAAmC,MAAM,CAAC,IAAI,GAAG;YAC3D,OAAO,EAAE,qBAAqB,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;YACnE,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAA8B;IAE9B,MAAM,QAAQ,GAA6E,EAAE,CAAC;IAC9F,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACzD,KAAK,MAAM,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS;YAC3C,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5E,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW,CAAC,UAAU;gBAC5B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS;gBACvC,IAAI;gBACJ,MAAM,EAAE,uBAAuB,CAAC;oBAC9B,IAAI;oBACJ,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS;oBAClC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;oBACzC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;iBAC9C,CAAC;aACH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,QAA8B;IAE9B,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;SACnH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;aAC9B,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;YACJ,MAAM,EAAE,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;SAC1F,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,KAAc;IACvD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/agent/artifact.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,9 @@ export type AgentExplanation = {
128
128
  duplicates: number;
129
129
  snippets: number;
130
130
  };
131
+ omittedCountsLowerBounds: {
132
+ references: boolean;
133
+ };
131
134
  changedContext?: AgentExplanationChangedContext;
132
135
  };
133
136
  export declare function explainCodegraphTarget(request: AgentExplainTarget): Promise<AgentExplanation>;
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../src/agent/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../src/agent/explain.ts"],"names":[],"mappings":"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"}
@@ -259,6 +259,9 @@ async function buildExplanation(snapshot, lookup, resolved, request) {
259
259
  duplicates: duplicates.omitted,
260
260
  snippets: snippets.omitted,
261
261
  },
262
+ omittedCountsLowerBounds: {
263
+ references: referenceContext.referencesOmittedLowerBound,
264
+ },
262
265
  ...(changedContext ? { changedContext } : {}),
263
266
  };
264
267
  }
@@ -295,6 +298,9 @@ function emptyExplanation(snapshot, target) {
295
298
  duplicates: 0,
296
299
  snippets: 0,
297
300
  },
301
+ omittedCountsLowerBounds: {
302
+ references: false,
303
+ },
298
304
  };
299
305
  }
300
306
  function explainTarget(snapshot, resolved, relFile) {
@@ -481,6 +487,7 @@ async function collectReferenceContext(snapshot, def, referenceLimit, snippetLim
481
487
  return {
482
488
  references: boundedReferences,
483
489
  snippets: boundedSnippets,
490
+ referencesOmittedLowerBound: result.references.length === collectionLimit && boundedReferences.omitted > 0,
484
491
  };
485
492
  }
486
493
  function snippetFromReference(snapshot, reference) {
@@ -644,6 +651,7 @@ function emptyReferenceContext() {
644
651
  return {
645
652
  references: emptyAgentBoundedList(),
646
653
  snippets: emptyAgentBoundedList(),
654
+ referencesOmittedLowerBound: false,
647
655
  };
648
656
  }
649
657
  function collectFollowUps(snapshot, resolved, symbols, relFile, duplicates) {