gitnexus 1.6.10-rc.13 → 1.6.10-rc.130

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 (507) hide show
  1. package/README.md +138 -21
  2. package/dist/_shared/graph/types.d.ts +21 -8
  3. package/dist/_shared/graph/types.d.ts.map +1 -1
  4. package/dist/_shared/index.d.ts +2 -1
  5. package/dist/_shared/index.d.ts.map +1 -1
  6. package/dist/_shared/index.js.map +1 -1
  7. package/dist/_shared/integrations/resilient-fetch.d.ts +3 -1
  8. package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -1
  9. package/dist/_shared/integrations/resilient-fetch.js +4 -3
  10. package/dist/_shared/integrations/resilient-fetch.js.map +1 -1
  11. package/dist/_shared/lbug/schema-constants.d.ts +1 -1
  12. package/dist/_shared/lbug/schema-constants.d.ts.map +1 -1
  13. package/dist/_shared/lbug/schema-constants.js +2 -0
  14. package/dist/_shared/lbug/schema-constants.js.map +1 -1
  15. package/dist/_shared/scope-resolution/callable-flow-site.d.ts +110 -0
  16. package/dist/_shared/scope-resolution/callable-flow-site.d.ts.map +1 -0
  17. package/dist/_shared/scope-resolution/callable-flow-site.js +11 -0
  18. package/dist/_shared/scope-resolution/callable-flow-site.js.map +1 -0
  19. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +1 -1
  20. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -1
  21. package/dist/_shared/scope-resolution/finalize-algorithm.js +1 -1
  22. package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
  23. package/dist/_shared/scope-resolution/parsed-file.d.ts +7 -0
  24. package/dist/_shared/scope-resolution/parsed-file.d.ts.map +1 -1
  25. package/dist/_shared/scope-resolution/reference-site.d.ts +41 -1
  26. package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -1
  27. package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -1
  28. package/dist/_shared/scope-resolution/registries/lookup-core.js +58 -2
  29. package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -1
  30. package/dist/_shared/scope-resolution/types.d.ts +38 -3
  31. package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
  32. package/dist/cli/ai-context.d.ts +7 -0
  33. package/dist/cli/ai-context.js +60 -48
  34. package/dist/cli/analyze.d.ts +24 -7
  35. package/dist/cli/analyze.js +191 -29
  36. package/dist/cli/clean.js +17 -3
  37. package/dist/cli/cli-message.d.ts +1 -1
  38. package/dist/cli/doctor.d.ts +36 -0
  39. package/dist/cli/doctor.js +102 -8
  40. package/dist/cli/editor-targets.js +6 -0
  41. package/dist/cli/eval-server.d.ts +23 -1
  42. package/dist/cli/eval-server.js +126 -8
  43. package/dist/cli/help-i18n.js +3 -0
  44. package/dist/cli/i18n/en.d.ts +15 -8
  45. package/dist/cli/i18n/en.js +15 -8
  46. package/dist/cli/i18n/resources.d.ts +22 -8
  47. package/dist/cli/i18n/zh-CN.d.ts +7 -0
  48. package/dist/cli/i18n/zh-CN.js +15 -8
  49. package/dist/cli/index.js +13 -6
  50. package/dist/cli/lazy-action.d.ts +7 -0
  51. package/dist/cli/lazy-action.js +27 -0
  52. package/dist/cli/mcp.js +6 -3
  53. package/dist/cli/setup.d.ts +8 -0
  54. package/dist/cli/setup.js +30 -7
  55. package/dist/cli/skill-gen.js +88 -18
  56. package/dist/cli/standard-skills.d.ts +76 -0
  57. package/dist/cli/standard-skills.js +45 -0
  58. package/dist/cli/status.d.ts +4 -1
  59. package/dist/cli/status.js +57 -4
  60. package/dist/cli/tool.d.ts +1 -0
  61. package/dist/cli/tool.js +19 -1
  62. package/dist/cli/uninstall.js +7 -2
  63. package/dist/cli/wiki.d.ts +1 -0
  64. package/dist/cli/wiki.js +7 -1
  65. package/dist/config/ignore-service.d.ts +2 -0
  66. package/dist/config/ignore-service.js +31 -4
  67. package/dist/core/analysis-features.d.ts +21 -0
  68. package/dist/core/analysis-features.js +59 -0
  69. package/dist/core/analyzer-identity.d.ts +136 -0
  70. package/dist/core/analyzer-identity.js +1898 -0
  71. package/dist/core/augmentation/engine.js +13 -8
  72. package/dist/core/embeddings/embedder.d.ts +3 -2
  73. package/dist/core/embeddings/embedder.js +8 -5
  74. package/dist/core/embeddings/embedding-identity.d.ts +11 -0
  75. package/dist/core/embeddings/embedding-identity.js +24 -0
  76. package/dist/core/embeddings/embedding-pipeline.d.ts +36 -1
  77. package/dist/core/embeddings/embedding-pipeline.js +100 -9
  78. package/dist/core/embeddings/http-client.d.ts +10 -2
  79. package/dist/core/embeddings/http-client.js +155 -27
  80. package/dist/core/embeddings/node-module-compat.d.ts +4 -2
  81. package/dist/core/embeddings/node-module-compat.js +4 -2
  82. package/dist/core/embeddings/onnxruntime-common-resolver.js +5 -5
  83. package/dist/core/embeddings/onnxruntime-node-resolver.js +2 -2
  84. package/dist/core/embeddings/runtime-install.js +1 -1
  85. package/dist/core/git-staleness.js +1 -1
  86. package/dist/core/graph/graph.js +3 -0
  87. package/dist/core/graph/types.d.ts +18 -0
  88. package/dist/core/group/bridge-db.js +2 -0
  89. package/dist/core/group/extractors/include-extractor.js +20 -2
  90. package/dist/core/incremental/escalation-gate.d.ts +38 -0
  91. package/dist/core/incremental/escalation-gate.js +48 -0
  92. package/dist/core/incremental/shadow-candidates.d.ts +3 -3
  93. package/dist/core/incremental/shadow-candidates.js +3 -3
  94. package/dist/core/incremental/subgraph-extract.d.ts +4 -4
  95. package/dist/core/incremental/subgraph-extract.js +20 -8
  96. package/dist/core/index-freshness.d.ts +5 -0
  97. package/dist/core/index-freshness.js +13 -0
  98. package/dist/core/ingestion/class-extractors/configs/jvm.js +29 -0
  99. package/dist/core/ingestion/cobol/cobol-preprocessor.js +1 -1
  100. package/dist/core/ingestion/community-processor.d.ts +21 -3
  101. package/dist/core/ingestion/community-processor.js +88 -83
  102. package/dist/core/ingestion/di-extractors/index.d.ts +40 -28
  103. package/dist/core/ingestion/di-extractors/index.js +17 -18
  104. package/dist/core/ingestion/di-extractors/spring.d.ts +27 -5
  105. package/dist/core/ingestion/di-extractors/spring.js +80 -3
  106. package/dist/core/ingestion/emit-references.js +4 -0
  107. package/dist/core/ingestion/filesystem-walker.js +4 -0
  108. package/dist/core/ingestion/frameworks/spring/analysis-features.d.ts +5 -0
  109. package/dist/core/ingestion/frameworks/spring/analysis-features.js +21 -0
  110. package/dist/core/ingestion/frameworks/spring/auto-configuration.d.ts +8 -0
  111. package/dist/core/ingestion/frameworks/spring/auto-configuration.js +16 -0
  112. package/dist/core/ingestion/frameworks/spring/bean-candidates.d.ts +30 -0
  113. package/dist/core/ingestion/frameworks/spring/bean-candidates.js +182 -0
  114. package/dist/core/ingestion/frameworks/spring/bean-catalog.d.ts +12 -0
  115. package/dist/core/ingestion/frameworks/spring/bean-catalog.js +27 -0
  116. package/dist/core/ingestion/frameworks/spring/conditionals.d.ts +25 -0
  117. package/dist/core/ingestion/frameworks/spring/conditionals.js +319 -0
  118. package/dist/core/ingestion/frameworks/spring/config-bindings.d.ts +24 -0
  119. package/dist/core/ingestion/frameworks/spring/config-bindings.js +115 -0
  120. package/dist/core/ingestion/frameworks/spring/di-metadata.d.ts +45 -0
  121. package/dist/core/ingestion/frameworks/spring/di-metadata.js +231 -0
  122. package/dist/core/ingestion/import-resolvers/rust.d.ts +2 -2
  123. package/dist/core/ingestion/language-provider.d.ts +13 -0
  124. package/dist/core/ingestion/languages/c/captures.js +63 -0
  125. package/dist/core/ingestion/languages/c/query.js +17 -0
  126. package/dist/core/ingestion/languages/c/scope-resolver.js +6 -0
  127. package/dist/core/ingestion/languages/cobol/captures.js +93 -0
  128. package/dist/core/ingestion/languages/cobol/scope-resolver.js +7 -0
  129. package/dist/core/ingestion/languages/cpp/captures.js +372 -75
  130. package/dist/core/ingestion/languages/cpp/query.js +10 -0
  131. package/dist/core/ingestion/languages/cpp/scope-resolver.js +14 -0
  132. package/dist/core/ingestion/languages/csharp/captures.js +44 -0
  133. package/dist/core/ingestion/languages/csharp/namespace-siblings.js +5 -1
  134. package/dist/core/ingestion/languages/csharp/scope-resolver.js +3 -0
  135. package/dist/core/ingestion/languages/dart/captures.js +145 -2
  136. package/dist/core/ingestion/languages/dart/extension-type-preprocess.d.ts +7 -0
  137. package/dist/core/ingestion/languages/dart/extension-type-preprocess.js +30 -0
  138. package/dist/core/ingestion/languages/dart/query.js +68 -0
  139. package/dist/core/ingestion/languages/dart.js +2 -0
  140. package/dist/core/ingestion/languages/go/captures.js +47 -0
  141. package/dist/core/ingestion/languages/go/query.js +19 -0
  142. package/dist/core/ingestion/languages/java/analysis-features.d.ts +3 -0
  143. package/dist/core/ingestion/languages/java/analysis-features.js +13 -0
  144. package/dist/core/ingestion/languages/java/capture-side-channel.d.ts +30 -0
  145. package/dist/core/ingestion/languages/java/capture-side-channel.js +92 -0
  146. package/dist/core/ingestion/languages/java/captures.d.ts +4 -3
  147. package/dist/core/ingestion/languages/java/captures.js +268 -18
  148. package/dist/core/ingestion/languages/java/package-facts.d.ts +5 -0
  149. package/dist/core/ingestion/languages/java/package-facts.js +9 -0
  150. package/dist/core/ingestion/languages/java/package-siblings.d.ts +3 -16
  151. package/dist/core/ingestion/languages/java/package-siblings.js +8 -147
  152. package/dist/core/ingestion/languages/java/query.js +24 -0
  153. package/dist/core/ingestion/languages/java/scope-resolver.js +27 -0
  154. package/dist/core/ingestion/languages/java/spring-bean-metadata.d.ts +2 -0
  155. package/dist/core/ingestion/languages/java/spring-bean-metadata.js +8 -0
  156. package/dist/core/ingestion/languages/java/spring-conditionals.d.ts +11 -0
  157. package/dist/core/ingestion/languages/java/spring-conditionals.js +48 -0
  158. package/dist/core/ingestion/languages/java/spring-config-bindings.d.ts +23 -0
  159. package/dist/core/ingestion/languages/java/spring-config-bindings.js +215 -0
  160. package/dist/core/ingestion/languages/java/spring-di.d.ts +20 -0
  161. package/dist/core/ingestion/languages/java/spring-di.js +132 -0
  162. package/dist/core/ingestion/languages/java.js +3 -0
  163. package/dist/core/ingestion/languages/javascript/captures.d.ts +3 -0
  164. package/dist/core/ingestion/languages/javascript/captures.js +85 -1
  165. package/dist/core/ingestion/languages/javascript/index.d.ts +54 -5
  166. package/dist/core/ingestion/languages/javascript/index.js +54 -5
  167. package/dist/core/ingestion/languages/javascript/query.d.ts +1 -0
  168. package/dist/core/ingestion/languages/javascript/query.js +102 -5
  169. package/dist/core/ingestion/languages/javascript/scope-resolver.js +2 -0
  170. package/dist/core/ingestion/languages/jvm/package-facts.d.ts +35 -0
  171. package/dist/core/ingestion/languages/jvm/package-facts.js +40 -0
  172. package/dist/core/ingestion/languages/jvm/package-siblings.d.ts +14 -0
  173. package/dist/core/ingestion/languages/jvm/package-siblings.js +129 -0
  174. package/dist/core/ingestion/languages/kotlin/capture-side-channel.d.ts +30 -3
  175. package/dist/core/ingestion/languages/kotlin/capture-side-channel.js +79 -8
  176. package/dist/core/ingestion/languages/kotlin/captures.js +87 -0
  177. package/dist/core/ingestion/languages/kotlin/package-facts.d.ts +5 -0
  178. package/dist/core/ingestion/languages/kotlin/package-facts.js +9 -0
  179. package/dist/core/ingestion/languages/kotlin/package-siblings.d.ts +4 -0
  180. package/dist/core/ingestion/languages/kotlin/package-siblings.js +8 -0
  181. package/dist/core/ingestion/languages/kotlin/query.js +30 -0
  182. package/dist/core/ingestion/languages/kotlin/scope-resolver.js +16 -1
  183. package/dist/core/ingestion/languages/kotlin/spring-bean-metadata.d.ts +2 -0
  184. package/dist/core/ingestion/languages/kotlin/spring-bean-metadata.js +8 -0
  185. package/dist/core/ingestion/languages/kotlin/spring-conditionals.d.ts +12 -0
  186. package/dist/core/ingestion/languages/kotlin/spring-conditionals.js +49 -0
  187. package/dist/core/ingestion/languages/kotlin/spring-di.d.ts +20 -0
  188. package/dist/core/ingestion/languages/kotlin/spring-di.js +251 -0
  189. package/dist/core/ingestion/languages/kotlin.js +5 -6
  190. package/dist/core/ingestion/languages/php/captures.js +59 -0
  191. package/dist/core/ingestion/languages/php/import-decomposer.js +12 -0
  192. package/dist/core/ingestion/languages/php/import-target.d.ts +2 -1
  193. package/dist/core/ingestion/languages/php/import-target.js +110 -2
  194. package/dist/core/ingestion/languages/php/interpret.js +10 -0
  195. package/dist/core/ingestion/languages/php/query.js +31 -0
  196. package/dist/core/ingestion/languages/php/scope-resolver.js +1 -1
  197. package/dist/core/ingestion/languages/python/captures.d.ts +3 -4
  198. package/dist/core/ingestion/languages/python/captures.js +49 -5
  199. package/dist/core/ingestion/languages/python/interpret.js +4 -0
  200. package/dist/core/ingestion/languages/python/query.js +9 -0
  201. package/dist/core/ingestion/languages/python/receiver-binding.d.ts +15 -2
  202. package/dist/core/ingestion/languages/python/receiver-binding.js +96 -2
  203. package/dist/core/ingestion/languages/python/scope-resolver.js +2 -0
  204. package/dist/core/ingestion/languages/python/simple-hooks.d.ts +5 -5
  205. package/dist/core/ingestion/languages/python/simple-hooks.js +15 -5
  206. package/dist/core/ingestion/languages/ruby/captures.js +67 -0
  207. package/dist/core/ingestion/languages/ruby/query.js +58 -0
  208. package/dist/core/ingestion/languages/ruby/scope-resolver.js +2 -0
  209. package/dist/core/ingestion/languages/rust/captures.js +40 -0
  210. package/dist/core/ingestion/languages/rust/interpret.js +18 -0
  211. package/dist/core/ingestion/languages/rust/method-owners.js +11 -1
  212. package/dist/core/ingestion/languages/rust/module-path.d.ts +126 -0
  213. package/dist/core/ingestion/languages/rust/module-path.js +214 -0
  214. package/dist/core/ingestion/languages/rust/qualified-call.d.ts +41 -0
  215. package/dist/core/ingestion/languages/rust/qualified-call.js +479 -0
  216. package/dist/core/ingestion/languages/rust/query.js +40 -2
  217. package/dist/core/ingestion/languages/rust/range-binding.d.ts +1 -11
  218. package/dist/core/ingestion/languages/rust/range-binding.js +149 -63
  219. package/dist/core/ingestion/languages/rust/scope-resolver.js +2 -0
  220. package/dist/core/ingestion/languages/swift/captures.js +37 -0
  221. package/dist/core/ingestion/languages/typescript/captures.d.ts +4 -0
  222. package/dist/core/ingestion/languages/typescript/captures.js +114 -1
  223. package/dist/core/ingestion/languages/typescript/cjs-export-assignment.d.ts +134 -0
  224. package/dist/core/ingestion/languages/typescript/cjs-export-assignment.js +523 -0
  225. package/dist/core/ingestion/languages/typescript/cjs-module-exports.d.ts +54 -0
  226. package/dist/core/ingestion/languages/typescript/cjs-module-exports.js +191 -0
  227. package/dist/core/ingestion/languages/typescript/nuxt-auto-imports.js +2 -1
  228. package/dist/core/ingestion/languages/typescript/query.d.ts +1 -0
  229. package/dist/core/ingestion/languages/typescript/query.js +112 -8
  230. package/dist/core/ingestion/languages/typescript/receiver-binding.d.ts +17 -0
  231. package/dist/core/ingestion/languages/typescript/receiver-binding.js +27 -0
  232. package/dist/core/ingestion/languages/typescript/scope-resolver.js +2 -0
  233. package/dist/core/ingestion/languages/typescript.js +75 -1
  234. package/dist/core/ingestion/local-symbol-pruner.js +11 -11
  235. package/dist/core/ingestion/parsing-processor.js +32 -1
  236. package/dist/core/ingestion/pipeline-phases/di.d.ts +8 -33
  237. package/dist/core/ingestion/pipeline-phases/di.js +162 -159
  238. package/dist/core/ingestion/pipeline-phases/index.d.ts +2 -0
  239. package/dist/core/ingestion/pipeline-phases/index.js +2 -0
  240. package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +15 -0
  241. package/dist/core/ingestion/pipeline-phases/parse-impl.js +107 -2
  242. package/dist/core/ingestion/pipeline-phases/parse.js +5 -0
  243. package/dist/core/ingestion/pipeline-phases/processes.d.ts +8 -0
  244. package/dist/core/ingestion/pipeline-phases/processes.js +11 -1
  245. package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.d.ts +34 -0
  246. package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.js +255 -0
  247. package/dist/core/ingestion/pipeline-phases/spring-config.d.ts +37 -0
  248. package/dist/core/ingestion/pipeline-phases/spring-config.js +433 -0
  249. package/dist/core/ingestion/pipeline-phases/types.d.ts +7 -0
  250. package/dist/core/ingestion/pipeline.d.ts +18 -2
  251. package/dist/core/ingestion/pipeline.js +55 -11
  252. package/dist/core/ingestion/process-processor.js +19 -16
  253. package/dist/core/ingestion/resolve-references.js +12 -0
  254. package/dist/core/ingestion/scope-extractor.d.ts +1 -1
  255. package/dist/core/ingestion/scope-extractor.js +338 -47
  256. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +156 -2
  257. package/dist/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.d.ts +7 -7
  258. package/dist/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +8 -7
  259. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +3 -1
  260. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +6 -0
  261. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +2 -17
  262. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +166 -32
  263. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +41 -0
  264. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +64 -2
  265. package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +7 -2
  266. package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.d.ts +57 -0
  267. package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.js +1223 -0
  268. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +43 -0
  269. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +285 -7
  270. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +19 -4
  271. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +160 -4
  272. package/dist/core/ingestion/scope-resolution/passes/property-dispatch.d.ts +60 -0
  273. package/dist/core/ingestion/scope-resolution/passes/property-dispatch.js +111 -0
  274. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +5 -4
  275. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +57 -3
  276. package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +5 -0
  277. package/dist/core/ingestion/scope-resolution/pipeline/phase.js +25 -38
  278. package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +6 -0
  279. package/dist/core/ingestion/scope-resolution/pipeline/run.js +150 -35
  280. package/dist/core/ingestion/scope-resolution/resolution-outcome.d.ts +31 -2
  281. package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +44 -1
  282. package/dist/core/ingestion/scope-resolution/scope/walkers.js +188 -49
  283. package/dist/core/ingestion/scope-resolution/unresolved-receivers.d.ts +53 -0
  284. package/dist/core/ingestion/scope-resolution/unresolved-receivers.js +85 -0
  285. package/dist/core/ingestion/scope-resolution/utils/definition-id.d.ts +13 -0
  286. package/dist/core/ingestion/scope-resolution/utils/definition-id.js +19 -0
  287. package/dist/core/ingestion/taint/typescript-model.js +34 -2
  288. package/dist/core/ingestion/tree-sitter-queries.d.ts +11 -11
  289. package/dist/core/ingestion/tree-sitter-queries.js +467 -1
  290. package/dist/core/ingestion/type-env.js +11 -7
  291. package/dist/core/ingestion/type-extractors/jvm.js +17 -2
  292. package/dist/core/ingestion/type-extractors/types.d.ts +12 -0
  293. package/dist/core/ingestion/type-extractors/typescript.d.ts +20 -0
  294. package/dist/core/ingestion/type-extractors/typescript.js +26 -0
  295. package/dist/core/ingestion/utils/ast-helpers.d.ts +264 -13
  296. package/dist/core/ingestion/utils/ast-helpers.js +629 -33
  297. package/dist/core/ingestion/utils/call-analysis.d.ts +9 -22
  298. package/dist/core/ingestion/utils/call-analysis.js +40 -3
  299. package/dist/core/ingestion/utils/callable-flow-captures.d.ts +141 -0
  300. package/dist/core/ingestion/utils/callable-flow-captures.js +925 -0
  301. package/dist/core/ingestion/utils/callable-labels.d.ts +25 -0
  302. package/dist/core/ingestion/utils/callable-labels.js +31 -0
  303. package/dist/core/ingestion/utils/effective-ram.d.ts +40 -0
  304. package/dist/core/ingestion/utils/effective-ram.js +58 -0
  305. package/dist/core/ingestion/utils/receiver-chain-captures.d.ts +31 -0
  306. package/dist/core/ingestion/utils/receiver-chain-captures.js +57 -0
  307. package/dist/core/ingestion/utils/receiver-chain-codec.d.ts +82 -0
  308. package/dist/core/ingestion/utils/receiver-chain-codec.js +137 -0
  309. package/dist/core/ingestion/workers/callable-id.d.ts +54 -0
  310. package/dist/core/ingestion/workers/callable-id.js +53 -0
  311. package/dist/core/ingestion/workers/parse-worker.js +347 -21
  312. package/dist/core/ingestion/workers/worker-pool.d.ts +48 -27
  313. package/dist/core/ingestion/workers/worker-pool.js +218 -30
  314. package/dist/core/lbug/csv-generator.js +17 -3
  315. package/dist/core/lbug/cypher-escape.d.ts +20 -0
  316. package/dist/core/lbug/cypher-escape.js +20 -0
  317. package/dist/core/lbug/extension-load-error.d.ts +2 -2
  318. package/dist/core/lbug/extension-load-error.js +44 -27
  319. package/dist/core/lbug/extension-loader.d.ts +12 -0
  320. package/dist/core/lbug/extension-loader.js +15 -7
  321. package/dist/core/lbug/graph-emit-sink.d.ts +247 -0
  322. package/dist/core/lbug/graph-emit-sink.js +573 -0
  323. package/dist/core/lbug/lbug-adapter.d.ts +231 -3
  324. package/dist/core/lbug/lbug-adapter.js +648 -84
  325. package/dist/core/lbug/lbug-config.d.ts +117 -2
  326. package/dist/core/lbug/lbug-config.js +377 -7
  327. package/dist/core/lbug/native-check.d.ts +38 -0
  328. package/dist/core/lbug/native-check.js +173 -20
  329. package/dist/core/lbug/pdg-emit-sink.d.ts +3 -1
  330. package/dist/core/lbug/pdg-emit-sink.js +7 -97
  331. package/dist/core/lbug/pool-adapter.d.ts +23 -1
  332. package/dist/core/lbug/pool-adapter.js +105 -7
  333. package/dist/core/lbug/schema.d.ts +2 -2
  334. package/dist/core/lbug/schema.js +2 -0
  335. package/dist/core/lbug/sidecar-recovery.d.ts +141 -0
  336. package/dist/core/lbug/sidecar-recovery.js +328 -10
  337. package/dist/core/lbug/sync-csv-writer.d.ts +47 -0
  338. package/dist/core/lbug/sync-csv-writer.js +108 -0
  339. package/dist/core/lbug/wal-checkpoint-driver.js +3 -0
  340. package/dist/core/platform/capabilities.d.ts +0 -1
  341. package/dist/core/platform/capabilities.js +12 -7
  342. package/dist/core/run-analyze.d.ts +56 -3
  343. package/dist/core/run-analyze.js +1003 -192
  344. package/dist/core/search/fts-indexes.d.ts +60 -0
  345. package/dist/core/search/fts-indexes.js +93 -0
  346. package/dist/core/tree-sitter/safe-parse.d.ts +8 -3
  347. package/dist/core/tree-sitter/safe-parse.js +21 -7
  348. package/dist/core/wiki/graph-queries.js +6 -5
  349. package/dist/core/wiki/llm-client.d.ts +8 -2
  350. package/dist/core/wiki/llm-client.js +41 -5
  351. package/dist/lib/utils.d.ts +30 -0
  352. package/dist/lib/utils.js +48 -0
  353. package/dist/mcp/http-transport.d.ts +5 -0
  354. package/dist/mcp/http-transport.js +19 -5
  355. package/dist/mcp/local/bean-metadata.d.ts +2 -0
  356. package/dist/mcp/local/bean-metadata.js +25 -0
  357. package/dist/mcp/local/local-backend.d.ts +47 -5
  358. package/dist/mcp/local/local-backend.js +424 -158
  359. package/dist/mcp/output-budget.d.ts +5 -0
  360. package/dist/mcp/output-budget.js +52 -0
  361. package/dist/mcp/read-only-policy.d.ts +12 -0
  362. package/dist/mcp/read-only-policy.js +102 -0
  363. package/dist/mcp/repository-policy.d.ts +35 -0
  364. package/dist/mcp/repository-policy.js +333 -0
  365. package/dist/mcp/resources.js +32 -6
  366. package/dist/mcp/server.d.ts +5 -2
  367. package/dist/mcp/server.js +48 -18
  368. package/dist/mcp/tools.d.ts +8 -8
  369. package/dist/mcp/tools.js +34 -6
  370. package/dist/server/analyze-job.d.ts +3 -0
  371. package/dist/server/analyze-job.js +17 -0
  372. package/dist/server/analyze-launch.d.ts +6 -0
  373. package/dist/server/analyze-launch.js +90 -7
  374. package/dist/server/analyze-worker-core.d.ts +2 -1
  375. package/dist/server/analyze-worker-core.js +15 -3
  376. package/dist/server/analyze-worker.d.ts +10 -0
  377. package/dist/server/analyze-worker.js +29 -6
  378. package/dist/server/api.d.ts +30 -0
  379. package/dist/server/api.js +118 -32
  380. package/dist/server/mcp-http.d.ts +1 -1
  381. package/dist/server/mcp-http.js +4 -2
  382. package/dist/server/upload-ingest.js +2 -1
  383. package/dist/server/validation.js +2 -1
  384. package/dist/storage/git.d.ts +63 -0
  385. package/dist/storage/git.js +223 -2
  386. package/dist/storage/index-lock.d.ts +83 -0
  387. package/dist/storage/index-lock.js +654 -0
  388. package/dist/storage/parse-cache.js +86 -1
  389. package/dist/storage/parsedfile-store.d.ts +8 -0
  390. package/dist/storage/parsedfile-store.js +235 -1
  391. package/dist/storage/repo-manager.d.ts +338 -4
  392. package/dist/storage/repo-manager.js +212 -6
  393. package/dist/types/pipeline.d.ts +9 -0
  394. package/package.json +11 -12
  395. package/scripts/cross-platform-tests.ts +60 -0
  396. package/scripts/ensure-fts.ts +14 -3
  397. package/scripts/run-cross-platform.ts +20 -5
  398. package/scripts/sync-plugin-manifests.mjs +192 -0
  399. package/skills/gitnexus-lfg/README.md +55 -0
  400. package/skills/gitnexus-lfg/SKILL.md +86 -0
  401. package/skills/gitnexus-plan/README.md +142 -0
  402. package/skills/gitnexus-plan/SKILL.md +348 -0
  403. package/skills/gitnexus-plan/references/context-ledger.md +137 -0
  404. package/skills/gitnexus-plan/references/context-pack.md +126 -0
  405. package/skills/gitnexus-plan/references/evidence-provenance.md +272 -0
  406. package/skills/gitnexus-plan/references/pdg-slice.md +109 -0
  407. package/skills/gitnexus-plan/references/plan-template.md +201 -0
  408. package/skills/gitnexus-plan/scripts/evidence-provenance.mjs +2084 -0
  409. package/skills/gitnexus-review/SKILL.md +272 -0
  410. package/skills/gitnexus-review/ci-personas/ci-adversarial-lens.md +42 -0
  411. package/skills/gitnexus-review/ci-personas/ci-blast-radius-lens.md +39 -0
  412. package/skills/gitnexus-review/ci-personas/ci-correctness-lens.md +37 -0
  413. package/skills/gitnexus-review/ci-personas/ci-coverage-lens.md +40 -0
  414. package/skills/gitnexus-review/ci-personas/ci-critic-lens.md +42 -0
  415. package/skills/gitnexus-review/ci-personas/ci-security-lens.md +39 -0
  416. package/skills/gitnexus-work/README.md +71 -0
  417. package/skills/gitnexus-work/SKILL.md +269 -0
  418. package/skills/gitnexus-work/references/evidence-provenance.md +272 -0
  419. package/skills/gitnexus-work/scripts/evidence-provenance.mjs +2084 -0
  420. package/vendor/leiden/utils.cjs +28 -1
  421. package/web/assets/ProcessFlowModal-CwkpVkv-.js +22 -0
  422. package/web/assets/__vite-browser-external-bMKyYQkO.js +1 -0
  423. package/web/assets/agent-CHGW9k1T.js +626 -0
  424. package/web/assets/architectureDiagram-UL44E2DR-CmG3uPWf.js +36 -0
  425. package/web/assets/{blockDiagram-7IZFK4PR-Dut1BpTV.js → blockDiagram-7IZFK4PR-DBefcjof.js} +7 -7
  426. package/web/assets/{c4Diagram-Y2BXMSZH-DOXVs7-C.js → c4Diagram-Y2BXMSZH-EjWnjEJl.js} +6 -6
  427. package/web/assets/chunk-2T2R6R2M-Bb6Sy3_j.js +4 -0
  428. package/web/assets/chunk-67TQ5CYL-CA7OhIEf.js +124 -0
  429. package/web/assets/{chunk-7J6CGLKN-AmkN8jJN.js → chunk-7J6CGLKN-BlKwgXKs.js} +4 -4
  430. package/web/assets/{chunk-INKRHTLW-D9BM9HWZ.js → chunk-INKRHTLW-Ckl3_KkO.js} +13 -13
  431. package/web/assets/{chunk-KGFNY3KK-tD2F6wxK.js → chunk-KGFNY3KK-BZeP-55u.js} +17 -17
  432. package/web/assets/{chunk-LCXTWHL2-Ba9JK-6F.js → chunk-LCXTWHL2-C162wE5z.js} +5 -5
  433. package/web/assets/chunk-LII3EMHJ-BL6lKJ_P.js +1 -0
  434. package/web/assets/chunk-LRIF4GLE-n59lhprL.js +1 -0
  435. package/web/assets/chunk-QA3QBVWF-DVXPOIxe.js +2 -0
  436. package/web/assets/{chunk-RG4AUYOV-OqBBMwuQ.js → chunk-RG4AUYOV-ZNgyLFq6.js} +6 -6
  437. package/web/assets/chunk-T2UQINTJ-BEyXhZWe.js +1 -0
  438. package/web/assets/chunk-UY5QBCOK-ByqTVLvh.js +1 -0
  439. package/web/assets/chunk-VU6ZFW4Y-BLeasdkU.js +2 -0
  440. package/web/assets/chunk-ZXARS5L4-C3v-4Fsw.js +1 -0
  441. package/web/assets/classDiagram-KGZ6W3CR-olpO3fMe.js +1 -0
  442. package/web/assets/classDiagram-v2-72OJOZXJ-olpO3fMe.js +1 -0
  443. package/web/assets/dagre-ND4H6XIP-CY4iIF7v.js +4 -0
  444. package/web/assets/diagram-3NCE3AQN-CO6QpzEE.js +43 -0
  445. package/web/assets/diagram-GF46GFSD-B2atbzmU.js +24 -0
  446. package/web/assets/{diagram-HNR7UZ2L-DxKW2a2Y.js → diagram-HNR7UZ2L-DVRltWbL.js} +3 -3
  447. package/web/assets/{diagram-QXG6HAR7-HfTHcXX_.js → diagram-QXG6HAR7-DR6AHD2h.js} +1 -1
  448. package/web/assets/diagram-WEQXMOUZ-DkpoMwTL.js +10 -0
  449. package/web/assets/erDiagram-L5TCEMPS-n8g_90bc.js +85 -0
  450. package/web/assets/{flowDiagram-H6V6AXG4-Bvr9bbhk.js → flowDiagram-H6V6AXG4-SGMDiCkB.js} +9 -9
  451. package/web/assets/ganttDiagram-JCBTUEKG-Cb3UBqRS.js +292 -0
  452. package/web/assets/gitGraphDiagram-S2ZK5IYY-Bs9CR7tq.js +106 -0
  453. package/web/assets/{index-CzdH8ADg.css → index-CX_fADmQ.css} +1 -1
  454. package/web/assets/{index-B8sko6-6.js → index-DdRu0l4A.js} +51 -51
  455. package/web/assets/infoDiagram-3YFTVSEB-T368on4D.js +2 -0
  456. package/web/assets/{ishikawaDiagram-BNXS4ZKH-BLjivjXL.js → ishikawaDiagram-BNXS4ZKH-XpjJRU9h.js} +6 -6
  457. package/web/assets/journeyDiagram-M6C3CM3L-C6wjooas.js +139 -0
  458. package/web/assets/{kanban-definition-75IXJCU3-DMlCaIpf.js → kanban-definition-75IXJCU3-5_UVY79g.js} +25 -25
  459. package/web/assets/{mindmap-definition-2TDM6QVE-B4GbXQBc.js → mindmap-definition-2TDM6QVE-8xDLzk2e.js} +29 -29
  460. package/web/assets/node-Ct_zna8U.js +8 -0
  461. package/web/assets/pieDiagram-CU6KROY3-Bv4LpAbr.js +30 -0
  462. package/web/assets/preload-helper-Czpn1I53.js +1 -0
  463. package/web/assets/{quadrantDiagram-VICAPDV7-B1TQnlm0.js → quadrantDiagram-VICAPDV7-DR54jOeR.js} +6 -6
  464. package/web/assets/requirementDiagram-JXO7QTGE-PEkg7sKC.js +84 -0
  465. package/web/assets/sankeyDiagram-URQDO5SZ-DDWEtjcs.js +40 -0
  466. package/web/assets/sdk-CzHHH8tD.js +37 -0
  467. package/web/assets/{sequenceDiagram-VS2MUI6T-DuamM-IR.js → sequenceDiagram-VS2MUI6T-Bv-uwANx.js} +14 -14
  468. package/web/assets/src-ykkUkavE.js +1 -0
  469. package/web/assets/stateDiagram-7D4R322I-DVNjmkEq.js +1 -0
  470. package/web/assets/stateDiagram-v2-36443NZ5-CyN4Fh7_.js +1 -0
  471. package/web/assets/timeline-definition-O6YCAMPW-Qmsuo7qS.js +120 -0
  472. package/web/assets/{vennDiagram-MWXL3ELB-BQX2ossk.js → vennDiagram-MWXL3ELB-BD1iK1SX.js} +8 -8
  473. package/web/assets/wardleyDiagram-CUQ6CDDI-D6TzLVob.js +78 -0
  474. package/web/assets/{xychartDiagram-N2JHSOCM-B3HNMuWp.js → xychartDiagram-N2JHSOCM-CoZ_Tits.js} +6 -6
  475. package/web/index.html +14 -13
  476. package/skills/gitnexus-pr-review.md +0 -163
  477. package/web/assets/ProcessFlowModal-Dna7GkwO.js +0 -22
  478. package/web/assets/agent-DNYDy-KA.js +0 -660
  479. package/web/assets/architectureDiagram-UL44E2DR-BU5ZRITg.js +0 -36
  480. package/web/assets/chunk-2T2R6R2M-pkw2oXHH.js +0 -4
  481. package/web/assets/chunk-67TQ5CYL-zxhDWgyF.js +0 -124
  482. package/web/assets/chunk-LII3EMHJ-EGx-eBIu.js +0 -1
  483. package/web/assets/chunk-LRIF4GLE-C3_PqUBq.js +0 -1
  484. package/web/assets/chunk-QA3QBVWF-D4cSJBf6.js +0 -2
  485. package/web/assets/chunk-T2UQINTJ-BJusEiGe.js +0 -1
  486. package/web/assets/chunk-UY5QBCOK-BCpUlARQ.js +0 -1
  487. package/web/assets/chunk-VU6ZFW4Y-BeXVk45_.js +0 -2
  488. package/web/assets/chunk-ZXARS5L4-BI_qR2Nm.js +0 -1
  489. package/web/assets/classDiagram-KGZ6W3CR-D9zSIg0x.js +0 -1
  490. package/web/assets/classDiagram-v2-72OJOZXJ-D9zSIg0x.js +0 -1
  491. package/web/assets/dagre-ND4H6XIP-CpcV5kbl.js +0 -4
  492. package/web/assets/diagram-3NCE3AQN-6SMxBRpj.js +0 -43
  493. package/web/assets/diagram-GF46GFSD-BZEdNcRZ.js +0 -24
  494. package/web/assets/diagram-WEQXMOUZ-CyijUS8r.js +0 -10
  495. package/web/assets/erDiagram-L5TCEMPS-D0fvpWEX.js +0 -85
  496. package/web/assets/ganttDiagram-JCBTUEKG-TzODrLzv.js +0 -292
  497. package/web/assets/gitGraphDiagram-S2ZK5IYY-ONQSwJIY.js +0 -106
  498. package/web/assets/infoDiagram-3YFTVSEB-DIPVUIQ6.js +0 -2
  499. package/web/assets/journeyDiagram-M6C3CM3L-Cetgs3NH.js +0 -139
  500. package/web/assets/pieDiagram-CU6KROY3-D3YC_xyg.js +0 -30
  501. package/web/assets/requirementDiagram-JXO7QTGE-f8wczLQf.js +0 -84
  502. package/web/assets/sankeyDiagram-URQDO5SZ-BTxzG5j0.js +0 -40
  503. package/web/assets/src-BNCXICdA.js +0 -1
  504. package/web/assets/stateDiagram-7D4R322I-Ch2pEUcw.js +0 -1
  505. package/web/assets/stateDiagram-v2-36443NZ5-7ANuoZLL.js +0 -1
  506. package/web/assets/timeline-definition-O6YCAMPW-07BR8R8G.js +0 -120
  507. package/web/assets/wardleyDiagram-CUQ6CDDI-CGIJBBiK.js +0 -78
package/README.md CHANGED
@@ -165,13 +165,20 @@ The result is a **LadybugDB graph database** stored locally in `.gitnexus/` with
165
165
 
166
166
  ### Experimental community detection engine
167
167
 
168
- Community detection uses the bundled Graphology Leiden implementation by default. To test the #2337 Icebug migration path without changing default analyze behavior, set:
168
+ > **Experimental not supported for production indexes.** The Icebug engine is a research path for #2337. It carries no stability guarantee, may change or be removed without a major version, and partitions differently from the default, so switching engines changes community IDs and any generated context keyed on them. Reindex with `graphology` before relying on the output.
169
+
170
+ Community detection uses the bundled Graphology Leiden implementation by default. To try the #2337 Icebug path without changing default analyze behavior, install the optional native package alongside GitNexus and set the engine:
169
171
 
170
172
  ```bash
173
+ npm i @ladybugmem/icebug
171
174
  GITNEXUS_COMMUNITY_ENGINE=icebug npx gitnexus analyze
172
175
  ```
173
176
 
174
- Supported values are `graphology`, `icebug`, and `auto`. The Icebug path is an experimental probe: GitNexus does not bundle an Icebug native package yet, and if a separately resolvable module is unavailable or its API does not match the expected `Graph.fromCSR` / `ParallelLeidenView` shape, analyze falls back to Graphology and reports the fallback in progress output. Today `auto` is behaviorally identical to `icebug`: both try Icebug and fall back to Graphology, while `graphology` skips the Icebug probe entirely.
177
+ Supported values are `graphology`, `icebug`, and `auto`. Today `auto` is behaviorally identical to `icebug`: both try Icebug and fall back to Graphology, while `graphology` skips Icebug entirely.
178
+
179
+ Icebug is **not** a declared dependency — its prebuilds link against system Arrow 24 (`libarrow.so.2400`), OpenMP, and glibc ≥ 2.38, none of which GitNexus can assume. Analyze falls back to Graphology and reports the reason in progress output when the module is missing, fails to load, or predates the `setNumberOfThreads` / `setSeed` controls that reproducible community IDs require (present at [icebug-nodejs](https://github.com/Ladybug-Memory/icebug-nodejs) HEAD, absent from the published 12.8.0 tarball — so the fallback is what you will see today). The engine is pinned to `threads: 1`, `randomize: false` for determinism.
180
+
181
+ Note that the bundled Graphology path is no longer the slow option it once was: #2337 removed an accidental O(communities × N) copy in the vendored Leiden. On a synthetic 200k-node / 800k-edge benchmark graph it went from exceeding the 60s timeout to finishing in ~15s. Real projections vary with their degree distribution, so treat that as a direction, not a guarantee.
175
182
 
176
183
  ## MCP Tools
177
184
 
@@ -233,7 +240,7 @@ gitnexus analyze --embeddings # Enable embedding generation (slower, better s
233
240
  gitnexus embeddings install # Fetch the optional local embedding stack on demand (--cuda, --force)
234
241
  gitnexus analyze --skills # Generate repo-specific skill files from detected communities
235
242
  gitnexus analyze --skip-agents-md # Preserve custom AGENTS.md/CLAUDE.md gitnexus section edits
236
- gitnexus analyze --skip-skills # Skip installing .claude/skills/gitnexus/ skill files
243
+ gitnexus analyze --skip-skills # Skip installing standard .claude/skills/gitnexus-* skill files
237
244
  gitnexus analyze --skip-git # Index folders that are not Git repositories
238
245
  gitnexus analyze --workers <n> # Parse worker pool size (>=1; default: cores-1, capped at 16)
239
246
  gitnexus analyze --verbose # Log skipped files when parsers are unavailable
@@ -249,6 +256,8 @@ gitnexus clean # Delete index for current repo
249
256
  gitnexus clean --all --force # Delete all indexes
250
257
  gitnexus wiki [path] # Generate LLM-powered docs from knowledge graph
251
258
  gitnexus wiki --model <model> # Wiki with custom LLM model (default: minimax/minimax-m2.5)
259
+ gitnexus wiki --base-url http://llama-box.local:8080/v1 --allow-insecure-connection llama-box.local
260
+ # Allow an exact LAN/self-hosted HTTP LLM host; env: GITNEXUS_ALLOW_INSECURE_CONNECTION
252
261
  gitnexus doctor # Show runtime platform capabilities and embedding configuration
253
262
 
254
263
  # Direct graph queries — the same tools the MCP server exposes, no MCP daemon needed
@@ -282,11 +291,25 @@ Set these env vars to use a remote OpenAI-compatible `/v1/embeddings` endpoint i
282
291
  export GITNEXUS_EMBEDDING_URL=http://your-server:8080/v1
283
292
  export GITNEXUS_EMBEDDING_MODEL=BAAI/bge-large-en-v1.5
284
293
  export GITNEXUS_EMBEDDING_DIMS=1024 # optional, default 384
294
+ export GITNEXUS_EMBEDDING_REQUEST_DIMS=omit # optional: omit "dimensions", or an integer to override it
285
295
  export GITNEXUS_EMBEDDING_API_KEY=your-key # optional, default: "unused"
296
+ export GITNEXUS_EMBEDDING_MAX_ATTEMPTS=3 # optional, total attempts (1-20)
297
+ export GITNEXUS_EMBEDDING_RETRY_CAP_MS=5000 # optional, maximum retry delay
298
+ export GITNEXUS_EMBEDDING_MIN_INTERVAL_MS=0 # optional, minimum request spacing
299
+ export GITNEXUS_EMBEDDING_HTTP_TIMEOUT_MS=180000 # optional, per-request timeout (max 300000)
286
300
  gitnexus analyze . --embeddings
287
301
  ```
288
302
 
289
- Works with Infinity, vLLM, TEI, llama.cpp, Ollama, LM Studio, or OpenAI. When unset, local embeddings are used unchanged.
303
+ `GITNEXUS_EMBEDDING_REQUEST_DIMS` controls only the `dimensions` field sent in
304
+ the request body, independently of `GITNEXUS_EMBEDDING_DIMS` (which still
305
+ validates the returned vector's length):
306
+
307
+ - `omit` (or `none`, `off`, `false`, `0`) — do not send `dimensions` at all, for
308
+ strict backends that return the right vector size but reject the field.
309
+ - a positive integer — send that value instead of `GITNEXUS_EMBEDDING_DIMS`.
310
+ - unset — send `GITNEXUS_EMBEDDING_DIMS` (the previous behavior).
311
+
312
+ Works with Infinity, vLLM, TEI, llama.cpp, Ollama, LM Studio, or OpenAI. Retry and pacing settings are provider-neutral; provider-specific limits should be supplied through configuration. When unset, local embeddings are used unchanged.
290
313
 
291
314
  ## Multi-Repo Support
292
315
 
@@ -327,13 +350,23 @@ GitNexus ships with skill files that teach AI agents how to use the tools effect
327
350
  - **Refactoring** — Plan safe refactors using dependency mapping
328
351
  - **Guide** — GitNexus tool/resource/schema reference for the agent
329
352
  - **CLI** — Run analyze/status/clean/wiki commands on request
353
+ - **PDG Query** — Statement-level control/data dependence queries (`--pdg` index)
354
+ - **Taint Analysis** — Source→sink data-flow findings (`--pdg` index)
355
+ - **Plan / Work / Review / LFG** — The engineering family: implementation-ready plans, gated plan execution, graph-backed change review with taint + expert lenses, and the end-to-end pipeline
330
356
 
331
- Installed automatically by both `gitnexus analyze` (per-repo) and `gitnexus setup` (global). Run `gitnexus analyze --skills` to additionally generate repo-specific skills for each detected functional area under `.claude/skills/generated/`.
357
+ Installed automatically by both `gitnexus analyze` (per-repo) and `gitnexus setup` (global). Run `gitnexus analyze --skills` to additionally generate each detected functional area as a direct project skill under `.claude/skills/gitnexus-area-<name>/`.
332
358
 
333
359
  ## Requirements
334
360
 
335
361
  - Node.js >= 22
336
362
  - Git repository (uses git for commit tracking)
363
+ - **Linux: glibc 2.34 or newer** (Ubuntu 22.04+, RHEL/Rocky/Alma 9+, Debian 12+, Fedora 35+). The
364
+ LadybugDB native binary ships as a prebuild against that floor, so on an older host it cannot
365
+ load and reinstalling does not help — see
366
+ [Linux: `GLIBC_2.34' not found`](#linux-glibc_234-not-found).
367
+ - **Windows, for full-text search:** the Microsoft Visual C++ 2015-2022 Redistributable (x64) *and*
368
+ OpenSSL 3 (`libssl-3-x64.dll`, `libcrypto-3-x64.dll`) resolvable on `PATH` — see
369
+ [Windows: full-text search unavailable](#windows-full-text-search-unavailable).
337
370
 
338
371
  ## Release candidates
339
372
 
@@ -416,6 +449,50 @@ pnpm add -g --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=t
416
449
  gitnexus serve
417
450
  ```
418
451
 
452
+ ### Linux: `GLIBC_2.34' not found`
453
+
454
+ ```
455
+ LadybugDB native binary (lbugjs.node) exists but failed to load:
456
+ /lib64/libc.so.6: version `GLIBC_2.34' not found (required by .../lbugjs.node)
457
+ ```
458
+
459
+ The LadybugDB addon ships as a prebuilt binary compiled against **glibc 2.34**. If your
460
+ distribution is older (CentOS/RHEL 8 has 2.28, Ubuntu 20.04 has 2.31, Debian 11 has 2.31), the
461
+ dynamic loader cannot resolve its symbols.
462
+
463
+ **Reinstalling does not help** — every download delivers the same prebuilt binary. The fix is a
464
+ newer C library:
465
+
466
+ - Run GitNexus on a distribution with glibc 2.34 or newer — Ubuntu 22.04+, RHEL/Rocky/Alma 9+,
467
+ Debian 12+, Fedora 35+.
468
+ - Or run it in the container image, which bundles a current glibc (see [Docker](#docker)).
469
+
470
+ `gitnexus doctor` reports the required and detected glibc versions when this happens
471
+ ([#2672](https://github.com/abhigyanpatwari/GitNexus/issues/2672)).
472
+
473
+ ### Windows: full-text search unavailable
474
+
475
+ `analyze` completes, but keyword search is degraded and `doctor` shows the FTS extension failing
476
+ with Windows error 126 (`The specified module could not be found`). The extension needs two
477
+ runtime dependencies Windows does not ship by default:
478
+
479
+ 1. **Microsoft Visual C++ 2015-2022 Redistributable (x64)** —
480
+ <https://aka.ms/vs/17/release/vc_redist.x64.exe>
481
+ 2. **OpenSSL 3** — `libssl-3-x64.dll` and `libcrypto-3-x64.dll`, resolvable on `PATH`
482
+
483
+ The redistributable alone is **not** sufficient. If Git for Windows is installed you already have
484
+ the OpenSSL DLLs — run `gitnexus` from **Git Bash**, or prepend the directory to `PATH` in the
485
+ shell you use:
486
+
487
+ ```powershell
488
+ $env:PATH = "C:\Program Files\Git\mingw64\bin;$env:PATH"
489
+ gitnexus analyze --repair-fts
490
+ ```
491
+
492
+ Without them the index is still built, but without search tables, so `query` returns empty keyword
493
+ results until you re-run `gitnexus analyze --repair-fts` from a shell where the DLLs resolve
494
+ ([#2669](https://github.com/abhigyanpatwari/GitNexus/issues/2669)).
495
+
419
496
  ### Installation fails with native module errors
420
497
 
421
498
  Some optional language grammars (Dart, Proto, Swift, Kotlin) require native compilation. If they fail, GitNexus still works — those languages will be skipped. To skip them intentionally (no C++ toolchain needed), set `GITNEXUS_SKIP_OPTIONAL_GRAMMARS=1` before installing.
@@ -458,14 +535,17 @@ GitNexus uses optional DuckDB extensions for BM25 and vector search. The `gitnex
458
535
 
459
536
  Configure the behavior with these environment variables:
460
537
 
461
- | Variable | Values | Default | Effect |
462
- | -------------------------------------------- | ---------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
463
- | `GITNEXUS_LBUG_EXTENSION_INSTALL` | `auto`, `load-only`, `never` | `auto` | `auto` runs one bounded install if LOAD fails — a plain `INSTALL`, escalating to `FORCE INSTALL` only when the LOAD error shows the present extension file is broken. `load-only` only uses already-installed extensions (recommended for offline / firewalled environments). `never` skips optional extensions entirely. |
464
- | `GITNEXUS_LBUG_EXTENSION_INSTALL_TIMEOUT_MS` | positive integer | `15000` | Wall-clock budget for the out-of-process extension-install child before it is killed. |
465
- | `GITNEXUS_FTS_STEMMER` | supported LadybugDB stemmer | `porter` | Stemmer used when rebuilding BM25/FTS indexes. Use `none` for CJK-heavy repositories, or a language stemmer such as `german`, `french`, or `spanish` when that better matches repository comments and identifiers. Re-run `gitnexus analyze --repair-fts` after changing it. |
466
- | `GITNEXUS_FTS_CJK_SEGMENTATION` | `none`, `bigram` | `none` | `bigram` inserts overlapping character-bigram boundaries into Chinese/Japanese Han-ideograph spans in `content`/`description` before FTS indexing, so LadybugDB's space-only tokenizer can see sub-phrase word boundaries. Scoped to CJK Unified Ideographs only — Japanese Hiragana/Katakana and Korean Hangul are not currently segmented. Unlike `GITNEXUS_FTS_STEMMER`, this rewrites stored text — enabling it on an already-indexed repo requires a full `gitnexus analyze --force`; neither `--repair-fts` nor a plain incremental `analyze` applies it to previously-indexed files. Set the same value wherever `analyze` and search-serving processes (CLI query, MCP server, web server) run. |
467
- | `GITNEXUS_COMMUNITY_ENGINE` | `graphology`, `icebug`, `auto` | `graphology` | Community-detection engine used during analyze. `graphology` uses the bundled default path. `icebug` and `auto` currently behave identically: both try the experimental Icebug CSR path and fall back to Graphology if the optional native module is unavailable or incompatible. |
468
- | `GITNEXUS_WAL_CHECKPOINT_THRESHOLD` | integer `>= -1` | `67108864` (64 MiB) | LadybugDB WAL auto-checkpoint threshold during analyze (bytes). Auto-checkpoint remains enabled; `-1` keeps Ladybug's stock ~16 MiB. Larger thresholds reduce checkpoint frequency but increase the WAL size at rotation time choose a smaller value on disk-constrained environments. |
538
+ | Variable | Values | Default | Effect |
539
+ | -------------------------------------------- | ------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
540
+ | `GITNEXUS_LBUG_EXTENSION_INSTALL` | `auto`, `load-only`, `never` | `auto` | `auto` runs one bounded install if LOAD fails — a plain `INSTALL`, escalating to `FORCE INSTALL` only when the LOAD error shows the present extension file is broken. `load-only` only uses already-installed extensions (recommended for offline / firewalled environments). `never` skips optional extensions entirely. |
541
+ | `GITNEXUS_LBUG_EXTENSION_INSTALL_TIMEOUT_MS` | positive integer | `15000` | Wall-clock budget for the out-of-process extension-install child before it is killed. |
542
+ | `GITNEXUS_FTS_STEMMER` | supported LadybugDB stemmer | `porter` | Stemmer used when rebuilding BM25/FTS indexes. Use `none` for CJK-heavy repositories, or a language stemmer such as `german`, `french`, or `spanish` when that better matches repository comments and identifiers. Re-run `gitnexus analyze --repair-fts` after changing it. |
543
+ | `GITNEXUS_FTS_CJK_SEGMENTATION` | `none`, `bigram` | `none` | `bigram` inserts overlapping character-bigram boundaries into Chinese/Japanese Han-ideograph spans in `content`/`description` before FTS indexing, so LadybugDB's space-only tokenizer can see sub-phrase word boundaries. Scoped to CJK Unified Ideographs only — Japanese Hiragana/Katakana and Korean Hangul are not currently segmented. Unlike `GITNEXUS_FTS_STEMMER`, this rewrites stored text — enabling it on an already-indexed repo requires a full `gitnexus analyze --force`; neither `--repair-fts` nor a plain incremental `analyze` applies it to previously-indexed files. Set the same value wherever `analyze` and search-serving processes (CLI query, MCP server, web server) run. |
544
+ | `GITNEXUS_STREAM_GRAPH_EMIT` | `0`, `1` | `1` (on) | **On by default** on a full rebuild (`--force`); incremental runs ignore it. Holds structural relationships (CALLS, IMPORTS, ACCESSES, CONTAINS, ...) as CSV-on-disk plus compact in-memory columns instead of as objects in three overlapping indexes, cutting peak in-memory graph heap by ~1.4x at no measurable CPU cost (measured A/B on a synthetic 400k-node / 1.08M-edge graph: 819 MB -> 584 MB, iteration at parity, scaling verified linear from 100k to 800k nodes, with every edge still visible through the graph interface; no end-to-end measurement on a real repository yet). Nothing is traded away — community detection, process extraction, PDG taint summaries and the local-symbol pruner all read a complete relationship set and behave identically. Set to `0` only to bisect a suspected streaming-related fault. |
545
+ | `GITNEXUS_COMMUNITY_ENGINE` | `graphology`, `icebug`, `auto` | `graphology` | Community-detection engine used during analyze. `graphology` is the supported default. `icebug` and `auto` are **experimental** and currently behave identically: both try the optional `@ladybugmem/icebug` native Leiden over a CSR export and fall back to Graphology if it is not installed, cannot load, or lacks the deterministic thread/seed controls. Experimental engines partition differently, so community IDs are not comparable across engines. |
546
+ | `GITNEXUS_WAL_CHECKPOINT_THRESHOLD` | integer `>= -1` | `67108864` (64 MiB) | LadybugDB WAL auto-checkpoint threshold during analyze (bytes). Auto-checkpoint remains enabled; `-1` keeps Ladybug's stock ~16 MiB. Larger thresholds reduce checkpoint frequency but increase the WAL size at rotation time — choose a smaller value on disk-constrained environments. |
547
+ | `GITNEXUS_LBUG_BUFFER_POOL_SIZE` | integer `>= 0` (bytes) | min(2 GiB, 80% RAM) | LadybugDB buffer-pool ceiling for every GitNexus database (analyze, MCP server, serve, group bridges). Bounded so a long-lived `gitnexus mcp` process or a large incremental `analyze` cannot grow toward LadybugDB's native 80%-of-RAM default and OOM the host (#2557). `0` restores that native unbounded default; invalid values warn and fall back to the default. During `analyze` the pool is right-sized to the graph and, on non-4 KiB-page hosts (Apple Silicon 16 KiB, Ascend/aarch64 64 KiB), scaled by the page-size granule ratio up to min(2 GiB × pageSize/4 KiB, 80% RAM) (#2631); this env var overrides all of that as an absolute value. |
548
+ | `GITNEXUS_LBUG_MAX_DB_SIZE` | positive integer (bytes) | `17179869184` (16 GiB) | Upper bound for a single LadybugDB database file. This is an mmap/disk-address-space ceiling, not a memory limit — it does not constrain the buffer pool (use `GITNEXUS_LBUG_BUFFER_POOL_SIZE` for that). Raise it when indexing genuinely huge monorepos; invalid values silently fall back to the default. |
469
549
 
470
550
  ```bash
471
551
  # Offline/airgapped: never reach the network for extensions
@@ -485,15 +565,46 @@ GITNEXUS_FTS_CJK_SEGMENTATION=bigram npx gitnexus analyze --force
485
565
 
486
566
  ### Analysis runs out of memory
487
567
 
568
+ Memory management is automatic: `analyze` sizes its heap to the machine
569
+ (always below physical RAM), caps each parse worker, and — rather than
570
+ grinding into a GC death spiral or crash — stops early with a message telling
571
+ you the one thing to do. Repeated
572
+ `Replacement worker did not report ready within 5000ms` warnings on a large
573
+ repository are part of the same picture: memory pressure starving healthy
574
+ workers, not a worker bug (#2649).
575
+
576
+ If analyze says the repository doesn't fit, do what the message says:
577
+
578
+ - **The machine has more memory to give** (a `NODE_OPTIONS`
579
+ `--max-old-space-size` pin from your environment is holding analyze back):
580
+ re-run without the pin — no flags needed.
581
+ - **The machine is the ceiling**: shrink the scope (exclude generated or
582
+ vendored directories, below) or use a machine with more RAM.
583
+
584
+ Escape hatches (`GITNEXUS_MEMORY=off` to decline the autopilot,
585
+ `GITNEXUS_WORKER_HEAP_MB` to size workers yourself) are listed in the
586
+ environment-variable table below —
587
+ most users never need them.
588
+
488
589
  For very large repositories:
489
590
 
490
591
  ```bash
491
592
  # Increase Node.js heap size
492
593
  NODE_OPTIONS="--max-old-space-size=16384" npx gitnexus analyze
493
594
 
494
- # Exclude large directories
595
+ # Exclude large directories (this repo only)
495
596
  echo "vendor/" >> .gitnexusignore
496
597
  echo "dist/" >> .gitnexusignore
598
+
599
+ # Exclude a directory across every repo you index, without touching each
600
+ # repo's own .gitnexusignore or needing push/commit access to it. GitNexus
601
+ # reads the same sources `git` itself does: core.excludesFile (all repos)
602
+ # and $GIT_DIR/info/exclude (this repo only, untracked). A repo's own
603
+ # .gitignore/.gitnexusignore can still override either with a `!pattern`
604
+ # negation. Skip both entirely with GITNEXUS_NO_GLOBAL_IGNORE=1.
605
+ git config --global core.excludesFile ~/.gitignore_global # applies to every repo
606
+ echo "docs/" >> ~/.gitignore_global
607
+ echo "build/" >> .git/info/exclude # this repo only, untracked
497
608
  ```
498
609
 
499
610
  ### Large files are being skipped
@@ -528,13 +639,19 @@ For repositories with very large source files, `GITNEXUS_WORKER_SUB_BATCH_MAX_BY
528
639
 
529
640
  ### Worker pool resilience tuning
530
641
 
531
- Three env vars expose the pool's resilience layers (respawn budget, cumulative-timeout cap, circuit breaker). Defaults are tuned for typical repos; bump them when an analyze legitimately needs more retries, or lower them to fail-fast on a known-bad shape.
532
-
533
- | Variable | Default | Effect |
534
- | ----------------------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
535
- | `GITNEXUS_WORKER_MAX_RESPAWNS_PER_SLOT` | `3` | Max replacement spawns per slot before the slot is dropped from the active rotation. |
536
- | `GITNEXUS_WORKER_MAX_CUMULATIVE_TIMEOUT_MS` | `5 × subBatchTimeoutMs` | Total retry wall-time budget per job before quarantining. Bounds exponentially-growing retry waits. |
537
- | `GITNEXUS_WORKER_CONSECUTIVE_FAILURE_THRESHOLD` | `max(3, poolSize)` | Per-slot consecutive deaths before the pool's circuit breaker trips. After tripping, dispatches require a fresh pool. |
642
+ Four env vars expose the pool's resilience layers (respawn budget, cumulative-timeout cap, circuit breaker, startup handshake). Defaults are tuned for typical repos; bump them when an analyze legitimately needs more retries, or lower them to fail-fast on a known-bad shape.
643
+
644
+ | Variable | Default | Effect |
645
+ | ----------------------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
646
+ | `GITNEXUS_WORKER_MAX_RESPAWNS_PER_SLOT` | `3` | Max replacement spawns per slot before the slot is dropped from the active rotation. |
647
+ | `GITNEXUS_WORKER_MAX_CUMULATIVE_TIMEOUT_MS` | `5 × subBatchTimeoutMs` | Total retry wall-time budget per job before quarantining. Bounds exponentially-growing retry waits. |
648
+ | `GITNEXUS_WORKER_CONSECUTIVE_FAILURE_THRESHOLD` | `max(3, poolSize)` | Per-slot consecutive deaths before the pool's circuit breaker trips. After tripping, dispatches require a fresh pool. |
649
+ | `GITNEXUS_WORKER_SHUTDOWN_DRAIN_MS` | `30000` | Max wait at pool shutdown for a retired worker still inside native code — terminated at its next JS-safe point instead of mid-native-call, which would abort the process (`Napi::Error`, #2432). |
650
+ | `GITNEXUS_WORKER_READY_TIMEOUT_MS` | `5000` | Startup budget for a parse worker to load its grammar bindings and report `{type:'ready'}`. Slots that miss it are treated as startup crashes. Raise it on a slow or heavily loaded host where a full pool cold-starting concurrently needs more than 5s. |
651
+ | `GITNEXUS_MEMORY` | `off` | unset (autopilot on) | `off` declines GitNexus's memory autopilot: analyze will neither re-run itself with a RAM-aware heap cap nor abort the parse before V8 enters its ineffective-mark-compact death spiral. Use it when you want to drive memory manually; to simply pin a heap size, pass Node's own `--max-old-space-size`, which is already honoured as your decision. |
652
+ | `GITNEXUS_WORKER_HEAP_MB` | `clamp(512, RAM/2/poolSize, 4096)` | Per-worker V8 old-generation heap cap (#2649). Bounds pool RSS on large repos; a worker exceeding it dies with a real heap error handled by quarantine/respawn. |
653
+ | `GITNEXUS_SERVER_ANALYZE_HEAP_MB` | `min(8192, auto cap)` | Heap for the web/MCP server's forked analyze worker (#2649). Defaults to the historical 8192 MB bounded by the machine/container's RAM-aware auto cap; set an absolute MB value to override. |
654
+ | `GITNEXUS_CPP_CAPTURE_BUDGET_MS` | `20000` | Per-file wall-clock budget for C++ capture extraction; on breach the file keeps partial captures with a warning (#2432). `0` expires immediately. |
538
655
 
539
656
  ### Graph cleanup tuning
540
657
 
@@ -55,19 +55,32 @@ export type NodeProperties = {
55
55
  [key: string]: unknown;
56
56
  };
57
57
  export type RelationshipType = 'CONTAINS' | 'CALLS' | 'INHERITS' | 'METHOD_OVERRIDES' | 'METHOD_IMPLEMENTS' | 'IMPORTS' | 'USES' | 'DEFINES' | 'DECORATES' | 'IMPLEMENTS' | 'EXTENDS' | 'HAS_METHOD' | 'HAS_PROPERTY' | 'ACCESSES' | 'MEMBER_OF' | 'STEP_IN_PROCESS' | 'HANDLES_ROUTE' | 'FETCHES' | 'HANDLES_TOOL' | 'ENTRY_POINT_OF' | 'WRAPS' | 'QUERIES'
58
- /** Dependency-injection edge: a consumer class receives every implementer
59
- * of interface `T` via a container-injected collection-typed field
60
- * (`List<T>`, `Set<T>`, `Collection<T>`, or `Map<K,T>`). Precondition: the
61
- * field carries an injection annotation recognized by a per-language
62
- * matcher registered in `di-extractors/` (Java/Spring today: `@Autowired`
63
- * or `@Inject`; `@Resource` is excluded by-name-first semantics).
64
- * Source = the consumer Class node (the one owning the field).
65
- * Target = an implementing Class node.
58
+ /** Dependency-injection edge: a consumer class receives a likely provider
59
+ * through constructor, field, method, or collection injection. A
60
+ * per-language resolver identifies the site and provider metadata; the
61
+ * shared DI phase uses type heritage, qualifier names, and preferred
62
+ * provider markers to resolve it. Ambiguous single injection is represented
63
+ * by multiple lower-confidence edges instead of a fabricated exact target.
64
+ * Source = the consumer Class node (the one owning the injection site).
65
+ * Target = a concrete provider Class node.
66
66
  * Framework specifics live in the `reason` payload (e.g.
67
67
  * `Spring DI: @Autowired List<T>`), not in this type contract.
68
68
  * Lets Cypher queries trace which beans the container injects into a given
69
69
  * consumer, complementing the structural `IMPLEMENTS` heritage edges. */
70
70
  | 'INJECTS'
71
+ /** Spring activation constraint. Source = a conditional Bean/configuration
72
+ * Class or factory Method; target = the referenced configuration Property
73
+ * when statically identifiable, otherwise an Annotation evidence node.
74
+ * The reason records the annotation and explicitly marks activation as
75
+ * unknown because runtime environment/classpath state may override source
76
+ * configuration. */
77
+ | 'CONDITIONAL_ON'
78
+ /** Metadata declaration/discovery relationship. Source = a metadata File;
79
+ * target = the declared candidate node. This deliberately does not claim
80
+ * that the target is active or registered at runtime. Framework-specific
81
+ * semantics belong in `reason` so the relationship can be reused by other
82
+ * metadata-driven systems. */
83
+ | 'DECLARES'
71
84
  /** Vue component event system: a handler function in a parent component is
72
85
  * bound to an event emitted by a child component (`@event="handlerFn"`).
73
86
  * Source = handler Function/Method node in the parent.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graph/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graph/types.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,8 @@ export type { QualifiedNameIndex } from './scope-resolution/qualified-name-index
21
21
  export { resolveTypeRef } from './scope-resolution/resolve-type-ref.js';
22
22
  export type { ResolveTypeRefContext } from './scope-resolution/resolve-type-ref.js';
23
23
  export type { ParsedFile } from './scope-resolution/parsed-file.js';
24
- export type { ReferenceSite, ReferenceKind, CallForm } from './scope-resolution/reference-site.js';
24
+ export type { ReferenceSite, ReferenceKind, CallForm, MixedChainStep, } from './scope-resolution/reference-site.js';
25
+ export type { CallableFlowOperand, CallableFlowExpectedSignature, CallableFlowPassingMode, CallableFlowInvocationKind, CallableFlowSeedSite, CallableFlowCopySite, CallableFlowAliasSite, CallableFlowAddressSite, CallableFlowStoreSite, CallableFlowLoadSite, CallableFlowFormalSite, CallableFlowArgumentSite, CallableFlowInvokeSite, CallableFlowSite, } from './scope-resolution/callable-flow-site.js';
25
26
  export { buildMethodDispatchIndex } from './scope-resolution/method-dispatch-index.js';
26
27
  export type { MethodDispatchIndex, MethodDispatchInput, } from './scope-resolution/method-dispatch-index.js';
27
28
  export { finalize } from './scope-resolution/finalize-algorithm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIrE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACpG,YAAY,EACV,OAAO,EACP,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,GACZ,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAG5F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAKrF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAGpF,YAAY,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,YAAY,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,cAAc,GACf,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,YAAY,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,YAAY,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,YAAY,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACpG,YAAY,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EACL,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,GAClB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,cAAc,EACd,cAAc,EACd,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAM1E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACjG,YAAY,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAiCjC,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,yDAAyD;AACzD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AAGvD,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,gEAAgE;AAChE,yEAAyE;AACzE,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAOxE,oFAAoF;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAMvF,uEAAuE;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAUpE,sEAAsE;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAKvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAKrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEpG,OAAO,EACL,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,0CAA0C,CAAC;AAUlD,2EAA2E;AAC3E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAErF,OAAO,EACL,cAAc,EACd,cAAc,EACd,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG1E,8EAA8E;AAC9E,wEAAwE;AACxE,wEAAwE;AACxE,8DAA8D;AAC9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEjG,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAG3C,mDAAmD;AACnD,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAiCjC,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,yDAAyD;AACzD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AAGvD,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,gEAAgE;AAChE,yEAAyE;AACzE,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AA4BxE,oFAAoF;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAMvF,uEAAuE;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAUpE,sEAAsE;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAKvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAKrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEpG,OAAO,EACL,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,0CAA0C,CAAC;AAUlD,2EAA2E;AAC3E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAErF,OAAO,EACL,cAAc,EACd,cAAc,EACd,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG1E,8EAA8E;AAC9E,wEAAwE;AACxE,wEAAwE;AACxE,8DAA8D;AAC9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEjG,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAG3C,mDAAmD;AACnD,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,sCAAsC,CAAC"}
@@ -25,6 +25,8 @@ export interface ResilientFetchOptions {
25
25
  breakerOptions?: CircuitBreakerOptions;
26
26
  /** Tuning knobs for the retry helper. */
27
27
  retry?: Partial<Pick<RetryOptions, 'maxAttempts' | 'baseDelayMs' | 'capDelayMs'>> & {
28
+ /** Upper bound on a single Retry-After wait. Defaults to RETRY_AFTER_CAP_MS. */
29
+ retryAfterCapMs?: number;
28
30
  sleep?: RetryOptions['sleep'];
29
31
  random?: RetryOptions['random'];
30
32
  };
@@ -64,7 +66,7 @@ export declare function classifyOutcome(result: {
64
66
  } | {
65
67
  kind: 'response';
66
68
  resp: Response;
67
- }, now: () => number): Outcome;
69
+ }, now: () => number, retryAfterCapMs?: number): Outcome;
68
70
  /** Final error thrown when retries are exhausted on a 5xx / 429. */
69
71
  export declare class ResilientFetchExhaustedError extends Error {
70
72
  readonly response: Response;
@@ -1 +1 @@
1
- {"version":3,"file":"resilient-fetch.d.ts","sourceRoot":"","sources":["../../src/integrations/resilient-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,kEAAkE;IAClE,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG;QAClF,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;KACjC,CAAC;IACF,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAQzC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,MAAM,GAAG,IAAI,CAejG;AAED,wEAAwE;AACxE,KAAK,OAAO,GACR;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhD,+BAA+B;AAC/B,wBAAgB,eAAe,CAC7B,MAAM,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,EAC9E,GAAG,EAAE,MAAM,MAAM,GAChB,OAAO,CAiCT;AAcD,oEAAoE;AACpE,qBAAa,4BAA6B,SAAQ,KAAK;aAEzB,QAAQ,EAAE,QAAQ;IAD9C,SAAkB,IAAI,kCAAkC;gBAC5B,QAAQ,EAAE,QAAQ;CAG/C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,QAAQ,CAAC,CA8GnB"}
1
+ {"version":3,"file":"resilient-fetch.d.ts","sourceRoot":"","sources":["../../src/integrations/resilient-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,kEAAkE;IAClE,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG;QAClF,gFAAgF;QAChF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;KACjC,CAAC;IACF,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAQzC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,MAAM,GAAG,IAAI,CAejG;AAED,wEAAwE;AACxE,KAAK,OAAO,GACR;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhD,+BAA+B;AAC/B,wBAAgB,eAAe,CAC7B,MAAM,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,EAC9E,GAAG,EAAE,MAAM,MAAM,EACjB,eAAe,SAAqB,GACnC,OAAO,CAiCT;AAcD,oEAAoE;AACpE,qBAAa,4BAA6B,SAAQ,KAAK;aAEzB,QAAQ,EAAE,QAAQ;IAD9C,SAAkB,IAAI,kCAAkC;gBAC5B,QAAQ,EAAE,QAAQ;CAG/C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,QAAQ,CAAC,CA+GnB"}
@@ -41,7 +41,7 @@ export function parseRetryAfter(value, now = Date.now) {
41
41
  return delta >= 0 ? delta : 0;
42
42
  }
43
43
  /** Exported for unit tests. */
44
- export function classifyOutcome(result, now) {
44
+ export function classifyOutcome(result, now, retryAfterCapMs = RETRY_AFTER_CAP_MS) {
45
45
  if (result.kind === 'error') {
46
46
  // Both timer-fired aborts (`AbortSignal.timeout()` → `TimeoutError`)
47
47
  // and caller-driven aborts (`AbortController.abort()` → `AbortError`)
@@ -67,7 +67,7 @@ export function classifyOutcome(result, now) {
67
67
  return {
68
68
  kind: 'retryable-status',
69
69
  resp,
70
- afterMs: parsed !== null ? Math.min(parsed, RETRY_AFTER_CAP_MS) : undefined,
70
+ afterMs: parsed !== null ? Math.min(parsed, retryAfterCapMs) : undefined,
71
71
  };
72
72
  }
73
73
  if (resp.status >= 500)
@@ -125,6 +125,7 @@ export async function resilientFetch(input, init, opts = {}) {
125
125
  maxAttempts: opts.retry?.maxAttempts ?? DEFAULT_RETRY.maxAttempts,
126
126
  baseDelayMs: opts.retry?.baseDelayMs ?? DEFAULT_RETRY.baseDelayMs,
127
127
  capDelayMs: opts.retry?.capDelayMs ?? DEFAULT_RETRY.capDelayMs,
128
+ retryAfterCapMs: opts.retry?.retryAfterCapMs ?? RETRY_AFTER_CAP_MS,
128
129
  };
129
130
  const sleep = opts.retry?.sleep ?? defaultSleep;
130
131
  const random = opts.retry?.random ?? Math.random;
@@ -149,7 +150,7 @@ export async function resilientFetch(input, init, opts = {}) {
149
150
  catch (err) {
150
151
  result = { kind: 'error', err };
151
152
  }
152
- const outcome = classifyOutcome(result, now);
153
+ const outcome = classifyOutcome(result, now, retryConfig.retryAfterCapMs);
153
154
  switch (outcome.kind) {
154
155
  case 'success':
155
156
  breaker.recordSuccess();
@@ -1 +1 @@
1
- {"version":3,"file":"resilient-fetch.js","sourceRoot":"","sources":["../../src/integrations/resilient-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resilient-fetch.js","sourceRoot":"","sources":["../../src/integrations/resilient-fetch.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  export declare const NODE_TABLES: readonly ["File", "Folder", "Function", "Class", "Interface", "Method", "CodeElement", "Community", "Process", "Section", "Struct", "Enum", "Macro", "Typedef", "Union", "Namespace", "Trait", "Impl", "TypeAlias", "Const", "Static", "Variable", "Property", "Record", "Delegate", "Annotation", "Constructor", "Template", "Module", "Route", "Tool", "BasicBlock"];
11
11
  export type NodeTableName = (typeof NODE_TABLES)[number];
12
12
  export declare const REL_TABLE_NAME = "CodeRelation";
13
- export declare const REL_TYPES: readonly ["CONTAINS", "DEFINES", "IMPORTS", "CALLS", "EXTENDS", "IMPLEMENTS", "HAS_METHOD", "HAS_PROPERTY", "ACCESSES", "METHOD_OVERRIDES", "OVERRIDES", "METHOD_IMPLEMENTS", "MEMBER_OF", "STEP_IN_PROCESS", "HANDLES_ROUTE", "FETCHES", "HANDLES_TOOL", "ENTRY_POINT_OF", "WRAPS", "QUERIES", "INJECTS", "CFG", "REACHING_DEF", "TAINTED", "SANITIZES", "TAINT_PATH", "CDG", "POST_DOMINATE"];
13
+ export declare const REL_TYPES: readonly ["CONTAINS", "DEFINES", "IMPORTS", "CALLS", "EXTENDS", "IMPLEMENTS", "HAS_METHOD", "HAS_PROPERTY", "ACCESSES", "METHOD_OVERRIDES", "OVERRIDES", "METHOD_IMPLEMENTS", "MEMBER_OF", "STEP_IN_PROCESS", "HANDLES_ROUTE", "FETCHES", "HANDLES_TOOL", "ENTRY_POINT_OF", "WRAPS", "QUERIES", "INJECTS", "CONDITIONAL_ON", "DECLARES", "CFG", "REACHING_DEF", "TAINTED", "SANITIZES", "TAINT_PATH", "CDG", "POST_DOMINATE"];
14
14
  export type RelType = (typeof REL_TYPES)[number];
15
15
  export declare const EMBEDDING_TABLE_NAME = "CodeEmbedding";
16
16
  //# sourceMappingURL=schema-constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-constants.d.ts","sourceRoot":"","sources":["../../src/lbug/schema-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,WAAW,wWAkCd,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,SAAS,iYAoCZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC"}
1
+ {"version":3,"file":"schema-constants.d.ts","sourceRoot":"","sources":["../../src/lbug/schema-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,WAAW,wWAkCd,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,SAAS,+ZAsCZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC"}
@@ -65,6 +65,8 @@ export const REL_TYPES = [
65
65
  'WRAPS',
66
66
  'QUERIES',
67
67
  'INJECTS',
68
+ 'CONDITIONAL_ON',
69
+ 'DECLARES',
68
70
  // Taint/PDG substrate (issue #2080) — reserved edge types, emitted by no
69
71
  // phase yet (CFG → M1, REACHING_DEF → M2, TAINTED/SANITIZES/TAINT_PATH →
70
72
  // M3/M4). REACHING_DEF's variable name rides the relation's `reason` column.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-constants.js","sourceRoot":"","sources":["../../src/lbug/schema-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,OAAO;IACP,WAAW;IACX,QAAQ;IACR,aAAa;IACb,WAAW;IACX,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;IACX,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,2EAA2E;IAC3E,YAAY;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,UAAU;IACV,kBAAkB;IAClB,WAAW,EAAE,mEAAmE;IAChF,mBAAmB;IACnB,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,SAAS;IACT,SAAS;IACT,yEAAyE;IACzE,yEAAyE;IACzE,6EAA6E;IAC7E,KAAK;IACL,cAAc;IACd,SAAS;IACT,WAAW;IACX,YAAY;IACZ,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,8EAA8E;IAC9E,KAAK;IACL,eAAe;CACP,CAAC;AAIX,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"schema-constants.js","sourceRoot":"","sources":["../../src/lbug/schema-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,OAAO;IACP,WAAW;IACX,QAAQ;IACR,aAAa;IACb,WAAW;IACX,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,SAAS;IACT,OAAO;IACP,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;IACX,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,2EAA2E;IAC3E,YAAY;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU;IACV,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,UAAU;IACV,kBAAkB;IAClB,WAAW,EAAE,mEAAmE;IAChF,mBAAmB;IACnB,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,UAAU;IACV,yEAAyE;IACzE,yEAAyE;IACzE,6EAA6E;IAC7E,KAAK;IACL,cAAc;IACd,SAAS;IACT,WAAW;IACX,YAAY;IACZ,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,8EAA8E;IAC9E,KAAK;IACL,eAAe;CACP,CAAC;AAIX,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC"}