@opencodehub/ingestion 0.1.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 (563) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +69 -0
  3. package/dist/extract/index.d.ts +8 -0
  4. package/dist/extract/index.d.ts.map +1 -0
  5. package/dist/extract/index.js +6 -0
  6. package/dist/extract/index.js.map +1 -0
  7. package/dist/extract/orm-detector.d.ts +19 -0
  8. package/dist/extract/orm-detector.d.ts.map +1 -0
  9. package/dist/extract/orm-detector.js +209 -0
  10. package/dist/extract/orm-detector.js.map +1 -0
  11. package/dist/extract/property-access.d.ts +76 -0
  12. package/dist/extract/property-access.d.ts.map +1 -0
  13. package/dist/extract/property-access.js +260 -0
  14. package/dist/extract/property-access.js.map +1 -0
  15. package/dist/extract/receiver-resolver.d.ts +86 -0
  16. package/dist/extract/receiver-resolver.d.ts.map +1 -0
  17. package/dist/extract/receiver-resolver.js +77 -0
  18. package/dist/extract/receiver-resolver.js.map +1 -0
  19. package/dist/extract/route-detector-java.d.ts +29 -0
  20. package/dist/extract/route-detector-java.d.ts.map +1 -0
  21. package/dist/extract/route-detector-java.js +190 -0
  22. package/dist/extract/route-detector-java.js.map +1 -0
  23. package/dist/extract/route-detector-nestjs.d.ts +30 -0
  24. package/dist/extract/route-detector-nestjs.d.ts.map +1 -0
  25. package/dist/extract/route-detector-nestjs.js +134 -0
  26. package/dist/extract/route-detector-nestjs.js.map +1 -0
  27. package/dist/extract/route-detector-python.d.ts +28 -0
  28. package/dist/extract/route-detector-python.d.ts.map +1 -0
  29. package/dist/extract/route-detector-python.js +100 -0
  30. package/dist/extract/route-detector-python.js.map +1 -0
  31. package/dist/extract/route-detector-rails.d.ts +28 -0
  32. package/dist/extract/route-detector-rails.d.ts.map +1 -0
  33. package/dist/extract/route-detector-rails.js +162 -0
  34. package/dist/extract/route-detector-rails.js.map +1 -0
  35. package/dist/extract/route-detector.d.ts +45 -0
  36. package/dist/extract/route-detector.d.ts.map +1 -0
  37. package/dist/extract/route-detector.js +467 -0
  38. package/dist/extract/route-detector.js.map +1 -0
  39. package/dist/extract/tool-detector.d.ts +26 -0
  40. package/dist/extract/tool-detector.d.ts.map +1 -0
  41. package/dist/extract/tool-detector.js +364 -0
  42. package/dist/extract/tool-detector.js.map +1 -0
  43. package/dist/extract/types.d.ts +89 -0
  44. package/dist/extract/types.d.ts.map +1 -0
  45. package/dist/extract/types.js +11 -0
  46. package/dist/extract/types.js.map +1 -0
  47. package/dist/index.d.ts +10 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +10 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/parse/cobol-regex.d.ts +85 -0
  52. package/dist/parse/cobol-regex.d.ts.map +1 -0
  53. package/dist/parse/cobol-regex.js +355 -0
  54. package/dist/parse/cobol-regex.js.map +1 -0
  55. package/dist/parse/grammar-registry.d.ts +115 -0
  56. package/dist/parse/grammar-registry.d.ts.map +1 -0
  57. package/dist/parse/grammar-registry.js +278 -0
  58. package/dist/parse/grammar-registry.js.map +1 -0
  59. package/dist/parse/index.d.ts +14 -0
  60. package/dist/parse/index.d.ts.map +1 -0
  61. package/dist/parse/index.js +10 -0
  62. package/dist/parse/index.js.map +1 -0
  63. package/dist/parse/language-detector.d.ts +17 -0
  64. package/dist/parse/language-detector.d.ts.map +1 -0
  65. package/dist/parse/language-detector.js +104 -0
  66. package/dist/parse/language-detector.js.map +1 -0
  67. package/dist/parse/parse-worker.d.ts +24 -0
  68. package/dist/parse/parse-worker.d.ts.map +1 -0
  69. package/dist/parse/parse-worker.js +230 -0
  70. package/dist/parse/parse-worker.js.map +1 -0
  71. package/dist/parse/types.d.ts +49 -0
  72. package/dist/parse/types.d.ts.map +1 -0
  73. package/dist/parse/types.js +11 -0
  74. package/dist/parse/types.js.map +1 -0
  75. package/dist/parse/unified-queries.d.ts +37 -0
  76. package/dist/parse/unified-queries.d.ts.map +1 -0
  77. package/dist/parse/unified-queries.js +623 -0
  78. package/dist/parse/unified-queries.js.map +1 -0
  79. package/dist/parse/wasm-fallback.d.ts +88 -0
  80. package/dist/parse/wasm-fallback.d.ts.map +1 -0
  81. package/dist/parse/wasm-fallback.js +258 -0
  82. package/dist/parse/wasm-fallback.js.map +1 -0
  83. package/dist/parse/worker-pool.d.ts +48 -0
  84. package/dist/parse/worker-pool.d.ts.map +1 -0
  85. package/dist/parse/worker-pool.js +97 -0
  86. package/dist/parse/worker-pool.js.map +1 -0
  87. package/dist/pipeline/dep-parsers/go.d.ts +25 -0
  88. package/dist/pipeline/dep-parsers/go.d.ts.map +1 -0
  89. package/dist/pipeline/dep-parsers/go.js +146 -0
  90. package/dist/pipeline/dep-parsers/go.js.map +1 -0
  91. package/dist/pipeline/dep-parsers/index.d.ts +17 -0
  92. package/dist/pipeline/dep-parsers/index.d.ts.map +1 -0
  93. package/dist/pipeline/dep-parsers/index.js +16 -0
  94. package/dist/pipeline/dep-parsers/index.js.map +1 -0
  95. package/dist/pipeline/dep-parsers/maven.d.ts +24 -0
  96. package/dist/pipeline/dep-parsers/maven.d.ts.map +1 -0
  97. package/dist/pipeline/dep-parsers/maven.js +131 -0
  98. package/dist/pipeline/dep-parsers/maven.js.map +1 -0
  99. package/dist/pipeline/dep-parsers/npm.d.ts +30 -0
  100. package/dist/pipeline/dep-parsers/npm.d.ts.map +1 -0
  101. package/dist/pipeline/dep-parsers/npm.js +309 -0
  102. package/dist/pipeline/dep-parsers/npm.js.map +1 -0
  103. package/dist/pipeline/dep-parsers/nuget.d.ts +24 -0
  104. package/dist/pipeline/dep-parsers/nuget.d.ts.map +1 -0
  105. package/dist/pipeline/dep-parsers/nuget.js +178 -0
  106. package/dist/pipeline/dep-parsers/nuget.js.map +1 -0
  107. package/dist/pipeline/dep-parsers/python.d.ts +21 -0
  108. package/dist/pipeline/dep-parsers/python.d.ts.map +1 -0
  109. package/dist/pipeline/dep-parsers/python.js +369 -0
  110. package/dist/pipeline/dep-parsers/python.js.map +1 -0
  111. package/dist/pipeline/dep-parsers/rust.d.ts +18 -0
  112. package/dist/pipeline/dep-parsers/rust.d.ts.map +1 -0
  113. package/dist/pipeline/dep-parsers/rust.js +134 -0
  114. package/dist/pipeline/dep-parsers/rust.js.map +1 -0
  115. package/dist/pipeline/dep-parsers/spdx-normalize.d.ts +15 -0
  116. package/dist/pipeline/dep-parsers/spdx-normalize.d.ts.map +1 -0
  117. package/dist/pipeline/dep-parsers/spdx-normalize.js +31 -0
  118. package/dist/pipeline/dep-parsers/spdx-normalize.js.map +1 -0
  119. package/dist/pipeline/dep-parsers/types.d.ts +63 -0
  120. package/dist/pipeline/dep-parsers/types.d.ts.map +1 -0
  121. package/dist/pipeline/dep-parsers/types.js +56 -0
  122. package/dist/pipeline/dep-parsers/types.js.map +1 -0
  123. package/dist/pipeline/gitignore-stack.d.ts +44 -0
  124. package/dist/pipeline/gitignore-stack.d.ts.map +1 -0
  125. package/dist/pipeline/gitignore-stack.js +69 -0
  126. package/dist/pipeline/gitignore-stack.js.map +1 -0
  127. package/dist/pipeline/gitignore.d.ts +67 -0
  128. package/dist/pipeline/gitignore.d.ts.map +1 -0
  129. package/dist/pipeline/gitignore.js +210 -0
  130. package/dist/pipeline/gitignore.js.map +1 -0
  131. package/dist/pipeline/index.d.ts +53 -0
  132. package/dist/pipeline/index.d.ts.map +1 -0
  133. package/dist/pipeline/index.js +29 -0
  134. package/dist/pipeline/index.js.map +1 -0
  135. package/dist/pipeline/orchestrator.d.ts +105 -0
  136. package/dist/pipeline/orchestrator.d.ts.map +1 -0
  137. package/dist/pipeline/orchestrator.js +175 -0
  138. package/dist/pipeline/orchestrator.js.map +1 -0
  139. package/dist/pipeline/ownership-helpers/drift.d.ts +41 -0
  140. package/dist/pipeline/ownership-helpers/drift.d.ts.map +1 -0
  141. package/dist/pipeline/ownership-helpers/drift.js +122 -0
  142. package/dist/pipeline/ownership-helpers/drift.js.map +1 -0
  143. package/dist/pipeline/ownership-helpers/gini-community.d.ts +24 -0
  144. package/dist/pipeline/ownership-helpers/gini-community.d.ts.map +1 -0
  145. package/dist/pipeline/ownership-helpers/gini-community.js +32 -0
  146. package/dist/pipeline/ownership-helpers/gini-community.js.map +1 -0
  147. package/dist/pipeline/ownership-helpers/git-blame-batcher.d.ts +71 -0
  148. package/dist/pipeline/ownership-helpers/git-blame-batcher.d.ts.map +1 -0
  149. package/dist/pipeline/ownership-helpers/git-blame-batcher.js +178 -0
  150. package/dist/pipeline/ownership-helpers/git-blame-batcher.js.map +1 -0
  151. package/dist/pipeline/ownership-helpers/line-overlap.d.ts +35 -0
  152. package/dist/pipeline/ownership-helpers/line-overlap.d.ts.map +1 -0
  153. package/dist/pipeline/ownership-helpers/line-overlap.js +62 -0
  154. package/dist/pipeline/ownership-helpers/line-overlap.js.map +1 -0
  155. package/dist/pipeline/ownership-helpers/orphan.d.ts +73 -0
  156. package/dist/pipeline/ownership-helpers/orphan.d.ts.map +1 -0
  157. package/dist/pipeline/ownership-helpers/orphan.js +117 -0
  158. package/dist/pipeline/ownership-helpers/orphan.js.map +1 -0
  159. package/dist/pipeline/phases/accesses.d.ts +44 -0
  160. package/dist/pipeline/phases/accesses.d.ts.map +1 -0
  161. package/dist/pipeline/phases/accesses.js +194 -0
  162. package/dist/pipeline/phases/accesses.js.map +1 -0
  163. package/dist/pipeline/phases/annotate.d.ts +28 -0
  164. package/dist/pipeline/phases/annotate.d.ts.map +1 -0
  165. package/dist/pipeline/phases/annotate.js +60 -0
  166. package/dist/pipeline/phases/annotate.js.map +1 -0
  167. package/dist/pipeline/phases/cochange.d.ts +42 -0
  168. package/dist/pipeline/phases/cochange.d.ts.map +1 -0
  169. package/dist/pipeline/phases/cochange.js +0 -0
  170. package/dist/pipeline/phases/cochange.js.map +1 -0
  171. package/dist/pipeline/phases/communities.d.ts +34 -0
  172. package/dist/pipeline/phases/communities.d.ts.map +1 -0
  173. package/dist/pipeline/phases/communities.js +412 -0
  174. package/dist/pipeline/phases/communities.js.map +1 -0
  175. package/dist/pipeline/phases/complexity.d.ts +50 -0
  176. package/dist/pipeline/phases/complexity.d.ts.map +1 -0
  177. package/dist/pipeline/phases/complexity.js +794 -0
  178. package/dist/pipeline/phases/complexity.js.map +1 -0
  179. package/dist/pipeline/phases/confidence-demote.d.ts +23 -0
  180. package/dist/pipeline/phases/confidence-demote.d.ts.map +1 -0
  181. package/dist/pipeline/phases/confidence-demote.js +113 -0
  182. package/dist/pipeline/phases/confidence-demote.js.map +1 -0
  183. package/dist/pipeline/phases/content-cache.d.ts +166 -0
  184. package/dist/pipeline/phases/content-cache.d.ts.map +1 -0
  185. package/dist/pipeline/phases/content-cache.js +323 -0
  186. package/dist/pipeline/phases/content-cache.js.map +1 -0
  187. package/dist/pipeline/phases/coverage-parsers/cobertura.d.ts +25 -0
  188. package/dist/pipeline/phases/coverage-parsers/cobertura.d.ts.map +1 -0
  189. package/dist/pipeline/phases/coverage-parsers/cobertura.js +139 -0
  190. package/dist/pipeline/phases/coverage-parsers/cobertura.js.map +1 -0
  191. package/dist/pipeline/phases/coverage-parsers/coverage-py.d.ts +25 -0
  192. package/dist/pipeline/phases/coverage-parsers/coverage-py.d.ts.map +1 -0
  193. package/dist/pipeline/phases/coverage-parsers/coverage-py.js +51 -0
  194. package/dist/pipeline/phases/coverage-parsers/coverage-py.js.map +1 -0
  195. package/dist/pipeline/phases/coverage-parsers/jacoco.d.ts +32 -0
  196. package/dist/pipeline/phases/coverage-parsers/jacoco.d.ts.map +1 -0
  197. package/dist/pipeline/phases/coverage-parsers/jacoco.js +98 -0
  198. package/dist/pipeline/phases/coverage-parsers/jacoco.js.map +1 -0
  199. package/dist/pipeline/phases/coverage-parsers/lcov.d.ts +21 -0
  200. package/dist/pipeline/phases/coverage-parsers/lcov.d.ts.map +1 -0
  201. package/dist/pipeline/phases/coverage-parsers/lcov.js +104 -0
  202. package/dist/pipeline/phases/coverage-parsers/lcov.js.map +1 -0
  203. package/dist/pipeline/phases/coverage-parsers/types.d.ts +27 -0
  204. package/dist/pipeline/phases/coverage-parsers/types.d.ts.map +1 -0
  205. package/dist/pipeline/phases/coverage-parsers/types.js +39 -0
  206. package/dist/pipeline/phases/coverage-parsers/types.js.map +1 -0
  207. package/dist/pipeline/phases/coverage.d.ts +39 -0
  208. package/dist/pipeline/phases/coverage.d.ts.map +1 -0
  209. package/dist/pipeline/phases/coverage.js +154 -0
  210. package/dist/pipeline/phases/coverage.js.map +1 -0
  211. package/dist/pipeline/phases/cross-file.d.ts +40 -0
  212. package/dist/pipeline/phases/cross-file.d.ts.map +1 -0
  213. package/dist/pipeline/phases/cross-file.js +411 -0
  214. package/dist/pipeline/phases/cross-file.js.map +1 -0
  215. package/dist/pipeline/phases/dead-code.d.ts +28 -0
  216. package/dist/pipeline/phases/dead-code.d.ts.map +1 -0
  217. package/dist/pipeline/phases/dead-code.js +157 -0
  218. package/dist/pipeline/phases/dead-code.js.map +1 -0
  219. package/dist/pipeline/phases/default-set.d.ts +24 -0
  220. package/dist/pipeline/phases/default-set.d.ts.map +1 -0
  221. package/dist/pipeline/phases/default-set.js +133 -0
  222. package/dist/pipeline/phases/default-set.js.map +1 -0
  223. package/dist/pipeline/phases/dependencies.d.ts +59 -0
  224. package/dist/pipeline/phases/dependencies.d.ts.map +1 -0
  225. package/dist/pipeline/phases/dependencies.js +281 -0
  226. package/dist/pipeline/phases/dependencies.js.map +1 -0
  227. package/dist/pipeline/phases/embedder-pool.d.ts +31 -0
  228. package/dist/pipeline/phases/embedder-pool.d.ts.map +1 -0
  229. package/dist/pipeline/phases/embedder-pool.js +79 -0
  230. package/dist/pipeline/phases/embedder-pool.js.map +1 -0
  231. package/dist/pipeline/phases/embedder-worker.d.ts +28 -0
  232. package/dist/pipeline/phases/embedder-worker.d.ts.map +1 -0
  233. package/dist/pipeline/phases/embedder-worker.js +43 -0
  234. package/dist/pipeline/phases/embedder-worker.js.map +1 -0
  235. package/dist/pipeline/phases/embeddings.d.ts +117 -0
  236. package/dist/pipeline/phases/embeddings.d.ts.map +1 -0
  237. package/dist/pipeline/phases/embeddings.js +697 -0
  238. package/dist/pipeline/phases/embeddings.js.map +1 -0
  239. package/dist/pipeline/phases/fetches.d.ts +47 -0
  240. package/dist/pipeline/phases/fetches.d.ts.map +1 -0
  241. package/dist/pipeline/phases/fetches.js +207 -0
  242. package/dist/pipeline/phases/fetches.js.map +1 -0
  243. package/dist/pipeline/phases/incremental-helper.d.ts +96 -0
  244. package/dist/pipeline/phases/incremental-helper.d.ts.map +1 -0
  245. package/dist/pipeline/phases/incremental-helper.js +125 -0
  246. package/dist/pipeline/phases/incremental-helper.js.map +1 -0
  247. package/dist/pipeline/phases/incremental-scope.d.ts +67 -0
  248. package/dist/pipeline/phases/incremental-scope.d.ts.map +1 -0
  249. package/dist/pipeline/phases/incremental-scope.js +225 -0
  250. package/dist/pipeline/phases/incremental-scope.js.map +1 -0
  251. package/dist/pipeline/phases/markdown.d.ts +29 -0
  252. package/dist/pipeline/phases/markdown.d.ts.map +1 -0
  253. package/dist/pipeline/phases/markdown.js +298 -0
  254. package/dist/pipeline/phases/markdown.js.map +1 -0
  255. package/dist/pipeline/phases/mro.d.ts +24 -0
  256. package/dist/pipeline/phases/mro.d.ts.map +1 -0
  257. package/dist/pipeline/phases/mro.js +303 -0
  258. package/dist/pipeline/phases/mro.js.map +1 -0
  259. package/dist/pipeline/phases/openapi.d.ts +52 -0
  260. package/dist/pipeline/phases/openapi.d.ts.map +1 -0
  261. package/dist/pipeline/phases/openapi.js +285 -0
  262. package/dist/pipeline/phases/openapi.js.map +1 -0
  263. package/dist/pipeline/phases/orm.d.ts +26 -0
  264. package/dist/pipeline/phases/orm.d.ts.map +1 -0
  265. package/dist/pipeline/phases/orm.js +183 -0
  266. package/dist/pipeline/phases/orm.js.map +1 -0
  267. package/dist/pipeline/phases/ownership.d.ts +88 -0
  268. package/dist/pipeline/phases/ownership.d.ts.map +1 -0
  269. package/dist/pipeline/phases/ownership.js +479 -0
  270. package/dist/pipeline/phases/ownership.js.map +1 -0
  271. package/dist/pipeline/phases/parse.d.ts +63 -0
  272. package/dist/pipeline/phases/parse.d.ts.map +1 -0
  273. package/dist/pipeline/phases/parse.js +994 -0
  274. package/dist/pipeline/phases/parse.js.map +1 -0
  275. package/dist/pipeline/phases/processes.d.ts +47 -0
  276. package/dist/pipeline/phases/processes.d.ts.map +1 -0
  277. package/dist/pipeline/phases/processes.js +620 -0
  278. package/dist/pipeline/phases/processes.js.map +1 -0
  279. package/dist/pipeline/phases/profile.d.ts +33 -0
  280. package/dist/pipeline/phases/profile.d.ts.map +1 -0
  281. package/dist/pipeline/phases/profile.js +91 -0
  282. package/dist/pipeline/phases/profile.js.map +1 -0
  283. package/dist/pipeline/phases/repo-node.d.ts +112 -0
  284. package/dist/pipeline/phases/repo-node.d.ts.map +1 -0
  285. package/dist/pipeline/phases/repo-node.js +272 -0
  286. package/dist/pipeline/phases/repo-node.js.map +1 -0
  287. package/dist/pipeline/phases/risk-snapshot.d.ts +34 -0
  288. package/dist/pipeline/phases/risk-snapshot.d.ts.map +1 -0
  289. package/dist/pipeline/phases/risk-snapshot.js +63 -0
  290. package/dist/pipeline/phases/risk-snapshot.js.map +1 -0
  291. package/dist/pipeline/phases/routes.d.ts +31 -0
  292. package/dist/pipeline/phases/routes.d.ts.map +1 -0
  293. package/dist/pipeline/phases/routes.js +262 -0
  294. package/dist/pipeline/phases/routes.js.map +1 -0
  295. package/dist/pipeline/phases/sbom.d.ts +45 -0
  296. package/dist/pipeline/phases/sbom.d.ts.map +1 -0
  297. package/dist/pipeline/phases/sbom.js +289 -0
  298. package/dist/pipeline/phases/sbom.js.map +1 -0
  299. package/dist/pipeline/phases/scan.d.ts +54 -0
  300. package/dist/pipeline/phases/scan.d.ts.map +1 -0
  301. package/dist/pipeline/phases/scan.js +340 -0
  302. package/dist/pipeline/phases/scan.js.map +1 -0
  303. package/dist/pipeline/phases/scip-index.d.ts +54 -0
  304. package/dist/pipeline/phases/scip-index.d.ts.map +1 -0
  305. package/dist/pipeline/phases/scip-index.js +469 -0
  306. package/dist/pipeline/phases/scip-index.js.map +1 -0
  307. package/dist/pipeline/phases/structure.d.ts +21 -0
  308. package/dist/pipeline/phases/structure.d.ts.map +1 -0
  309. package/dist/pipeline/phases/structure.js +115 -0
  310. package/dist/pipeline/phases/structure.js.map +1 -0
  311. package/dist/pipeline/phases/summarize.d.ts +126 -0
  312. package/dist/pipeline/phases/summarize.d.ts.map +1 -0
  313. package/dist/pipeline/phases/summarize.js +401 -0
  314. package/dist/pipeline/phases/summarize.js.map +1 -0
  315. package/dist/pipeline/phases/temporal-helpers/branch-divergence.d.ts +42 -0
  316. package/dist/pipeline/phases/temporal-helpers/branch-divergence.d.ts.map +1 -0
  317. package/dist/pipeline/phases/temporal-helpers/branch-divergence.js +96 -0
  318. package/dist/pipeline/phases/temporal-helpers/branch-divergence.js.map +1 -0
  319. package/dist/pipeline/phases/temporal-helpers/churn-decay.d.ts +22 -0
  320. package/dist/pipeline/phases/temporal-helpers/churn-decay.d.ts.map +1 -0
  321. package/dist/pipeline/phases/temporal-helpers/churn-decay.js +32 -0
  322. package/dist/pipeline/phases/temporal-helpers/churn-decay.js.map +1 -0
  323. package/dist/pipeline/phases/temporal-helpers/conventional-commits.d.ts +21 -0
  324. package/dist/pipeline/phases/temporal-helpers/conventional-commits.d.ts.map +1 -0
  325. package/dist/pipeline/phases/temporal-helpers/conventional-commits.js +37 -0
  326. package/dist/pipeline/phases/temporal-helpers/conventional-commits.js.map +1 -0
  327. package/dist/pipeline/phases/temporal-helpers/gini.d.ts +32 -0
  328. package/dist/pipeline/phases/temporal-helpers/gini.d.ts.map +1 -0
  329. package/dist/pipeline/phases/temporal-helpers/gini.js +78 -0
  330. package/dist/pipeline/phases/temporal-helpers/gini.js.map +1 -0
  331. package/dist/pipeline/phases/temporal-helpers/revert-detect.d.ts +14 -0
  332. package/dist/pipeline/phases/temporal-helpers/revert-detect.d.ts.map +1 -0
  333. package/dist/pipeline/phases/temporal-helpers/revert-detect.js +25 -0
  334. package/dist/pipeline/phases/temporal-helpers/revert-detect.js.map +1 -0
  335. package/dist/pipeline/phases/temporal-helpers/test-pair.d.ts +18 -0
  336. package/dist/pipeline/phases/temporal-helpers/test-pair.d.ts.map +1 -0
  337. package/dist/pipeline/phases/temporal-helpers/test-pair.js +119 -0
  338. package/dist/pipeline/phases/temporal-helpers/test-pair.js.map +1 -0
  339. package/dist/pipeline/phases/temporal.d.ts +65 -0
  340. package/dist/pipeline/phases/temporal.d.ts.map +1 -0
  341. package/dist/pipeline/phases/temporal.js +621 -0
  342. package/dist/pipeline/phases/temporal.js.map +1 -0
  343. package/dist/pipeline/phases/tools.d.ts +21 -0
  344. package/dist/pipeline/phases/tools.d.ts.map +1 -0
  345. package/dist/pipeline/phases/tools.js +118 -0
  346. package/dist/pipeline/phases/tools.js.map +1 -0
  347. package/dist/pipeline/profile-detectors/api-contracts.d.ts +18 -0
  348. package/dist/pipeline/profile-detectors/api-contracts.d.ts.map +1 -0
  349. package/dist/pipeline/profile-detectors/api-contracts.js +78 -0
  350. package/dist/pipeline/profile-detectors/api-contracts.js.map +1 -0
  351. package/dist/pipeline/profile-detectors/framework-detector.d.ts +11 -0
  352. package/dist/pipeline/profile-detectors/framework-detector.d.ts.map +1 -0
  353. package/dist/pipeline/profile-detectors/framework-detector.js +11 -0
  354. package/dist/pipeline/profile-detectors/framework-detector.js.map +1 -0
  355. package/dist/pipeline/profile-detectors/frameworks-catalog.d.ts +7 -0
  356. package/dist/pipeline/profile-detectors/frameworks-catalog.d.ts.map +1 -0
  357. package/dist/pipeline/profile-detectors/frameworks-catalog.js +7 -0
  358. package/dist/pipeline/profile-detectors/frameworks-catalog.js.map +1 -0
  359. package/dist/pipeline/profile-detectors/frameworks.d.ts +7 -0
  360. package/dist/pipeline/profile-detectors/frameworks.d.ts.map +1 -0
  361. package/dist/pipeline/profile-detectors/frameworks.js +7 -0
  362. package/dist/pipeline/profile-detectors/frameworks.js.map +1 -0
  363. package/dist/pipeline/profile-detectors/iac.d.ts +22 -0
  364. package/dist/pipeline/profile-detectors/iac.d.ts.map +1 -0
  365. package/dist/pipeline/profile-detectors/iac.js +97 -0
  366. package/dist/pipeline/profile-detectors/iac.js.map +1 -0
  367. package/dist/pipeline/profile-detectors/languages.d.ts +18 -0
  368. package/dist/pipeline/profile-detectors/languages.d.ts.map +1 -0
  369. package/dist/pipeline/profile-detectors/languages.js +60 -0
  370. package/dist/pipeline/profile-detectors/languages.js.map +1 -0
  371. package/dist/pipeline/profile-detectors/manifests.d.ts +7 -0
  372. package/dist/pipeline/profile-detectors/manifests.d.ts.map +1 -0
  373. package/dist/pipeline/profile-detectors/manifests.js +7 -0
  374. package/dist/pipeline/profile-detectors/manifests.js.map +1 -0
  375. package/dist/pipeline/profile-detectors/src-dirs.d.ts +17 -0
  376. package/dist/pipeline/profile-detectors/src-dirs.d.ts.map +1 -0
  377. package/dist/pipeline/profile-detectors/src-dirs.js +89 -0
  378. package/dist/pipeline/profile-detectors/src-dirs.js.map +1 -0
  379. package/dist/pipeline/profile-detectors/variant-detectors.d.ts +7 -0
  380. package/dist/pipeline/profile-detectors/variant-detectors.d.ts.map +1 -0
  381. package/dist/pipeline/profile-detectors/variant-detectors.js +7 -0
  382. package/dist/pipeline/profile-detectors/variant-detectors.js.map +1 -0
  383. package/dist/pipeline/runner.d.ts +54 -0
  384. package/dist/pipeline/runner.d.ts.map +1 -0
  385. package/dist/pipeline/runner.js +247 -0
  386. package/dist/pipeline/runner.js.map +1 -0
  387. package/dist/pipeline/types.d.ts +235 -0
  388. package/dist/pipeline/types.d.ts.map +1 -0
  389. package/dist/pipeline/types.js +15 -0
  390. package/dist/pipeline/types.js.map +1 -0
  391. package/dist/providers/c.d.ts +3 -0
  392. package/dist/providers/c.d.ts.map +1 -0
  393. package/dist/providers/c.js +162 -0
  394. package/dist/providers/c.js.map +1 -0
  395. package/dist/providers/cobol.d.ts +19 -0
  396. package/dist/providers/cobol.d.ts.map +1 -0
  397. package/dist/providers/cobol.js +44 -0
  398. package/dist/providers/cobol.js.map +1 -0
  399. package/dist/providers/cpp.d.ts +3 -0
  400. package/dist/providers/cpp.d.ts.map +1 -0
  401. package/dist/providers/cpp.js +200 -0
  402. package/dist/providers/cpp.js.map +1 -0
  403. package/dist/providers/csharp.d.ts +3 -0
  404. package/dist/providers/csharp.d.ts.map +1 -0
  405. package/dist/providers/csharp.js +292 -0
  406. package/dist/providers/csharp.js.map +1 -0
  407. package/dist/providers/dart.d.ts +3 -0
  408. package/dist/providers/dart.d.ts.map +1 -0
  409. package/dist/providers/dart.js +214 -0
  410. package/dist/providers/dart.js.map +1 -0
  411. package/dist/providers/definition-ids.d.ts +18 -0
  412. package/dist/providers/definition-ids.d.ts.map +1 -0
  413. package/dist/providers/definition-ids.js +23 -0
  414. package/dist/providers/definition-ids.js.map +1 -0
  415. package/dist/providers/extract-helpers.d.ts +60 -0
  416. package/dist/providers/extract-helpers.d.ts.map +1 -0
  417. package/dist/providers/extract-helpers.js +296 -0
  418. package/dist/providers/extract-helpers.js.map +1 -0
  419. package/dist/providers/extraction-types.d.ts +85 -0
  420. package/dist/providers/extraction-types.d.ts.map +1 -0
  421. package/dist/providers/extraction-types.js +13 -0
  422. package/dist/providers/extraction-types.js.map +1 -0
  423. package/dist/providers/go.d.ts +3 -0
  424. package/dist/providers/go.d.ts.map +1 -0
  425. package/dist/providers/go.js +359 -0
  426. package/dist/providers/go.js.map +1 -0
  427. package/dist/providers/http-detect.d.ts +44 -0
  428. package/dist/providers/http-detect.d.ts.map +1 -0
  429. package/dist/providers/http-detect.js +307 -0
  430. package/dist/providers/http-detect.js.map +1 -0
  431. package/dist/providers/index.d.ts +38 -0
  432. package/dist/providers/index.d.ts.map +1 -0
  433. package/dist/providers/index.js +33 -0
  434. package/dist/providers/index.js.map +1 -0
  435. package/dist/providers/java.d.ts +3 -0
  436. package/dist/providers/java.d.ts.map +1 -0
  437. package/dist/providers/java.js +259 -0
  438. package/dist/providers/java.js.map +1 -0
  439. package/dist/providers/javascript.d.ts +3 -0
  440. package/dist/providers/javascript.d.ts.map +1 -0
  441. package/dist/providers/javascript.js +139 -0
  442. package/dist/providers/javascript.js.map +1 -0
  443. package/dist/providers/kotlin.d.ts +3 -0
  444. package/dist/providers/kotlin.d.ts.map +1 -0
  445. package/dist/providers/kotlin.js +175 -0
  446. package/dist/providers/kotlin.js.map +1 -0
  447. package/dist/providers/php.d.ts +3 -0
  448. package/dist/providers/php.d.ts.map +1 -0
  449. package/dist/providers/php.js +218 -0
  450. package/dist/providers/php.js.map +1 -0
  451. package/dist/providers/python-accesses.d.ts +9 -0
  452. package/dist/providers/python-accesses.d.ts.map +1 -0
  453. package/dist/providers/python-accesses.js +22 -0
  454. package/dist/providers/python-accesses.js.map +1 -0
  455. package/dist/providers/python.d.ts +3 -0
  456. package/dist/providers/python.d.ts.map +1 -0
  457. package/dist/providers/python.js +323 -0
  458. package/dist/providers/python.js.map +1 -0
  459. package/dist/providers/registry.d.ts +4 -0
  460. package/dist/providers/registry.d.ts.map +1 -0
  461. package/dist/providers/registry.js +46 -0
  462. package/dist/providers/registry.js.map +1 -0
  463. package/dist/providers/resolution/c3.d.ts +6 -0
  464. package/dist/providers/resolution/c3.d.ts.map +1 -0
  465. package/dist/providers/resolution/c3.js +76 -0
  466. package/dist/providers/resolution/c3.js.map +1 -0
  467. package/dist/providers/resolution/context.d.ts +38 -0
  468. package/dist/providers/resolution/context.d.ts.map +1 -0
  469. package/dist/providers/resolution/context.js +45 -0
  470. package/dist/providers/resolution/context.js.map +1 -0
  471. package/dist/providers/resolution/first-wins.d.ts +3 -0
  472. package/dist/providers/resolution/first-wins.d.ts.map +1 -0
  473. package/dist/providers/resolution/first-wins.js +27 -0
  474. package/dist/providers/resolution/first-wins.js.map +1 -0
  475. package/dist/providers/resolution/mro.d.ts +16 -0
  476. package/dist/providers/resolution/mro.d.ts.map +1 -0
  477. package/dist/providers/resolution/mro.js +14 -0
  478. package/dist/providers/resolution/mro.js.map +1 -0
  479. package/dist/providers/resolution/none.d.ts +3 -0
  480. package/dist/providers/resolution/none.d.ts.map +1 -0
  481. package/dist/providers/resolution/none.js +11 -0
  482. package/dist/providers/resolution/none.js.map +1 -0
  483. package/dist/providers/resolution/python-all-filter.d.ts +25 -0
  484. package/dist/providers/resolution/python-all-filter.d.ts.map +1 -0
  485. package/dist/providers/resolution/python-all-filter.js +64 -0
  486. package/dist/providers/resolution/python-all-filter.js.map +1 -0
  487. package/dist/providers/resolution/resolver-strategy.d.ts +42 -0
  488. package/dist/providers/resolution/resolver-strategy.d.ts.map +1 -0
  489. package/dist/providers/resolution/resolver-strategy.js +50 -0
  490. package/dist/providers/resolution/resolver-strategy.js.map +1 -0
  491. package/dist/providers/resolution/single-inheritance.d.ts +3 -0
  492. package/dist/providers/resolution/single-inheritance.d.ts.map +1 -0
  493. package/dist/providers/resolution/single-inheritance.js +21 -0
  494. package/dist/providers/resolution/single-inheritance.js.map +1 -0
  495. package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.d.ts +16 -0
  496. package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.d.ts.map +1 -0
  497. package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.js +50 -0
  498. package/dist/providers/resolution/stack-graphs/__fixtures__/mock-tree.js.map +1 -0
  499. package/dist/providers/resolution/stack-graphs/glue.d.ts +15 -0
  500. package/dist/providers/resolution/stack-graphs/glue.d.ts.map +1 -0
  501. package/dist/providers/resolution/stack-graphs/glue.js +44 -0
  502. package/dist/providers/resolution/stack-graphs/glue.js.map +1 -0
  503. package/dist/providers/resolution/stack-graphs/node-edge-builder.d.ts +30 -0
  504. package/dist/providers/resolution/stack-graphs/node-edge-builder.d.ts.map +1 -0
  505. package/dist/providers/resolution/stack-graphs/node-edge-builder.js +366 -0
  506. package/dist/providers/resolution/stack-graphs/node-edge-builder.js.map +1 -0
  507. package/dist/providers/resolution/stack-graphs/partial-path-engine.d.ts +9 -0
  508. package/dist/providers/resolution/stack-graphs/partial-path-engine.d.ts.map +1 -0
  509. package/dist/providers/resolution/stack-graphs/partial-path-engine.js +152 -0
  510. package/dist/providers/resolution/stack-graphs/partial-path-engine.js.map +1 -0
  511. package/dist/providers/resolution/stack-graphs/rule-parser.d.ts +11 -0
  512. package/dist/providers/resolution/stack-graphs/rule-parser.d.ts.map +1 -0
  513. package/dist/providers/resolution/stack-graphs/rule-parser.js +247 -0
  514. package/dist/providers/resolution/stack-graphs/rule-parser.js.map +1 -0
  515. package/dist/providers/resolution/stack-graphs/types.d.ts +93 -0
  516. package/dist/providers/resolution/stack-graphs/types.d.ts.map +1 -0
  517. package/dist/providers/resolution/stack-graphs/types.js +11 -0
  518. package/dist/providers/resolution/stack-graphs/types.js.map +1 -0
  519. package/dist/providers/resolution/stack-graphs-python.d.ts +27 -0
  520. package/dist/providers/resolution/stack-graphs-python.d.ts.map +1 -0
  521. package/dist/providers/resolution/stack-graphs-python.js +104 -0
  522. package/dist/providers/resolution/stack-graphs-python.js.map +1 -0
  523. package/dist/providers/resolution/stack-graphs-ts.d.ts +134 -0
  524. package/dist/providers/resolution/stack-graphs-ts.d.ts.map +1 -0
  525. package/dist/providers/resolution/stack-graphs-ts.js +372 -0
  526. package/dist/providers/resolution/stack-graphs-ts.js.map +1 -0
  527. package/dist/providers/ruby.d.ts +3 -0
  528. package/dist/providers/ruby.d.ts.map +1 -0
  529. package/dist/providers/ruby.js +259 -0
  530. package/dist/providers/ruby.js.map +1 -0
  531. package/dist/providers/rust.d.ts +3 -0
  532. package/dist/providers/rust.d.ts.map +1 -0
  533. package/dist/providers/rust.js +318 -0
  534. package/dist/providers/rust.js.map +1 -0
  535. package/dist/providers/swift.d.ts +3 -0
  536. package/dist/providers/swift.d.ts.map +1 -0
  537. package/dist/providers/swift.js +177 -0
  538. package/dist/providers/swift.js.map +1 -0
  539. package/dist/providers/test-helpers.d.ts +24 -0
  540. package/dist/providers/test-helpers.d.ts.map +1 -0
  541. package/dist/providers/test-helpers.js +33 -0
  542. package/dist/providers/test-helpers.js.map +1 -0
  543. package/dist/providers/ts-shared.d.ts +30 -0
  544. package/dist/providers/ts-shared.d.ts.map +1 -0
  545. package/dist/providers/ts-shared.js +328 -0
  546. package/dist/providers/ts-shared.js.map +1 -0
  547. package/dist/providers/tsx.d.ts +7 -0
  548. package/dist/providers/tsx.d.ts.map +1 -0
  549. package/dist/providers/tsx.js +79 -0
  550. package/dist/providers/tsx.js.map +1 -0
  551. package/dist/providers/types.d.ts +166 -0
  552. package/dist/providers/types.d.ts.map +1 -0
  553. package/dist/providers/types.js +7 -0
  554. package/dist/providers/types.js.map +1 -0
  555. package/dist/providers/typescript-family-accesses.d.ts +14 -0
  556. package/dist/providers/typescript-family-accesses.d.ts.map +1 -0
  557. package/dist/providers/typescript-family-accesses.js +27 -0
  558. package/dist/providers/typescript-family-accesses.js.map +1 -0
  559. package/dist/providers/typescript.d.ts +9 -0
  560. package/dist/providers/typescript.d.ts.map +1 -0
  561. package/dist/providers/typescript.js +84 -0
  562. package/dist/providers/typescript.js.map +1 -0
  563. package/package.json +108 -0
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Shared types for the per-ecosystem manifest / lockfile parsers that the
3
+ * `dependencies` pipeline phase invokes.
4
+ *
5
+ * Each parser is a pure async function: given a repository-relative
6
+ * manifest or lockfile path and the absolute filesystem path, it returns
7
+ * a de-duplicated list of parsed dependencies. Parsers never throw on
8
+ * malformed input — they log via `onWarn` and return `[]` instead.
9
+ *
10
+ * License detection: each parser populates `ParsedDependency.license`
11
+ * directly from the manifest field when one is present (SPDX identifier
12
+ * or a free-form string — the `dependencies` phase normalises through
13
+ * `spdx-correct` before storage). The value is `undefined` when the
14
+ * manifest does not carry license metadata; the phase converts that to
15
+ * the canonical `"UNKNOWN"` sentinel on the DependencyNode.
16
+ */
17
+ import type { DependencyNode } from "@opencodehub/core-types";
18
+ export type Ecosystem = DependencyNode["ecosystem"];
19
+ /**
20
+ * Minimal parsed dependency record. The `dependencies` phase promotes
21
+ * these into full `DependencyNode` entries once all parsers have run.
22
+ */
23
+ export interface ParsedDependency {
24
+ readonly ecosystem: Ecosystem;
25
+ readonly name: string;
26
+ readonly version: string;
27
+ /** Repo-relative POSIX path to the manifest / lockfile. */
28
+ readonly lockfileSource: string;
29
+ /**
30
+ * License declaration as it appears in the manifest (SPDX id or a
31
+ * free-form expression). `undefined` when the manifest entry did not
32
+ * carry a license; the `dependencies` phase maps that to the
33
+ * `"UNKNOWN"` sentinel on the DependencyNode.
34
+ */
35
+ readonly license?: string;
36
+ }
37
+ /** Warning sink threaded through every parser for best-effort logging. */
38
+ export type WarnFn = (message: string) => void;
39
+ /** Input shape accepted by every parser. */
40
+ export interface ParseDepsInput {
41
+ /** Absolute filesystem path to the manifest / lockfile. */
42
+ readonly absPath: string;
43
+ /** Repo-relative POSIX path (what goes into `lockfileSource`). */
44
+ readonly relPath: string;
45
+ /** Absolute repo root (needed by parsers that must locate sibling files). */
46
+ readonly repoRoot: string;
47
+ /** Warning hook. Errors must not propagate out of the parser. */
48
+ readonly onWarn: WarnFn;
49
+ }
50
+ export type ParseDepsFn = (input: ParseDepsInput) => Promise<readonly ParsedDependency[]>;
51
+ /** Canonical comparison for stable `ParsedDependency[]` ordering. */
52
+ export declare function compareParsedDependency(a: ParsedDependency, b: ParsedDependency): number;
53
+ /**
54
+ * De-duplicate a list of `ParsedDependency` on
55
+ * `(ecosystem, name, version, lockfileSource)`. When two records collide,
56
+ * we keep the first occurrence but prefer a defined `license` over an
57
+ * undefined one — a lockfile with no license + a sibling manifest that
58
+ * carries one should surface as "has license" after dedup. Callers rely
59
+ * on the returned array being sorted canonically so graph output is
60
+ * byte-stable.
61
+ */
62
+ export declare function dedupAndSort(deps: readonly ParsedDependency[]): readonly ParsedDependency[];
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pipeline/dep-parsers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,0EAA0E;AAC1E,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;AAE1F,qEAAqE;AACrE,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAMxF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,gBAAgB,EAAE,CAiB3F"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Shared types for the per-ecosystem manifest / lockfile parsers that the
3
+ * `dependencies` pipeline phase invokes.
4
+ *
5
+ * Each parser is a pure async function: given a repository-relative
6
+ * manifest or lockfile path and the absolute filesystem path, it returns
7
+ * a de-duplicated list of parsed dependencies. Parsers never throw on
8
+ * malformed input — they log via `onWarn` and return `[]` instead.
9
+ *
10
+ * License detection: each parser populates `ParsedDependency.license`
11
+ * directly from the manifest field when one is present (SPDX identifier
12
+ * or a free-form string — the `dependencies` phase normalises through
13
+ * `spdx-correct` before storage). The value is `undefined` when the
14
+ * manifest does not carry license metadata; the phase converts that to
15
+ * the canonical `"UNKNOWN"` sentinel on the DependencyNode.
16
+ */
17
+ /** Canonical comparison for stable `ParsedDependency[]` ordering. */
18
+ export function compareParsedDependency(a, b) {
19
+ if (a.ecosystem !== b.ecosystem)
20
+ return a.ecosystem < b.ecosystem ? -1 : 1;
21
+ if (a.name !== b.name)
22
+ return a.name < b.name ? -1 : 1;
23
+ if (a.version !== b.version)
24
+ return a.version < b.version ? -1 : 1;
25
+ if (a.lockfileSource !== b.lockfileSource)
26
+ return a.lockfileSource < b.lockfileSource ? -1 : 1;
27
+ return 0;
28
+ }
29
+ /**
30
+ * De-duplicate a list of `ParsedDependency` on
31
+ * `(ecosystem, name, version, lockfileSource)`. When two records collide,
32
+ * we keep the first occurrence but prefer a defined `license` over an
33
+ * undefined one — a lockfile with no license + a sibling manifest that
34
+ * carries one should surface as "has license" after dedup. Callers rely
35
+ * on the returned array being sorted canonically so graph output is
36
+ * byte-stable.
37
+ */
38
+ export function dedupAndSort(deps) {
39
+ const byKey = new Map();
40
+ for (const d of deps) {
41
+ const key = `${d.ecosystem}\x00${d.name}\x00${d.version}\x00${d.lockfileSource}`;
42
+ const existing = byKey.get(key);
43
+ if (existing === undefined) {
44
+ byKey.set(key, d);
45
+ continue;
46
+ }
47
+ // Prefer an entry carrying a license over one that doesn't.
48
+ if (existing.license === undefined && d.license !== undefined) {
49
+ byKey.set(key, d);
50
+ }
51
+ }
52
+ const out = [...byKey.values()];
53
+ out.sort(compareParsedDependency);
54
+ return out;
55
+ }
56
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/pipeline/dep-parsers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA0CH,qEAAqE;AACrE,MAAM,UAAU,uBAAuB,CAAC,CAAmB,EAAE,CAAmB;IAC9E,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc;QAAE,OAAO,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAiC;IAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,4DAA4D;QAC5D,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9D,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Gitignore rule stacking helper — encapsulates the "layered rule set"
3
+ * semantics git itself honours when nested `.gitignore` files are present.
4
+ *
5
+ * Git's rules (see `man gitignore`):
6
+ * - A `.gitignore` in a subdirectory shadows and extends the rules from
7
+ * its parents. Rules are evaluated from the repo root downward.
8
+ * - A negation (`!pat`) at a deeper layer can re-include a path that a
9
+ * parent layer excluded (and vice versa).
10
+ * - For a given path, evaluation walks the chain top-down; later matches
11
+ * override earlier ones. The final state (ignored / not-ignored) wins.
12
+ *
13
+ * This module does NOT scan the filesystem; it takes a pre-loaded
14
+ * {@link GitignoreChain} (directory-relative paths → parsed rules) and
15
+ * resolves the effective ignored state for a given path. The scan-time
16
+ * walker in `gitignore.ts` handles the actual filesystem recursion.
17
+ */
18
+ import type { IgnoreRule } from "./gitignore.js";
19
+ /**
20
+ * Map from repo-relative directory path (POSIX, no leading slash; empty
21
+ * string for the repo root) to that directory's parsed `.gitignore`
22
+ * rules. A directory with no `.gitignore` is simply absent from the map.
23
+ */
24
+ export type GitignoreChain = ReadonlyMap<string, readonly IgnoreRule[]>;
25
+ /**
26
+ * Walk every parent directory of `relPath` from the repo root downward,
27
+ * returning the sequence of layered rule sets that apply to it. Each
28
+ * returned entry carries the owning directory (so rule paths can be made
29
+ * relative to it) plus its rules.
30
+ */
31
+ export declare function layersFor(relPath: string, chain: GitignoreChain): readonly {
32
+ readonly dir: string;
33
+ readonly rules: readonly IgnoreRule[];
34
+ }[];
35
+ /**
36
+ * Evaluate `relPath` against the layered chain. Rules at deeper layers
37
+ * override rules at shallower layers; within a layer, the last-matching
38
+ * rule wins (same as git). Returns `true` when the path should be
39
+ * ignored.
40
+ */
41
+ export declare function shouldIgnoreLayered(relPath: string, chain: GitignoreChain, opts?: {
42
+ readonly isDirectory?: boolean;
43
+ }): boolean;
44
+ //# sourceMappingURL=gitignore-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitignore-stack.d.ts","sourceRoot":"","sources":["../../src/pipeline/gitignore-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;AAExE;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACpB,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,EAAE,CAoB5E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5C,OAAO,CAgBT"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Gitignore rule stacking helper — encapsulates the "layered rule set"
3
+ * semantics git itself honours when nested `.gitignore` files are present.
4
+ *
5
+ * Git's rules (see `man gitignore`):
6
+ * - A `.gitignore` in a subdirectory shadows and extends the rules from
7
+ * its parents. Rules are evaluated from the repo root downward.
8
+ * - A negation (`!pat`) at a deeper layer can re-include a path that a
9
+ * parent layer excluded (and vice versa).
10
+ * - For a given path, evaluation walks the chain top-down; later matches
11
+ * override earlier ones. The final state (ignored / not-ignored) wins.
12
+ *
13
+ * This module does NOT scan the filesystem; it takes a pre-loaded
14
+ * {@link GitignoreChain} (directory-relative paths → parsed rules) and
15
+ * resolves the effective ignored state for a given path. The scan-time
16
+ * walker in `gitignore.ts` handles the actual filesystem recursion.
17
+ */
18
+ /**
19
+ * Walk every parent directory of `relPath` from the repo root downward,
20
+ * returning the sequence of layered rule sets that apply to it. Each
21
+ * returned entry carries the owning directory (so rule paths can be made
22
+ * relative to it) plus its rules.
23
+ */
24
+ export function layersFor(relPath, chain) {
25
+ // Build the sequence of ancestor directories, root first.
26
+ const out = [];
27
+ const rootRules = chain.get("");
28
+ if (rootRules !== undefined && rootRules.length > 0) {
29
+ out.push({ dir: "", rules: rootRules });
30
+ }
31
+ if (relPath === "" || !relPath.includes("/"))
32
+ return out;
33
+ const parts = relPath.split("/");
34
+ // Walk ancestors excluding the file's own name (parts[0..-1)).
35
+ let cur = "";
36
+ for (let i = 0; i < parts.length - 1; i += 1) {
37
+ cur = cur === "" ? parts[i] : `${cur}/${parts[i]}`;
38
+ const rules = chain.get(cur);
39
+ if (rules !== undefined && rules.length > 0) {
40
+ out.push({ dir: cur, rules });
41
+ }
42
+ }
43
+ return out;
44
+ }
45
+ /**
46
+ * Evaluate `relPath` against the layered chain. Rules at deeper layers
47
+ * override rules at shallower layers; within a layer, the last-matching
48
+ * rule wins (same as git). Returns `true` when the path should be
49
+ * ignored.
50
+ */
51
+ export function shouldIgnoreLayered(relPath, chain, opts = {}) {
52
+ const isDir = opts.isDirectory === true;
53
+ let ignored = false;
54
+ for (const layer of layersFor(relPath, chain)) {
55
+ // Paths inside a `.gitignore` are interpreted relative to the
56
+ // directory that owns the file. Strip the ancestor prefix so the
57
+ // layer's rules match against the correct sub-path.
58
+ const pathUnderLayer = layer.dir === "" ? relPath : relPath.slice(layer.dir.length + 1);
59
+ for (const rule of layer.rules) {
60
+ if (rule.directoryOnly && !isDir)
61
+ continue;
62
+ if (rule.regex.test(pathUnderLayer)) {
63
+ ignored = !rule.negate;
64
+ }
65
+ }
66
+ }
67
+ return ignored;
68
+ }
69
+ //# sourceMappingURL=gitignore-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitignore-stack.js","sourceRoot":"","sources":["../../src/pipeline/gitignore-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,OAAe,EACf,KAAqB;IAErB,0DAA0D;IAC1D,MAAM,GAAG,GAAoD,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,+DAA+D;IAC/D,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAE,KAAK,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,KAAqB,EACrB,OAA2C,EAAE;IAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9C,8DAA8D;QAC9D,iEAAiE;QACjE,oDAAoD;QACpD,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK;gBAAE,SAAS;YAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Minimal gitignore evaluator.
3
+ *
4
+ * Supports the subset of `.gitignore` syntax used in practice:
5
+ * - Comments (`#`) and blank lines.
6
+ * - Trailing-slash directory-only matches.
7
+ * - Leading-slash anchored-to-root matches.
8
+ * - Negation (`!`) re-includes a previously excluded path.
9
+ * - `*` (single segment), `?` (single char), `**` (any number of segments).
10
+ * - Nested `.gitignore` files with layered negation. Rules stack from
11
+ * repo root downward; deeper layers override shallower ones so
12
+ * `docs/.gitignore` can negate rules set by the repo-root file.
13
+ *
14
+ * Not supported today: character classes (`[abc]`), escaped metacharacters
15
+ * (`\*`). We surface them as warnings when the operator enables verbose
16
+ * mode.
17
+ */
18
+ import type { GitignoreChain } from "./gitignore-stack.js";
19
+ export type { GitignoreChain } from "./gitignore-stack.js";
20
+ export { shouldIgnoreLayered } from "./gitignore-stack.js";
21
+ /** Parsed gitignore rule — order matters; later rules win. */
22
+ export interface IgnoreRule {
23
+ /** Original source line, for debugging. */
24
+ readonly raw: string;
25
+ /** `true` if the rule re-includes (was prefixed with `!`). */
26
+ readonly negate: boolean;
27
+ /** `true` if the rule only matches directories (trailing `/`). */
28
+ readonly directoryOnly: boolean;
29
+ /** `true` if the pattern is anchored to the directory that declared it. */
30
+ readonly anchored: boolean;
31
+ /** RegExp derived from the glob pattern. */
32
+ readonly regex: RegExp;
33
+ }
34
+ /**
35
+ * Parse a `.gitignore` file's contents into a list of rules.
36
+ */
37
+ export declare function parseGitignore(content: string): IgnoreRule[];
38
+ /**
39
+ * Evaluate a path against a rule set or a layered chain. Two calling
40
+ * shapes are supported to preserve binary-compat with pre-P06 callers:
41
+ *
42
+ * - Legacy: `shouldIgnore(relPath, rules[], opts)` treats the second
43
+ * argument as a flat rule list. Later rules win.
44
+ * - Layered: `shouldIgnore(relPath, chain, opts)` treats a `Map` or
45
+ * {@link GitignoreChain}-style object as a layered rule stack.
46
+ * Deeper layers override shallower ones (git's actual semantics).
47
+ *
48
+ * `relPath` must use forward slashes and be relative to the repo root.
49
+ */
50
+ export declare function shouldIgnore(relPath: string, rulesOrChain: readonly IgnoreRule[] | GitignoreChain, opts?: {
51
+ readonly isDirectory?: boolean;
52
+ }): boolean;
53
+ /**
54
+ * Recursively load every `.gitignore` under `repoPath` into a single chain
55
+ * keyed by repo-relative directory path (POSIX, no leading slash; `""` is
56
+ * the repo root).
57
+ *
58
+ * The walker stops at hardcoded ignores (`node_modules`, `.git`, etc.)
59
+ * plus any directory whose own parent-layered rule set marks it as
60
+ * ignored — i.e. it does not recurse into a directory that the existing
61
+ * rules already ignore. This mirrors git's own behaviour and avoids
62
+ * expanding the ignore tree into `node_modules` subtrees.
63
+ */
64
+ export declare function loadGitignoreChain(repoPath: string): Promise<Map<string, IgnoreRule[]>>;
65
+ /** Hardcoded directory names we always skip, even absent a `.gitignore`. */
66
+ export declare const HARDCODED_IGNORES: readonly string[];
67
+ //# sourceMappingURL=gitignore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/pipeline/gitignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAmC5D;AAuDD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,UAAU,EAAE,GAAG,cAAc,EACpD,IAAI,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5C,OAAO,CAaT;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAQ7F;AAuCD,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAe9C,CAAC"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Minimal gitignore evaluator.
3
+ *
4
+ * Supports the subset of `.gitignore` syntax used in practice:
5
+ * - Comments (`#`) and blank lines.
6
+ * - Trailing-slash directory-only matches.
7
+ * - Leading-slash anchored-to-root matches.
8
+ * - Negation (`!`) re-includes a previously excluded path.
9
+ * - `*` (single segment), `?` (single char), `**` (any number of segments).
10
+ * - Nested `.gitignore` files with layered negation. Rules stack from
11
+ * repo root downward; deeper layers override shallower ones so
12
+ * `docs/.gitignore` can negate rules set by the repo-root file.
13
+ *
14
+ * Not supported today: character classes (`[abc]`), escaped metacharacters
15
+ * (`\*`). We surface them as warnings when the operator enables verbose
16
+ * mode.
17
+ */
18
+ import { promises as fs } from "node:fs";
19
+ import path from "node:path";
20
+ import { META_DIR_NAME } from "@opencodehub/storage";
21
+ import { shouldIgnoreLayered } from "./gitignore-stack.js";
22
+ export { shouldIgnoreLayered } from "./gitignore-stack.js";
23
+ /**
24
+ * Parse a `.gitignore` file's contents into a list of rules.
25
+ */
26
+ export function parseGitignore(content) {
27
+ const rules = [];
28
+ const lines = content.split(/\r?\n/);
29
+ for (const raw of lines) {
30
+ // Strip trailing whitespace; gitignore treats trailing spaces as part
31
+ // of the pattern only when escaped. We don't support escaped spaces.
32
+ const trimmed = raw.replace(/\s+$/, "");
33
+ if (trimmed === "" || trimmed.startsWith("#"))
34
+ continue;
35
+ let pattern = trimmed;
36
+ let negate = false;
37
+ if (pattern.startsWith("!")) {
38
+ negate = true;
39
+ pattern = pattern.slice(1);
40
+ }
41
+ let directoryOnly = false;
42
+ if (pattern.endsWith("/")) {
43
+ directoryOnly = true;
44
+ pattern = pattern.slice(0, -1);
45
+ }
46
+ let anchored = false;
47
+ if (pattern.startsWith("/")) {
48
+ anchored = true;
49
+ pattern = pattern.slice(1);
50
+ }
51
+ else if (pattern.includes("/")) {
52
+ // Middle-slash patterns are implicitly anchored per git's rules.
53
+ anchored = true;
54
+ }
55
+ const regex = globToRegex(pattern, anchored);
56
+ rules.push({ raw, negate, directoryOnly, anchored, regex });
57
+ }
58
+ return rules;
59
+ }
60
+ /**
61
+ * Translate a gitignore glob into a RegExp matching the relative path
62
+ * below the declaring directory. Paths are normalized to forward slashes
63
+ * by the caller before matching.
64
+ */
65
+ function globToRegex(glob, anchored) {
66
+ // Walk character by character so we can handle `**` as a special token.
67
+ let out = "";
68
+ let i = 0;
69
+ while (i < glob.length) {
70
+ const c = glob[i];
71
+ if (c === "*") {
72
+ if (glob[i + 1] === "*") {
73
+ // `**` — zero or more path segments.
74
+ // `**/x` -> match `x` at any depth; `x/**` -> match anything under x.
75
+ const next = glob[i + 2];
76
+ if (next === "/") {
77
+ out += "(?:.*/)?";
78
+ i += 3;
79
+ continue;
80
+ }
81
+ // Trailing `**` — match any remaining suffix.
82
+ out += ".*";
83
+ i += 2;
84
+ continue;
85
+ }
86
+ // Single `*` — match within a single path segment.
87
+ out += "[^/]*";
88
+ i += 1;
89
+ continue;
90
+ }
91
+ if (c === "?") {
92
+ out += "[^/]";
93
+ i += 1;
94
+ continue;
95
+ }
96
+ // Escape regex metacharacters.
97
+ if (/[.+^${}()|[\]\\]/.test(c)) {
98
+ out += `\\${c}`;
99
+ i += 1;
100
+ continue;
101
+ }
102
+ out += c;
103
+ i += 1;
104
+ }
105
+ const anchorPrefix = anchored ? "^" : "(?:^|.*/)";
106
+ // Allow the pattern to match either the full path or a path prefix that
107
+ // ends on a `/` (so `build` matches `build/foo.ts`).
108
+ const suffix = "(?:/|$)";
109
+ return new RegExp(`${anchorPrefix}${out}${suffix}`);
110
+ }
111
+ /**
112
+ * Evaluate a path against a rule set or a layered chain. Two calling
113
+ * shapes are supported to preserve binary-compat with pre-P06 callers:
114
+ *
115
+ * - Legacy: `shouldIgnore(relPath, rules[], opts)` treats the second
116
+ * argument as a flat rule list. Later rules win.
117
+ * - Layered: `shouldIgnore(relPath, chain, opts)` treats a `Map` or
118
+ * {@link GitignoreChain}-style object as a layered rule stack.
119
+ * Deeper layers override shallower ones (git's actual semantics).
120
+ *
121
+ * `relPath` must use forward slashes and be relative to the repo root.
122
+ */
123
+ export function shouldIgnore(relPath, rulesOrChain, opts = {}) {
124
+ if (rulesOrChain instanceof Map) {
125
+ return shouldIgnoreLayered(relPath, rulesOrChain, opts);
126
+ }
127
+ const isDir = opts.isDirectory === true;
128
+ let ignored = false;
129
+ for (const rule of rulesOrChain) {
130
+ if (rule.directoryOnly && !isDir)
131
+ continue;
132
+ if (rule.regex.test(relPath)) {
133
+ ignored = !rule.negate;
134
+ }
135
+ }
136
+ return ignored;
137
+ }
138
+ /**
139
+ * Recursively load every `.gitignore` under `repoPath` into a single chain
140
+ * keyed by repo-relative directory path (POSIX, no leading slash; `""` is
141
+ * the repo root).
142
+ *
143
+ * The walker stops at hardcoded ignores (`node_modules`, `.git`, etc.)
144
+ * plus any directory whose own parent-layered rule set marks it as
145
+ * ignored — i.e. it does not recurse into a directory that the existing
146
+ * rules already ignore. This mirrors git's own behaviour and avoids
147
+ * expanding the ignore tree into `node_modules` subtrees.
148
+ */
149
+ export async function loadGitignoreChain(repoPath) {
150
+ const chain = new Map();
151
+ const hardcoded = new Set(HARDCODED_IGNORES);
152
+ await loadDir(repoPath, "", chain, hardcoded);
153
+ // Always return a `""` entry — scan.ts and other callers rely on its
154
+ // presence (empty array is fine when no root .gitignore exists).
155
+ if (!chain.has(""))
156
+ chain.set("", []);
157
+ return chain;
158
+ }
159
+ async function loadDir(repoPath, relDir, chain, hardcoded) {
160
+ const absDir = path.join(repoPath, relDir);
161
+ const ignoreFile = path.join(absDir, ".gitignore");
162
+ try {
163
+ const content = await fs.readFile(ignoreFile, "utf8");
164
+ chain.set(relDir, parseGitignore(content));
165
+ }
166
+ catch {
167
+ // No .gitignore here — nothing to stack for this layer. Deeper
168
+ // layers may still contribute rules.
169
+ }
170
+ let entries;
171
+ try {
172
+ entries = await fs.readdir(absDir, { withFileTypes: true });
173
+ }
174
+ catch {
175
+ return;
176
+ }
177
+ for (const entry of entries) {
178
+ if (!entry.isDirectory())
179
+ continue;
180
+ if (hardcoded.has(entry.name))
181
+ continue;
182
+ const childRel = relDir === "" ? entry.name : `${relDir}/${entry.name}`;
183
+ // Respect the chain we've built up so far so we don't descend into a
184
+ // subtree the parent layer already excluded. A directory ignored at
185
+ // layer N is still ignored at layer N+1 unless a deeper .gitignore
186
+ // re-includes it via a negation — and in that case we need to walk
187
+ // in anyway. The conservative win here is to recurse: the extra
188
+ // .gitignore reads are cheap and we match git's behaviour more
189
+ // exactly.
190
+ await loadDir(repoPath, childRel, chain, hardcoded);
191
+ }
192
+ }
193
+ /** Hardcoded directory names we always skip, even absent a `.gitignore`. */
194
+ export const HARDCODED_IGNORES = [
195
+ "node_modules",
196
+ ".git",
197
+ ".svn",
198
+ ".hg",
199
+ "dist",
200
+ "build",
201
+ "target",
202
+ META_DIR_NAME,
203
+ ".venv",
204
+ "__pycache__",
205
+ ".next",
206
+ ".nuxt",
207
+ ".turbo",
208
+ "coverage",
209
+ ];
210
+ //# sourceMappingURL=gitignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/pipeline/gitignore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Barrel exports for the pipeline subsystem.
3
+ */
4
+ export type { IgnoreRule } from "./gitignore.js";
5
+ export { HARDCODED_IGNORES, loadGitignoreChain, parseGitignore, shouldIgnore, } from "./gitignore.js";
6
+ export type { RunIngestionOptions, RunPipelineResult } from "./orchestrator.js";
7
+ export { runIngestion } from "./orchestrator.js";
8
+ export type { CochangeOptions, CochangeOutput } from "./phases/cochange.js";
9
+ export { COCHANGE_PHASE_NAME, cochangePhase, DEFAULT_MAX_FILES_PER_COMMIT, } from "./phases/cochange.js";
10
+ export type { ComplexityOutput } from "./phases/complexity.js";
11
+ export { COMPLEXITY_PHASE_NAME, complexityPhase } from "./phases/complexity.js";
12
+ export type { CachedCapture, CachedExtractions, CacheEntry, CacheKey, } from "./phases/content-cache.js";
13
+ export { CACHE_VERSION, cacheFilePath, computeCacheSize, deriveCacheKey, readCacheEntry, writeCacheEntry, } from "./phases/content-cache.js";
14
+ export { DEFAULT_PHASES } from "./phases/default-set.js";
15
+ export type { EmbedderPhaseOutput, EmbeddingHashCacheAdapter } from "./phases/embeddings.js";
16
+ export { EMBEDDER_PHASE_NAME, EMBEDDING_HASH_CACHE_OPTIONS_KEY, embeddingsPhase, } from "./phases/embeddings.js";
17
+ export type { FetchesOutput } from "./phases/fetches.js";
18
+ export { FETCHES_PHASE_NAME, fetchesPhase, UNRESOLVED_FETCH_TARGET_PREFIX, } from "./phases/fetches.js";
19
+ export type { IncrementalScopeOutput } from "./phases/incremental-scope.js";
20
+ export { INCREMENTAL_SCOPE_PHASE_NAME, incrementalScopePhase, } from "./phases/incremental-scope.js";
21
+ export type { MarkdownOutput } from "./phases/markdown.js";
22
+ export { MARKDOWN_PHASE_NAME, markdownPhase } from "./phases/markdown.js";
23
+ export type { OpenApiOutput } from "./phases/openapi.js";
24
+ export { OPENAPI_PHASE_NAME, openapiPhase } from "./phases/openapi.js";
25
+ export type { OrmOutput } from "./phases/orm.js";
26
+ export { ORM_EXTERNAL_PATH, ORM_PHASE_NAME, ormPhase } from "./phases/orm.js";
27
+ export type { OwnershipOptions, OwnershipOutput } from "./phases/ownership.js";
28
+ export { OWNERSHIP_PHASE_NAME, ownershipPhase } from "./phases/ownership.js";
29
+ export type { ParseOutput } from "./phases/parse.js";
30
+ export { PARSE_PHASE_NAME, parsePhase } from "./phases/parse.js";
31
+ export type { ProfileOutput } from "./phases/profile.js";
32
+ export { PROFILE_PHASE_NAME, profilePhase } from "./phases/profile.js";
33
+ export type { GitProbe, RepoNodePhaseInput, RepoNodePhaseOutput, } from "./phases/repo-node.js";
34
+ export { defaultGitProbe, deriveLanguageStats, deriveLocalRepoUri, deriveRepoUri, REPO_NODE_PHASE_NAME, repoNodePhase, runRepoNodePhase, } from "./phases/repo-node.js";
35
+ export type { RiskSnapshotOptions, RiskSnapshotOutput } from "./phases/risk-snapshot.js";
36
+ export { RISK_SNAPSHOT_PHASE_NAME, riskSnapshotPhase, } from "./phases/risk-snapshot.js";
37
+ export type { RoutesOutput } from "./phases/routes.js";
38
+ export { ROUTES_PHASE_NAME, routesPhase } from "./phases/routes.js";
39
+ export type { SbomOutput } from "./phases/sbom.js";
40
+ export { SBOM_PHASE_NAME, sbomPhase } from "./phases/sbom.js";
41
+ export type { ScannedFile, ScanOutput } from "./phases/scan.js";
42
+ export { SCAN_PHASE_NAME, scanPhase } from "./phases/scan.js";
43
+ export type { StructureOutput } from "./phases/structure.js";
44
+ export { STRUCTURE_PHASE_NAME, structurePhase } from "./phases/structure.js";
45
+ export type { SummarizePhaseOutput, SummarizerAdapter, SummaryCacheAdapter, } from "./phases/summarize.js";
46
+ export { __setSummarizePhaseTestHooks__, SUMMARIZE_PHASE_NAME, SUMMARY_CACHE_OPTIONS_KEY, summarizePhase, } from "./phases/summarize.js";
47
+ export type { TemporalCommitManifest, TemporalOptions, TemporalOutput, } from "./phases/temporal.js";
48
+ export { TEMPORAL_PHASE_NAME, temporalPhase } from "./phases/temporal.js";
49
+ export type { ToolsOutput } from "./phases/tools.js";
50
+ export { TOOLS_PHASE_NAME, toolsPhase } from "./phases/tools.js";
51
+ export { PipelineGraphError, runPipeline, topologicalSort, validatePipeline, } from "./runner.js";
52
+ export type { PhaseResult, PipelineContext, PipelineOptions, PipelinePhase, PreviousGraph, ProgressEvent, } from "./types.js";
53
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Barrel exports for the pipeline subsystem.
3
+ */
4
+ export { HARDCODED_IGNORES, loadGitignoreChain, parseGitignore, shouldIgnore, } from "./gitignore.js";
5
+ export { runIngestion } from "./orchestrator.js";
6
+ export { COCHANGE_PHASE_NAME, cochangePhase, DEFAULT_MAX_FILES_PER_COMMIT, } from "./phases/cochange.js";
7
+ export { COMPLEXITY_PHASE_NAME, complexityPhase } from "./phases/complexity.js";
8
+ export { CACHE_VERSION, cacheFilePath, computeCacheSize, deriveCacheKey, readCacheEntry, writeCacheEntry, } from "./phases/content-cache.js";
9
+ export { DEFAULT_PHASES } from "./phases/default-set.js";
10
+ export { EMBEDDER_PHASE_NAME, EMBEDDING_HASH_CACHE_OPTIONS_KEY, embeddingsPhase, } from "./phases/embeddings.js";
11
+ export { FETCHES_PHASE_NAME, fetchesPhase, UNRESOLVED_FETCH_TARGET_PREFIX, } from "./phases/fetches.js";
12
+ export { INCREMENTAL_SCOPE_PHASE_NAME, incrementalScopePhase, } from "./phases/incremental-scope.js";
13
+ export { MARKDOWN_PHASE_NAME, markdownPhase } from "./phases/markdown.js";
14
+ export { OPENAPI_PHASE_NAME, openapiPhase } from "./phases/openapi.js";
15
+ export { ORM_EXTERNAL_PATH, ORM_PHASE_NAME, ormPhase } from "./phases/orm.js";
16
+ export { OWNERSHIP_PHASE_NAME, ownershipPhase } from "./phases/ownership.js";
17
+ export { PARSE_PHASE_NAME, parsePhase } from "./phases/parse.js";
18
+ export { PROFILE_PHASE_NAME, profilePhase } from "./phases/profile.js";
19
+ export { defaultGitProbe, deriveLanguageStats, deriveLocalRepoUri, deriveRepoUri, REPO_NODE_PHASE_NAME, repoNodePhase, runRepoNodePhase, } from "./phases/repo-node.js";
20
+ export { RISK_SNAPSHOT_PHASE_NAME, riskSnapshotPhase, } from "./phases/risk-snapshot.js";
21
+ export { ROUTES_PHASE_NAME, routesPhase } from "./phases/routes.js";
22
+ export { SBOM_PHASE_NAME, sbomPhase } from "./phases/sbom.js";
23
+ export { SCAN_PHASE_NAME, scanPhase } from "./phases/scan.js";
24
+ export { STRUCTURE_PHASE_NAME, structurePhase } from "./phases/structure.js";
25
+ export { __setSummarizePhaseTestHooks__, SUMMARIZE_PHASE_NAME, SUMMARY_CACHE_OPTIONS_KEY, summarizePhase, } from "./phases/summarize.js";
26
+ export { TEMPORAL_PHASE_NAME, temporalPhase } from "./phases/temporal.js";
27
+ export { TOOLS_PHASE_NAME, toolsPhase } from "./phases/tools.js";
28
+ export { PipelineGraphError, runPipeline, topologicalSort, validatePipeline, } from "./runner.js";
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAOhF,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMvE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM7E,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC"}