@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,85 @@
1
+ /**
2
+ * Extraction records emitted by language providers.
3
+ *
4
+ * These records are storage-agnostic intermediate values: the ingestion
5
+ * pipeline maps them to `GraphNode` / edge writes downstream. Keeping them
6
+ * decoupled from `@opencodehub/storage` lets providers ship in a package
7
+ * without a persistence dependency.
8
+ *
9
+ * Every record carries absolute file paths + 1-indexed line numbers, matching
10
+ * the conventions documented in `parse/types.ts`.
11
+ */
12
+ import type { NodeKind } from "@opencodehub/core-types";
13
+ /** A defined symbol within a single file. */
14
+ export interface ExtractedDefinition {
15
+ readonly kind: NodeKind;
16
+ readonly name: string;
17
+ /** Dotted form, e.g. `MyClass.myMethod`. Equals `name` for top-level syms. */
18
+ readonly qualifiedName: string;
19
+ readonly filePath: string;
20
+ readonly startLine: number;
21
+ readonly endLine: number;
22
+ /** Qualified name of the enclosing class/struct/impl, when any. */
23
+ readonly owner?: string;
24
+ readonly signature?: string;
25
+ readonly parameterCount?: number;
26
+ readonly parameterTypes?: readonly string[];
27
+ readonly returnType?: string;
28
+ readonly isExported: boolean;
29
+ readonly isConst?: boolean;
30
+ }
31
+ /** A call-site record; callee resolution is applied downstream. */
32
+ export interface ExtractedCall {
33
+ readonly callerQualifiedName: string;
34
+ /** Unresolved identifier at the call site. */
35
+ readonly calleeName: string;
36
+ /** Receiver inference (e.g. `this` / `self` / `pkg`) if present. */
37
+ readonly calleeOwner?: string;
38
+ readonly filePath: string;
39
+ readonly startLine: number;
40
+ }
41
+ /** Classification of an import statement's shape. */
42
+ export type ImportKind = "named" | "namespace" | "package-wildcard" | "default";
43
+ /** A normalized import declaration. */
44
+ export interface ExtractedImport {
45
+ /** Path of the file that contains the import statement. */
46
+ readonly filePath: string;
47
+ /** Raw module specifier as written in source. */
48
+ readonly source: string;
49
+ /** Symbol names introduced by a named import. */
50
+ readonly importedNames?: readonly string[];
51
+ /** Whether the import pulls every exported symbol (`import *`, `from x import *`). */
52
+ readonly isWildcard?: boolean;
53
+ /** Local alias assigned to the module or symbol (e.g. `np` in `import numpy as np`). */
54
+ readonly localAlias?: string;
55
+ readonly kind: ImportKind;
56
+ }
57
+ /** A parent/child heritage edge (EXTENDS or IMPLEMENTS). */
58
+ export interface ExtractedHeritage {
59
+ readonly childQualifiedName: string;
60
+ /** Unresolved identifier of the parent type. */
61
+ readonly parentName: string;
62
+ readonly filePath: string;
63
+ readonly relation: "EXTENDS" | "IMPLEMENTS";
64
+ readonly startLine: number;
65
+ }
66
+ /**
67
+ * A single property access observed inside a function/method body.
68
+ *
69
+ * The {@link enclosingSymbolId} is the pre-built `NodeId` for the enclosing
70
+ * Function/Method/Constructor as derived by `idForDefinition` in the parse
71
+ * phase — passing the fully-baked id means the accesses phase never has to
72
+ * reconstruct it and every provider emits the identical shape.
73
+ *
74
+ * `propertyName` is the bare, unqualified identifier (e.g. `name`, not
75
+ * `user.name`). `reason` is `write` for LHS-of-assignment, else `read`.
76
+ */
77
+ export interface PropertyAccess {
78
+ readonly enclosingSymbolId: string;
79
+ readonly propertyName: string;
80
+ readonly reason: "read" | "write";
81
+ readonly startLine: number;
82
+ readonly endLine: number;
83
+ readonly filePath: string;
84
+ }
85
+ //# sourceMappingURL=extraction-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction-types.d.ts","sourceRoot":"","sources":["../../src/providers/extraction-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAEhF,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,sFAAsF;IACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Extraction records emitted by language providers.
3
+ *
4
+ * These records are storage-agnostic intermediate values: the ingestion
5
+ * pipeline maps them to `GraphNode` / edge writes downstream. Keeping them
6
+ * decoupled from `@opencodehub/storage` lets providers ship in a package
7
+ * without a persistence dependency.
8
+ *
9
+ * Every record carries absolute file paths + 1-indexed line numbers, matching
10
+ * the conventions documented in `parse/types.ts`.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=extraction-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction-types.js","sourceRoot":"","sources":["../../src/providers/extraction-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,3 @@
1
+ import type { LanguageProvider } from "./types.js";
2
+ export declare const goProvider: LanguageProvider;
3
+ //# sourceMappingURL=go.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../src/providers/go.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAKV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAkUpB,eAAO,MAAM,UAAU,EAAE,gBAsDxB,CAAC"}
@@ -0,0 +1,359 @@
1
+ import { getLine, innermostEnclosingDef, isInside, pairDefinitionsWithNames, stripComments, } from "./extract-helpers.js";
2
+ import { detectHttpCallsGo } from "./http-detect.js";
3
+ /**
4
+ * Go provider.
5
+ *
6
+ * Definitions: functions, struct/interface types, methods (with receiver
7
+ * syntax), package-level constants. Qualified names for methods use the
8
+ * receiver type (e.g. `MyStruct.Do`) to mirror Go's dispatch-by-type.
9
+ *
10
+ * Exports: Go is unique among the seven — a top-level identifier is
11
+ * exported iff it starts with an uppercase letter. We reuse that rule for
12
+ * methods too.
13
+ *
14
+ * Heritage: Go has no class inheritance. Interface satisfaction is
15
+ * structural and needs a type checker to resolve — at MVP we emit no
16
+ * heritage edges.
17
+ */
18
+ const GO_DEF_KIND_MAP = {
19
+ "definition.class": "Struct", // struct_type under the unified query
20
+ "definition.interface": "Interface",
21
+ "definition.function": "Function",
22
+ "definition.method": "Method",
23
+ "definition.constant": "Const",
24
+ "definition.type": "TypeAlias",
25
+ "definition.module": "Module",
26
+ };
27
+ function extractGoDefinitions(input) {
28
+ const { filePath, captures, sourceText } = input;
29
+ const paired = pairDefinitionsWithNames(captures);
30
+ const defCaptures = captures.filter((c) => c.tag.startsWith("definition."));
31
+ // The Go unified query emits both `@definition.type` and either
32
+ // `@definition.class` (struct) or `@definition.interface` for the same
33
+ // source range — a type_declaration wrapping a struct/interface. Drop
34
+ // the TypeAlias record when a more specific kind exists at the same
35
+ // position so the graph has one node per type, not two.
36
+ const specificPositions = new Set();
37
+ for (const { def } of paired) {
38
+ if (def.tag === "definition.class" || def.tag === "definition.interface") {
39
+ specificPositions.add(`${def.startLine}:${def.startCol}`);
40
+ }
41
+ }
42
+ const out = [];
43
+ for (const { def, name } of paired) {
44
+ const kind = GO_DEF_KIND_MAP[def.tag];
45
+ if (kind === undefined)
46
+ continue;
47
+ if (def.tag === "definition.type" &&
48
+ specificPositions.has(`${def.startLine}:${def.startCol}`)) {
49
+ continue;
50
+ }
51
+ let owner;
52
+ if (def.tag === "definition.method") {
53
+ // `func (r *Receiver) Method(...)` — parse the receiver type off the
54
+ // header. We strip leading `*` for pointer receivers.
55
+ owner = readGoReceiverType(getLine(sourceText, def.startLine));
56
+ }
57
+ else {
58
+ const ownerDef = innermostEnclosingDef(def, defCaptures);
59
+ if (ownerDef !== undefined) {
60
+ const ownerPaired = paired.find((p) => p.def === ownerDef);
61
+ if (ownerPaired !== undefined)
62
+ owner = ownerPaired.name.text;
63
+ }
64
+ }
65
+ const qualifiedName = owner !== undefined ? `${owner}.${name.text}` : name.text;
66
+ const isExported = /^[A-Z]/.test(name.text);
67
+ const rec = {
68
+ kind,
69
+ name: name.text,
70
+ qualifiedName,
71
+ filePath,
72
+ startLine: def.startLine,
73
+ endLine: def.endLine,
74
+ isExported,
75
+ ...(owner !== undefined ? { owner } : {}),
76
+ };
77
+ out.push(rec);
78
+ }
79
+ return out;
80
+ }
81
+ function readGoReceiverType(headerLine) {
82
+ // Accepts `func (r *Foo) Bar(...)`, `func (Foo) Bar(...)`, and generic
83
+ // variants like `func (r *Foo[T]) Bar(...)`.
84
+ const m = /^\s*func\s*\(\s*(?:[A-Za-z_][\w]*\s+)?\*?([A-Za-z_][\w]*)/.exec(headerLine);
85
+ if (m === null)
86
+ return undefined;
87
+ return m[1];
88
+ }
89
+ function extractGoCalls(input) {
90
+ const { filePath, captures, definitions } = input;
91
+ const defCaptures = captures.filter((c) => c.tag.startsWith("definition."));
92
+ const callRefs = captures.filter((c) => c.tag === "reference.call");
93
+ const out = [];
94
+ for (const ref of callRefs) {
95
+ const innerName = findNameInside(captures, ref);
96
+ const calleeName = innerName?.text ?? ref.text;
97
+ const enclosingDef = innermostEnclosingDef(ref, defCaptures);
98
+ const callerQualifiedName = enclosingDef
99
+ ? qualifiedForCapture(enclosingDef, definitions)
100
+ : "<module>";
101
+ // Receiver inference: `pkg.Func(...)` or `recv.Method(...)`. When the
102
+ // grammar matched `selector_expression`, `ref.text` begins with the
103
+ // selector source.
104
+ let receiver;
105
+ if (innerName !== undefined) {
106
+ const idx = ref.text.lastIndexOf(`.${innerName.text}`);
107
+ if (idx > 0) {
108
+ const prefix = ref.text.slice(0, idx).trim();
109
+ if (prefix !== "" && /^[A-Za-z_][\w.]*$/.test(prefix))
110
+ receiver = prefix;
111
+ }
112
+ }
113
+ out.push({
114
+ callerQualifiedName,
115
+ calleeName,
116
+ filePath,
117
+ startLine: ref.startLine,
118
+ ...(receiver !== undefined ? { calleeOwner: receiver } : {}),
119
+ });
120
+ }
121
+ return out;
122
+ }
123
+ function findNameInside(captures, outer) {
124
+ let best;
125
+ for (const c of captures) {
126
+ if (c.tag !== "name")
127
+ continue;
128
+ if (!isInside(c, outer))
129
+ continue;
130
+ if (best === undefined || c.startLine < best.startLine)
131
+ best = c;
132
+ }
133
+ return best;
134
+ }
135
+ function qualifiedForCapture(def, definitions) {
136
+ for (const d of definitions) {
137
+ if (d.startLine === def.startLine)
138
+ return d.qualifiedName;
139
+ }
140
+ return "<module>";
141
+ }
142
+ /**
143
+ * Parse Go imports. Covers:
144
+ * `import "fmt"`
145
+ * `import f "fmt"` (aliased)
146
+ * `import . "fmt"` (dot-import)
147
+ * `import _ "fmt"` (blank-import)
148
+ * `import ( "a"; f "fmt"; . "b" )` (grouped)
149
+ */
150
+ function extractGoImports(input) {
151
+ const { filePath, sourceText } = input;
152
+ const stripped = stripComments(sourceText);
153
+ const out = [];
154
+ // Match single-line imports and the grouped block.
155
+ const singleRe = /^\s*import\s+(?:([A-Za-z_.][\w]*)\s+)?"([^"]+)"\s*$/gm;
156
+ for (const m of stripped.matchAll(singleRe)) {
157
+ const alias = m[1];
158
+ const source = m[2];
159
+ out.push({
160
+ filePath,
161
+ source,
162
+ kind: "package-wildcard",
163
+ ...(alias !== undefined ? { localAlias: alias } : {}),
164
+ });
165
+ }
166
+ // Grouped: `import ( ... )`. Match balanced parens line by line.
167
+ const groupRe = /^\s*import\s*\(([\s\S]*?)\)\s*$/gm;
168
+ for (const g of stripped.matchAll(groupRe)) {
169
+ const body = g[1];
170
+ for (const line of body.split("\n")) {
171
+ const trimmed = line.trim();
172
+ if (trimmed === "")
173
+ continue;
174
+ const entry = /^(?:([A-Za-z_.][\w]*)\s+)?"([^"]+)"\s*$/.exec(trimmed);
175
+ if (entry === null)
176
+ continue;
177
+ const alias = entry[1];
178
+ const source = entry[2];
179
+ out.push({
180
+ filePath,
181
+ source,
182
+ kind: "package-wildcard",
183
+ ...(alias !== undefined ? { localAlias: alias } : {}),
184
+ });
185
+ }
186
+ }
187
+ return out;
188
+ }
189
+ /**
190
+ * Go heritage detector.
191
+ *
192
+ * Go has no `extends` / `implements` keyword — interface satisfaction is
193
+ * structural. A type `T` implements interface `I` iff the method set of
194
+ * `T` is a superset of `I`'s method set. This detector:
195
+ *
196
+ * 1. Collects every method the file declares, grouped by receiver type.
197
+ * 2. Collects every interface declared in the file, with its method
198
+ * set read from the raw source (the unified query doesn't capture
199
+ * interface method names).
200
+ * 3. Emits one `IMPLEMENTS` edge per (type, interface) pair whose
201
+ * method-set-of-T is a superset of method-set-of-I, subject to the
202
+ * conservative guard: both sides must live in the SAME package
203
+ * (which for a per-file pass means the same file) OR both must be
204
+ * exported (uppercase first letter). Cross-file satisfaction is a
205
+ * v2 enhancement — the v1 detector is per-file.
206
+ */
207
+ function extractGoHeritage(input) {
208
+ const { filePath, definitions } = input;
209
+ const out = [];
210
+ // Group methods by receiver type.
211
+ const methodsByType = new Map();
212
+ for (const d of definitions) {
213
+ if (d.kind !== "Method" || d.owner === undefined)
214
+ continue;
215
+ const bag = methodsByType.get(d.owner) ?? new Set();
216
+ bag.add(d.name);
217
+ methodsByType.set(d.owner, bag);
218
+ }
219
+ if (methodsByType.size === 0)
220
+ return out;
221
+ // Collect interfaces with their method sets by parsing source around
222
+ // each `Interface` definition's startLine/endLine. `sourceText` is the
223
+ // raw file bytes, which `extractHeritage` does not receive directly —
224
+ // so we reconstruct a minimal scan from the captures the provider
225
+ // holds. The cleanest path: use the definitions array plus a fresh
226
+ // parse of the interface body substring taken from the header file.
227
+ // Instead of re-parsing, we walk the `definitions` to find Interface
228
+ // records and then inspect the original captures' `text` field; our
229
+ // Go query emits `@definition.interface` on the full type_declaration
230
+ // so the capture text contains the interface body.
231
+ const interfaces = collectInterfaceMethodSets(input);
232
+ for (const [typeName, typeMethods] of methodsByType) {
233
+ const typeIsExported = isExportedIdent(typeName);
234
+ for (const { name: ifaceName, methods: ifaceMethods } of interfaces) {
235
+ if (ifaceMethods.size === 0)
236
+ continue; // empty interface — everyone satisfies it; skip for signal
237
+ if (!isSuperset(typeMethods, ifaceMethods))
238
+ continue;
239
+ // Conservative guard: skip when one side is unexported and they
240
+ // aren't in the same file (our per-file proxy for "same package").
241
+ // Since everything we see here is from one file, same-file IS the
242
+ // same-package signal.
243
+ const ifaceIsExported = isExportedIdent(ifaceName);
244
+ if (!typeIsExported && !ifaceIsExported)
245
+ continue;
246
+ out.push({
247
+ childQualifiedName: typeName,
248
+ parentName: ifaceName,
249
+ filePath,
250
+ relation: "IMPLEMENTS",
251
+ startLine: 1,
252
+ });
253
+ }
254
+ }
255
+ return out;
256
+ }
257
+ function isSuperset(a, b) {
258
+ for (const x of b) {
259
+ if (!a.has(x))
260
+ return false;
261
+ }
262
+ return true;
263
+ }
264
+ function isExportedIdent(name) {
265
+ return /^[A-Z]/.test(name);
266
+ }
267
+ /**
268
+ * Read interface method sets from the captures attached to each
269
+ * `@definition.interface`. The query captures the whole
270
+ * type_declaration, so `capture.text` contains the interface body — we
271
+ * extract method names via a narrow regex. Embedded interfaces are
272
+ * ignored (v1 scope); the spec explicitly accepts this conservative
273
+ * posture.
274
+ */
275
+ function collectInterfaceMethodSets(input) {
276
+ const { captures, definitions } = input;
277
+ const interfaceCaps = captures.filter((c) => c.tag === "definition.interface");
278
+ const out = [];
279
+ for (const cap of interfaceCaps) {
280
+ const def = definitions.find((d) => d.kind === "Interface" && d.startLine === cap.startLine);
281
+ if (def === undefined)
282
+ continue;
283
+ const methods = readInterfaceMethodNames(cap.text);
284
+ out.push({ name: def.name, methods });
285
+ }
286
+ return out;
287
+ }
288
+ function readInterfaceMethodNames(body) {
289
+ const out = new Set();
290
+ // Interface body: `interface { Method1() ; Method2(x int) error ; ... }`.
291
+ // Each method is an identifier immediately followed by `(`. We skip
292
+ // embedded interface identifiers (they have no `(` after them).
293
+ const re = /^\s*([A-Z_][A-Za-z0-9_]*|[a-z_][A-Za-z0-9_]*)\s*\(/gm;
294
+ for (const m of body.matchAll(re)) {
295
+ const name = m[1];
296
+ if (name === undefined)
297
+ continue;
298
+ // Skip reserved words that could lead to false positives.
299
+ if (name === "interface" || name === "type" || name === "func")
300
+ continue;
301
+ out.add(name);
302
+ }
303
+ return out;
304
+ }
305
+ export const goProvider = {
306
+ id: "go",
307
+ extensions: [".go"],
308
+ importSemantics: "package-wildcard",
309
+ mroStrategy: "none",
310
+ typeConfig: { structural: true, nominal: true, generics: true },
311
+ heritageEdge: null,
312
+ isExportedIdentifier: (name) => /^[A-Z]/.test(name),
313
+ complexityDefinitionKinds: ["function_declaration", "method_declaration", "func_literal"],
314
+ halsteadOperatorKinds: [
315
+ "+",
316
+ "-",
317
+ "*",
318
+ "/",
319
+ "%",
320
+ "=",
321
+ "==",
322
+ "!=",
323
+ "<",
324
+ ">",
325
+ "<=",
326
+ ">=",
327
+ "&&",
328
+ "||",
329
+ "!",
330
+ "&",
331
+ "|",
332
+ "^",
333
+ "<<",
334
+ ">>",
335
+ "&^",
336
+ "+=",
337
+ "-=",
338
+ "*=",
339
+ "/=",
340
+ "%=",
341
+ "&=",
342
+ "|=",
343
+ "^=",
344
+ "<<=",
345
+ ">>=",
346
+ "&^=",
347
+ ":=",
348
+ "<-",
349
+ "...",
350
+ ":",
351
+ ],
352
+ extractDefinitions: extractGoDefinitions,
353
+ extractCalls: extractGoCalls,
354
+ extractImports: extractGoImports,
355
+ isExported: (def) => def.isExported,
356
+ extractHeritage: extractGoHeritage,
357
+ detectOutboundHttp: ({ sourceText }) => detectHttpCallsGo(sourceText),
358
+ };
359
+ //# sourceMappingURL=go.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../../src/providers/go.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Outbound HTTP-call detectors.
3
+ *
4
+ * Lightweight regex-based detectors shared across provider hooks. The
5
+ * patterns intentionally trade recall for precision: we prefer to miss
6
+ * exotic forms than emit false positives that pollute the FETCHES graph.
7
+ *
8
+ * Covered clients:
9
+ * TypeScript / JavaScript:
10
+ * - `fetch(url, { method: "POST" })`, `fetch(url)` (default GET)
11
+ * - `axios.get(url, ...)`, `axios.post(url, ...)`, `axios({method, url})`
12
+ * - `ky.get(url)` / `ky.post(url)`
13
+ * Python:
14
+ * - `requests.get(url, ...)`, `requests.post(url, ...)`
15
+ * - `httpx.get(url)`, `httpx.post(url)`, `httpx.AsyncClient().get(url)`
16
+ * - `urllib.request.urlopen(url)` — best-effort, assumed GET
17
+ * Go:
18
+ * - `http.Get(url)`, `http.Post(url, ...)`, `http.PostForm(url, ...)`
19
+ * Java:
20
+ * - `restTemplate.getForObject(url, ...)`, `restTemplate.postForObject(url, ...)`
21
+ * - `webClient.get().uri(url)`, `webClient.post().uri(url)`
22
+ * - OkHttp `Request.Builder().url(url)` — method defaults to GET unless
23
+ * a subsequent `.post(...)` / `.put(...)` / `.delete(...)` is chained.
24
+ *
25
+ * Every detector is purely text-oriented. Providers can call into these
26
+ * helpers from their `detectOutboundHttp` hook and merge / sort the result.
27
+ */
28
+ import type { HttpCall } from "./types.js";
29
+ /**
30
+ * Deterministic sort so two runs of the same input always yield the same
31
+ * edge order. Order:
32
+ * 1. ascending startLine
33
+ * 2. tiebreak on method
34
+ * 3. tiebreak on urlTemplate
35
+ * 4. tiebreak on clientLibrary
36
+ */
37
+ export declare function sortHttpCalls(calls: readonly HttpCall[]): readonly HttpCall[];
38
+ /** Convert `:id` / `{id}` to a canonical `{id}` form and drop query strings. */
39
+ export declare function normalizeUrlTemplate(raw: string): string;
40
+ export declare function detectHttpCallsTsJs(sourceText: string): readonly HttpCall[];
41
+ export declare function detectHttpCallsPython(sourceText: string): readonly HttpCall[];
42
+ export declare function detectHttpCallsGo(sourceText: string): readonly HttpCall[];
43
+ export declare function detectHttpCallsJava(sourceText: string): readonly HttpCall[];
44
+ //# sourceMappingURL=http-detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-detect.d.ts","sourceRoot":"","sources":["../../src/providers/http-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,QAAQ,EAAE,CAU7E;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMxD;AAgDD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE,CAsD3E;AAcD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE,CAgC7E;AAQD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE,CAkBzE;AA2BD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE,CA4D3E"}