docorbit 0.1.0 → 0.1.2

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 (405) hide show
  1. package/README.md +29 -15
  2. package/bin/docorbit.js +2 -2
  3. package/dist/apps/cli/src/commands/add.d.ts +7 -0
  4. package/dist/apps/cli/src/commands/add.js +35 -0
  5. package/dist/apps/cli/src/commands/api.d.ts +2 -0
  6. package/dist/apps/cli/src/commands/api.js +35 -0
  7. package/dist/apps/cli/src/commands/context.d.ts +10 -0
  8. package/dist/apps/cli/src/commands/context.js +36 -0
  9. package/dist/apps/cli/src/commands/dashboard.d.ts +8 -0
  10. package/dist/apps/cli/src/commands/dashboard.js +43 -0
  11. package/dist/apps/cli/src/commands/diff.d.ts +2 -0
  12. package/dist/apps/cli/src/commands/diff.js +29 -0
  13. package/dist/apps/cli/src/commands/evaluate.d.ts +11 -0
  14. package/dist/apps/cli/src/commands/evaluate.js +101 -0
  15. package/dist/apps/cli/src/commands/examples.d.ts +2 -0
  16. package/dist/apps/cli/src/commands/examples.js +36 -0
  17. package/dist/apps/cli/src/commands/export.d.ts +11 -0
  18. package/dist/apps/cli/src/commands/export.js +72 -0
  19. package/dist/apps/cli/src/commands/impact.d.ts +2 -0
  20. package/dist/apps/cli/src/commands/impact.js +30 -0
  21. package/dist/apps/cli/src/commands/init.d.ts +5 -0
  22. package/dist/apps/cli/src/commands/init.js +52 -0
  23. package/dist/apps/cli/src/commands/inspect.d.ts +5 -0
  24. package/dist/apps/cli/src/commands/inspect.js +24 -0
  25. package/dist/apps/cli/src/commands/mcp.d.ts +8 -0
  26. package/dist/apps/cli/src/commands/mcp.js +49 -0
  27. package/dist/apps/cli/src/commands/pitfalls.d.ts +2 -0
  28. package/dist/apps/cli/src/commands/pitfalls.js +35 -0
  29. package/dist/apps/cli/src/commands/recipes.d.ts +2 -0
  30. package/dist/apps/cli/src/commands/recipes.js +33 -0
  31. package/dist/apps/cli/src/commands/search.d.ts +11 -0
  32. package/dist/apps/cli/src/commands/search.js +36 -0
  33. package/dist/apps/cli/src/commands/update.d.ts +6 -0
  34. package/dist/apps/cli/src/commands/update.js +53 -0
  35. package/dist/apps/cli/src/commands/verify.d.ts +2 -0
  36. package/dist/apps/cli/src/commands/verify.js +44 -0
  37. package/dist/apps/cli/src/formatters/colors.d.ts +21 -0
  38. package/dist/apps/cli/src/formatters/colors.js +22 -0
  39. package/dist/apps/cli/src/formatters/inspection.d.ts +3 -0
  40. package/dist/apps/cli/src/formatters/inspection.js +88 -0
  41. package/dist/apps/cli/src/formatters/knowledge.d.ts +5 -0
  42. package/dist/apps/cli/src/formatters/knowledge.js +229 -0
  43. package/dist/apps/cli/src/formatters/retrieval.d.ts +3 -0
  44. package/dist/apps/cli/src/formatters/retrieval.js +61 -0
  45. package/{apps/cli/src/formatters/terminal.ts → dist/apps/cli/src/formatters/terminal.d.ts} +0 -1
  46. package/dist/apps/cli/src/formatters/terminal.js +5 -0
  47. package/dist/apps/cli/src/formatters/verification.d.ts +4 -0
  48. package/dist/apps/cli/src/formatters/verification.js +102 -0
  49. package/dist/apps/cli/src/index.d.ts +1 -0
  50. package/dist/apps/cli/src/index.js +376 -0
  51. package/dist/packages/core/src/dashboard/server.d.ts +33 -0
  52. package/dist/packages/core/src/dashboard/server.js +267 -0
  53. package/dist/packages/core/src/dashboard/ui.d.ts +5 -0
  54. package/{packages/core/src/dashboard/ui.ts → dist/packages/core/src/dashboard/ui.js} +2 -2
  55. package/dist/packages/core/src/implementation-service.d.ts +73 -0
  56. package/dist/packages/core/src/implementation-service.js +325 -0
  57. package/{packages/core/src/index.ts → dist/packages/core/src/index.d.ts} +0 -1
  58. package/dist/packages/core/src/index.js +6 -0
  59. package/dist/packages/core/src/inspector.d.ts +22 -0
  60. package/dist/packages/core/src/inspector.js +38 -0
  61. package/dist/packages/core/src/pipeline.d.ts +45 -0
  62. package/dist/packages/core/src/pipeline.js +246 -0
  63. package/dist/packages/crawler/src/config.d.ts +2 -0
  64. package/dist/packages/crawler/src/config.js +10 -0
  65. package/dist/packages/crawler/src/fetcher.d.ts +31 -0
  66. package/dist/packages/crawler/src/fetcher.js +139 -0
  67. package/dist/packages/crawler/src/index.js +2 -0
  68. package/dist/packages/discovery/src/index.d.ts +11 -0
  69. package/dist/packages/discovery/src/index.js +29 -0
  70. package/dist/packages/discovery/src/provider.d.ts +12 -0
  71. package/dist/packages/discovery/src/provider.js +30 -0
  72. package/dist/packages/discovery/src/providers/generic.d.ts +7 -0
  73. package/dist/packages/discovery/src/providers/generic.js +94 -0
  74. package/dist/packages/discovery/src/providers/github.d.ts +7 -0
  75. package/dist/packages/discovery/src/providers/github.js +52 -0
  76. package/dist/packages/discovery/src/providers/llms-txt.d.ts +7 -0
  77. package/dist/packages/discovery/src/providers/llms-txt.js +60 -0
  78. package/dist/packages/discovery/src/providers/markdown.d.ts +7 -0
  79. package/dist/packages/discovery/src/providers/markdown.js +38 -0
  80. package/dist/packages/discovery/src/providers/openapi.d.ts +7 -0
  81. package/dist/packages/discovery/src/providers/openapi.js +77 -0
  82. package/dist/packages/discovery/src/providers/sitemap.d.ts +7 -0
  83. package/dist/packages/discovery/src/providers/sitemap.js +53 -0
  84. package/dist/packages/discovery/src/providers/skill.d.ts +7 -0
  85. package/dist/packages/discovery/src/providers/skill.js +46 -0
  86. package/dist/packages/discovery/src/ranker.d.ts +6 -0
  87. package/dist/packages/discovery/src/ranker.js +107 -0
  88. package/dist/packages/evaluation/src/dataset.d.ts +2 -0
  89. package/dist/packages/evaluation/src/dataset.js +944 -0
  90. package/dist/packages/evaluation/src/index.js +8 -0
  91. package/dist/packages/evaluation/src/runner.d.ts +7 -0
  92. package/dist/packages/evaluation/src/runner.js +196 -0
  93. package/dist/packages/evaluation/src/strategies/context7-runner.d.ts +24 -0
  94. package/dist/packages/evaluation/src/strategies/context7-runner.js +229 -0
  95. package/dist/packages/evaluation/src/strategies/docorbit-runner.d.ts +5 -0
  96. package/dist/packages/evaluation/src/strategies/docorbit-runner.js +210 -0
  97. package/dist/packages/evaluation/src/strategies/firecrawl-runner.d.ts +24 -0
  98. package/dist/packages/evaluation/src/strategies/firecrawl-runner.js +151 -0
  99. package/dist/packages/evaluation/src/strategies/web-search-runner.d.ts +32 -0
  100. package/dist/packages/evaluation/src/strategies/web-search-runner.js +161 -0
  101. package/dist/packages/evaluation/src/types.d.ts +15 -0
  102. package/dist/packages/evaluation/src/types.js +1 -0
  103. package/dist/packages/evaluation/src/version-matcher.d.ts +11 -0
  104. package/dist/packages/evaluation/src/version-matcher.js +61 -0
  105. package/dist/packages/export/src/agents-md.d.ts +19 -0
  106. package/dist/packages/export/src/agents-md.js +170 -0
  107. package/dist/packages/export/src/claude-md.d.ts +17 -0
  108. package/dist/packages/export/src/claude-md.js +118 -0
  109. package/dist/packages/export/src/docs-map.d.ts +14 -0
  110. package/dist/packages/export/src/docs-map.js +118 -0
  111. package/dist/packages/export/src/index.js +6 -0
  112. package/dist/packages/export/src/llms-txt.d.ts +15 -0
  113. package/dist/packages/export/src/llms-txt.js +73 -0
  114. package/dist/packages/export/src/service.d.ts +23 -0
  115. package/dist/packages/export/src/service.js +210 -0
  116. package/dist/packages/export/src/skill-md.d.ts +14 -0
  117. package/dist/packages/export/src/skill-md.js +107 -0
  118. package/{packages/mcp/src/index.ts → dist/packages/mcp/src/index.d.ts} +2 -35
  119. package/dist/packages/mcp/src/index.js +6 -0
  120. package/dist/packages/mcp/src/resources/index.d.ts +12 -0
  121. package/dist/packages/mcp/src/resources/index.js +165 -0
  122. package/dist/packages/mcp/src/server.d.ts +30 -0
  123. package/dist/packages/mcp/src/server.js +243 -0
  124. package/dist/packages/mcp/src/tools/analyze-impact.d.ts +6 -0
  125. package/dist/packages/mcp/src/tools/analyze-impact.js +64 -0
  126. package/dist/packages/mcp/src/tools/check-api.d.ts +6 -0
  127. package/dist/packages/mcp/src/tools/check-api.js +74 -0
  128. package/dist/packages/mcp/src/tools/diff-docs.d.ts +6 -0
  129. package/dist/packages/mcp/src/tools/diff-docs.js +58 -0
  130. package/dist/packages/mcp/src/tools/export-context.d.ts +6 -0
  131. package/dist/packages/mcp/src/tools/export-context.js +61 -0
  132. package/dist/packages/mcp/src/tools/find-api.d.ts +6 -0
  133. package/dist/packages/mcp/src/tools/find-api.js +91 -0
  134. package/dist/packages/mcp/src/tools/find-example.d.ts +6 -0
  135. package/dist/packages/mcp/src/tools/find-example.js +92 -0
  136. package/dist/packages/mcp/src/tools/find-pitfall.d.ts +6 -0
  137. package/dist/packages/mcp/src/tools/find-pitfall.js +85 -0
  138. package/dist/packages/mcp/src/tools/find-recipe.d.ts +6 -0
  139. package/dist/packages/mcp/src/tools/find-recipe.js +89 -0
  140. package/dist/packages/mcp/src/tools/get-doc.d.ts +6 -0
  141. package/dist/packages/mcp/src/tools/get-doc.js +118 -0
  142. package/dist/packages/mcp/src/tools/get-docs-map.d.ts +6 -0
  143. package/dist/packages/mcp/src/tools/get-docs-map.js +54 -0
  144. package/dist/packages/mcp/src/tools/get-version.d.ts +6 -0
  145. package/dist/packages/mcp/src/tools/get-version.js +104 -0
  146. package/dist/packages/mcp/src/tools/implementation-context.d.ts +6 -0
  147. package/dist/packages/mcp/src/tools/implementation-context.js +102 -0
  148. package/dist/packages/mcp/src/tools/index.d.ts +19 -0
  149. package/dist/packages/mcp/src/tools/index.js +41 -0
  150. package/dist/packages/mcp/src/tools/ingest-doc.d.ts +6 -0
  151. package/dist/packages/mcp/src/tools/ingest-doc.js +264 -0
  152. package/dist/packages/mcp/src/tools/list-sources.d.ts +6 -0
  153. package/dist/packages/mcp/src/tools/list-sources.js +76 -0
  154. package/dist/packages/mcp/src/tools/search-docs.d.ts +6 -0
  155. package/dist/packages/mcp/src/tools/search-docs.js +113 -0
  156. package/dist/packages/mcp/src/tools/types.d.ts +22 -0
  157. package/dist/packages/mcp/src/tools/types.js +1 -0
  158. package/dist/packages/mcp/src/transports/http.d.ts +31 -0
  159. package/dist/packages/mcp/src/transports/http.js +215 -0
  160. package/dist/packages/mcp/src/transports/stdio.d.ts +22 -0
  161. package/dist/packages/mcp/src/transports/stdio.js +86 -0
  162. package/{packages/mcp/src/transports/types.ts → dist/packages/mcp/src/transports/types.d.ts} +2 -3
  163. package/dist/packages/mcp/src/transports/types.js +1 -0
  164. package/dist/packages/mcp/src/types.d.ts +89 -0
  165. package/dist/packages/mcp/src/types.js +7 -0
  166. package/dist/packages/normalizer/src/example-indexer.d.ts +5 -0
  167. package/dist/packages/normalizer/src/example-indexer.js +200 -0
  168. package/dist/packages/normalizer/src/html.d.ts +13 -0
  169. package/dist/packages/normalizer/src/html.js +221 -0
  170. package/{packages/normalizer/src/index.ts → dist/packages/normalizer/src/index.d.ts} +0 -1
  171. package/dist/packages/normalizer/src/index.js +7 -0
  172. package/dist/packages/normalizer/src/llms.d.ts +3 -0
  173. package/dist/packages/normalizer/src/llms.js +71 -0
  174. package/dist/packages/normalizer/src/openapi/endpoint-parser.d.ts +11 -0
  175. package/dist/packages/normalizer/src/openapi/endpoint-parser.js +357 -0
  176. package/dist/packages/normalizer/src/openapi/schema-resolver.d.ts +10 -0
  177. package/dist/packages/normalizer/src/openapi/schema-resolver.js +82 -0
  178. package/dist/packages/normalizer/src/openapi.js +2 -0
  179. package/dist/packages/normalizer/src/page.d.ts +13 -0
  180. package/dist/packages/normalizer/src/page.js +150 -0
  181. package/dist/packages/normalizer/src/pitfall-extractor.d.ts +6 -0
  182. package/dist/packages/normalizer/src/pitfall-extractor.js +153 -0
  183. package/dist/packages/normalizer/src/slicer.d.ts +30 -0
  184. package/dist/packages/normalizer/src/slicer.js +360 -0
  185. package/dist/packages/retrieval/src/engine.d.ts +17 -0
  186. package/dist/packages/retrieval/src/engine.js +93 -0
  187. package/{packages/retrieval/src/index.ts → dist/packages/retrieval/src/index.d.ts} +0 -1
  188. package/dist/packages/retrieval/src/index.js +6 -0
  189. package/dist/packages/retrieval/src/intent.d.ts +6 -0
  190. package/dist/packages/retrieval/src/intent.js +39 -0
  191. package/dist/packages/retrieval/src/packer.d.ts +2 -0
  192. package/dist/packages/retrieval/src/packer.js +108 -0
  193. package/dist/packages/retrieval/src/recipe-engine.d.ts +18 -0
  194. package/dist/packages/retrieval/src/recipe-engine.js +265 -0
  195. package/dist/packages/retrieval/src/scorer.d.ts +13 -0
  196. package/dist/packages/retrieval/src/scorer.js +110 -0
  197. package/dist/packages/retrieval/src/weights.d.ts +3 -0
  198. package/dist/packages/retrieval/src/weights.js +28 -0
  199. package/dist/packages/security/src/annotations.d.ts +10 -0
  200. package/dist/packages/security/src/annotations.js +100 -0
  201. package/dist/packages/security/src/index.js +2 -0
  202. package/dist/packages/security/src/ssrf.d.ts +17 -0
  203. package/dist/packages/security/src/ssrf.js +132 -0
  204. package/dist/packages/shared/src/errors.d.ts +22 -0
  205. package/dist/packages/shared/src/errors.js +44 -0
  206. package/dist/packages/shared/src/hashing.d.ts +3 -0
  207. package/dist/packages/shared/src/hashing.js +21 -0
  208. package/dist/packages/shared/src/index.js +3 -0
  209. package/dist/packages/shared/src/types.d.ts +715 -0
  210. package/dist/packages/shared/src/types.js +1 -0
  211. package/dist/packages/storage/src/db.d.ts +11 -0
  212. package/dist/packages/storage/src/db.js +128 -0
  213. package/dist/packages/storage/src/index.js +10 -0
  214. package/dist/packages/storage/src/interfaces.d.ts +83 -0
  215. package/dist/packages/storage/src/interfaces.js +1 -0
  216. package/dist/packages/storage/src/repositories/api-repository.d.ts +16 -0
  217. package/dist/packages/storage/src/repositories/api-repository.js +169 -0
  218. package/dist/packages/storage/src/repositories/chunk-repository.d.ts +32 -0
  219. package/dist/packages/storage/src/repositories/chunk-repository.js +250 -0
  220. package/dist/packages/storage/src/repositories/example-repository.d.ts +16 -0
  221. package/dist/packages/storage/src/repositories/example-repository.js +158 -0
  222. package/dist/packages/storage/src/repositories/page-repository.d.ts +16 -0
  223. package/dist/packages/storage/src/repositories/page-repository.js +161 -0
  224. package/dist/packages/storage/src/repositories/pitfall-repository.d.ts +15 -0
  225. package/dist/packages/storage/src/repositories/pitfall-repository.js +144 -0
  226. package/dist/packages/storage/src/repositories/source-repository.d.ts +33 -0
  227. package/dist/packages/storage/src/repositories/source-repository.js +153 -0
  228. package/dist/packages/storage/src/repository.d.ts +92 -0
  229. package/dist/packages/storage/src/repository.js +157 -0
  230. package/dist/packages/storage/src/schema.d.ts +2 -0
  231. package/{packages/storage/src/schema.ts → dist/packages/storage/src/schema.js} +0 -3
  232. package/dist/packages/storage/src/search-tokens.d.ts +6 -0
  233. package/dist/packages/storage/src/search-tokens.js +26 -0
  234. package/dist/packages/verification/src/diff-engine.d.ts +18 -0
  235. package/dist/packages/verification/src/diff-engine.js +218 -0
  236. package/dist/packages/verification/src/extractor.d.ts +29 -0
  237. package/dist/packages/verification/src/extractor.js +302 -0
  238. package/dist/packages/verification/src/impact-scanner.d.ts +9 -0
  239. package/dist/packages/verification/src/impact-scanner.js +181 -0
  240. package/dist/packages/verification/src/index.js +5 -0
  241. package/dist/packages/verification/src/services.d.ts +55 -0
  242. package/dist/packages/verification/src/services.js +189 -0
  243. package/dist/packages/verification/src/verifier.d.ts +15 -0
  244. package/dist/packages/verification/src/verifier.js +315 -0
  245. package/dist/packages/workspace/src/detector.d.ts +7 -0
  246. package/dist/packages/workspace/src/detector.js +117 -0
  247. package/dist/packages/workspace/src/ecosystems/cargo.d.ts +10 -0
  248. package/dist/packages/workspace/src/ecosystems/cargo.js +69 -0
  249. package/dist/packages/workspace/src/ecosystems/composer.d.ts +7 -0
  250. package/dist/packages/workspace/src/ecosystems/composer.js +40 -0
  251. package/dist/packages/workspace/src/ecosystems/go.d.ts +7 -0
  252. package/dist/packages/workspace/src/ecosystems/go.js +49 -0
  253. package/{packages/workspace/src/ecosystems/index.ts → dist/packages/workspace/src/ecosystems/index.d.ts} +2 -24
  254. package/dist/packages/workspace/src/ecosystems/index.js +21 -0
  255. package/dist/packages/workspace/src/ecosystems/maven.d.ts +7 -0
  256. package/dist/packages/workspace/src/ecosystems/maven.js +28 -0
  257. package/dist/packages/workspace/src/ecosystems/npm.d.ts +10 -0
  258. package/dist/packages/workspace/src/ecosystems/npm.js +73 -0
  259. package/dist/packages/workspace/src/ecosystems/pub.d.ts +7 -0
  260. package/dist/packages/workspace/src/ecosystems/pub.js +34 -0
  261. package/dist/packages/workspace/src/ecosystems/pypi.d.ts +9 -0
  262. package/dist/packages/workspace/src/ecosystems/pypi.js +94 -0
  263. package/dist/packages/workspace/src/ecosystems/rubygems.d.ts +7 -0
  264. package/dist/packages/workspace/src/ecosystems/rubygems.js +25 -0
  265. package/dist/packages/workspace/src/ecosystems/types.d.ts +9 -0
  266. package/dist/packages/workspace/src/ecosystems/types.js +1 -0
  267. package/dist/packages/workspace/src/index.js +5 -0
  268. package/dist/packages/workspace/src/lockfile.d.ts +21 -0
  269. package/dist/packages/workspace/src/lockfile.js +153 -0
  270. package/dist/packages/workspace/src/resolver.d.ts +39 -0
  271. package/dist/packages/workspace/src/resolver.js +164 -0
  272. package/dist/packages/workspace/src/semver.d.ts +33 -0
  273. package/dist/packages/workspace/src/semver.js +235 -0
  274. package/package.json +13 -9
  275. package/apps/cli/bin/docorbit.js +0 -8
  276. package/apps/cli/src/commands/add.ts +0 -44
  277. package/apps/cli/src/commands/api.ts +0 -38
  278. package/apps/cli/src/commands/context.ts +0 -47
  279. package/apps/cli/src/commands/dashboard.ts +0 -55
  280. package/apps/cli/src/commands/diff.ts +0 -30
  281. package/apps/cli/src/commands/evaluate.ts +0 -133
  282. package/apps/cli/src/commands/examples.ts +0 -39
  283. package/apps/cli/src/commands/export.ts +0 -89
  284. package/apps/cli/src/commands/impact.ts +0 -31
  285. package/apps/cli/src/commands/init.ts +0 -69
  286. package/apps/cli/src/commands/inspect.ts +0 -30
  287. package/apps/cli/src/commands/mcp.ts +0 -72
  288. package/apps/cli/src/commands/pitfalls.ts +0 -38
  289. package/apps/cli/src/commands/recipes.ts +0 -35
  290. package/apps/cli/src/commands/search.ts +0 -48
  291. package/apps/cli/src/commands/update.ts +0 -73
  292. package/apps/cli/src/commands/verify.ts +0 -48
  293. package/apps/cli/src/formatters/colors.ts +0 -23
  294. package/apps/cli/src/formatters/inspection.ts +0 -102
  295. package/apps/cli/src/formatters/knowledge.ts +0 -272
  296. package/apps/cli/src/formatters/retrieval.ts +0 -74
  297. package/apps/cli/src/formatters/verification.ts +0 -126
  298. package/apps/cli/src/index.ts +0 -409
  299. package/packages/core/src/dashboard/server.ts +0 -314
  300. package/packages/core/src/implementation-service.ts +0 -451
  301. package/packages/core/src/inspector.ts +0 -71
  302. package/packages/core/src/pipeline.ts +0 -331
  303. package/packages/crawler/src/config.ts +0 -12
  304. package/packages/crawler/src/fetcher.ts +0 -185
  305. package/packages/discovery/src/index.ts +0 -31
  306. package/packages/discovery/src/provider.ts +0 -47
  307. package/packages/discovery/src/providers/generic.ts +0 -98
  308. package/packages/discovery/src/providers/github.ts +0 -61
  309. package/packages/discovery/src/providers/llms-txt.ts +0 -73
  310. package/packages/discovery/src/providers/markdown.ts +0 -48
  311. package/packages/discovery/src/providers/openapi.ts +0 -91
  312. package/packages/discovery/src/providers/sitemap.ts +0 -62
  313. package/packages/discovery/src/providers/skill.ts +0 -54
  314. package/packages/discovery/src/ranker.ts +0 -123
  315. package/packages/evaluation/src/dataset.ts +0 -963
  316. package/packages/evaluation/src/runner.ts +0 -241
  317. package/packages/evaluation/src/strategies/context7-runner.ts +0 -269
  318. package/packages/evaluation/src/strategies/docorbit-runner.ts +0 -228
  319. package/packages/evaluation/src/strategies/firecrawl-runner.ts +0 -172
  320. package/packages/evaluation/src/strategies/web-search-runner.ts +0 -194
  321. package/packages/evaluation/src/types.ts +0 -34
  322. package/packages/evaluation/src/version-matcher.ts +0 -73
  323. package/packages/export/src/agents-md.ts +0 -200
  324. package/packages/export/src/claude-md.ts +0 -141
  325. package/packages/export/src/docs-map.ts +0 -150
  326. package/packages/export/src/llms-txt.ts +0 -96
  327. package/packages/export/src/service.ts +0 -250
  328. package/packages/export/src/skill-md.ts +0 -128
  329. package/packages/mcp/src/resources/index.ts +0 -189
  330. package/packages/mcp/src/server.ts +0 -278
  331. package/packages/mcp/src/tools/analyze-impact.ts +0 -74
  332. package/packages/mcp/src/tools/check-api.ts +0 -86
  333. package/packages/mcp/src/tools/diff-docs.ts +0 -68
  334. package/packages/mcp/src/tools/export-context.ts +0 -73
  335. package/packages/mcp/src/tools/find-api.ts +0 -99
  336. package/packages/mcp/src/tools/find-example.ts +0 -100
  337. package/packages/mcp/src/tools/find-pitfall.ts +0 -94
  338. package/packages/mcp/src/tools/find-recipe.ts +0 -98
  339. package/packages/mcp/src/tools/get-doc.ts +0 -130
  340. package/packages/mcp/src/tools/get-docs-map.ts +0 -64
  341. package/packages/mcp/src/tools/get-version.ts +0 -118
  342. package/packages/mcp/src/tools/implementation-context.ts +0 -88
  343. package/packages/mcp/src/tools/index.ts +0 -59
  344. package/packages/mcp/src/tools/list-sources.ts +0 -85
  345. package/packages/mcp/src/tools/search-docs.ts +0 -123
  346. package/packages/mcp/src/tools/types.ts +0 -28
  347. package/packages/mcp/src/transports/http.ts +0 -256
  348. package/packages/mcp/src/transports/stdio.ts +0 -105
  349. package/packages/mcp/src/types.ts +0 -102
  350. package/packages/normalizer/src/example-indexer.ts +0 -240
  351. package/packages/normalizer/src/html.ts +0 -253
  352. package/packages/normalizer/src/llms.ts +0 -83
  353. package/packages/normalizer/src/openapi/endpoint-parser.ts +0 -406
  354. package/packages/normalizer/src/openapi/schema-resolver.ts +0 -111
  355. package/packages/normalizer/src/page.ts +0 -184
  356. package/packages/normalizer/src/pitfall-extractor.ts +0 -190
  357. package/packages/normalizer/src/slicer.ts +0 -455
  358. package/packages/retrieval/src/engine.ts +0 -120
  359. package/packages/retrieval/src/intent.ts +0 -43
  360. package/packages/retrieval/src/packer.ts +0 -145
  361. package/packages/retrieval/src/recipe-engine.ts +0 -313
  362. package/packages/retrieval/src/scorer.ts +0 -139
  363. package/packages/retrieval/src/weights.ts +0 -31
  364. package/packages/security/src/annotations.ts +0 -112
  365. package/packages/security/src/ssrf.ts +0 -153
  366. package/packages/shared/src/errors.ts +0 -53
  367. package/packages/shared/src/hashing.ts +0 -23
  368. package/packages/shared/src/types.ts +0 -881
  369. package/packages/storage/src/db.ts +0 -72
  370. package/packages/storage/src/interfaces.ts +0 -115
  371. package/packages/storage/src/repositories/api-repository.ts +0 -219
  372. package/packages/storage/src/repositories/chunk-repository.ts +0 -316
  373. package/packages/storage/src/repositories/example-repository.ts +0 -206
  374. package/packages/storage/src/repositories/page-repository.ts +0 -205
  375. package/packages/storage/src/repositories/pitfall-repository.ts +0 -188
  376. package/packages/storage/src/repositories/source-repository.ts +0 -205
  377. package/packages/storage/src/repository.ts +0 -256
  378. package/packages/storage/src/search-tokens.ts +0 -28
  379. package/packages/verification/src/diff-engine.ts +0 -258
  380. package/packages/verification/src/extractor.ts +0 -339
  381. package/packages/verification/src/impact-scanner.ts +0 -203
  382. package/packages/verification/src/services.ts +0 -238
  383. package/packages/verification/src/verifier.ts +0 -375
  384. package/packages/workspace/src/detector.ts +0 -143
  385. package/packages/workspace/src/ecosystems/cargo.ts +0 -84
  386. package/packages/workspace/src/ecosystems/composer.ts +0 -42
  387. package/packages/workspace/src/ecosystems/go.ts +0 -54
  388. package/packages/workspace/src/ecosystems/maven.ts +0 -34
  389. package/packages/workspace/src/ecosystems/npm.ts +0 -83
  390. package/packages/workspace/src/ecosystems/pub.ts +0 -40
  391. package/packages/workspace/src/ecosystems/pypi.ts +0 -100
  392. package/packages/workspace/src/ecosystems/rubygems.ts +0 -30
  393. package/packages/workspace/src/ecosystems/types.ts +0 -18
  394. package/packages/workspace/src/lockfile.ts +0 -194
  395. package/packages/workspace/src/resolver.ts +0 -234
  396. package/packages/workspace/src/semver.ts +0 -259
  397. /package/{packages/crawler/src/index.ts → dist/packages/crawler/src/index.d.ts} +0 -0
  398. /package/{packages/evaluation/src/index.ts → dist/packages/evaluation/src/index.d.ts} +0 -0
  399. /package/{packages/export/src/index.ts → dist/packages/export/src/index.d.ts} +0 -0
  400. /package/{packages/normalizer/src/openapi.ts → dist/packages/normalizer/src/openapi.d.ts} +0 -0
  401. /package/{packages/security/src/index.ts → dist/packages/security/src/index.d.ts} +0 -0
  402. /package/{packages/shared/src/index.ts → dist/packages/shared/src/index.d.ts} +0 -0
  403. /package/{packages/storage/src/index.ts → dist/packages/storage/src/index.d.ts} +0 -0
  404. /package/{packages/verification/src/index.ts → dist/packages/verification/src/index.d.ts} +0 -0
  405. /package/{packages/workspace/src/index.ts → dist/packages/workspace/src/index.d.ts} +0 -0
@@ -1,881 +0,0 @@
1
- export type SourceType =
2
- | 'llms_txt'
3
- | 'llms_full_txt'
4
- | 'openapi'
5
- | 'markdown'
6
- | 'sitemap'
7
- | 'github'
8
- | 'skill'
9
- | 'web';
10
-
11
- export type SourceAuthority = 'official' | 'community' | 'third_party';
12
-
13
- export type SourceStatus = 'valid' | 'invalid' | 'unreachable';
14
-
15
- export interface DiscoveredSource {
16
- url: string;
17
- type: SourceType;
18
- discoveredBy: string;
19
- status: SourceStatus;
20
- contentType?: string;
21
- confidence: number; // 0.0 to 1.0
22
- authority: SourceAuthority;
23
- machineReadable: boolean;
24
- metadata?: Record<string, unknown>;
25
- }
26
-
27
- export type SourcePurpose =
28
- | 'navigation' // Site structure, link catalogs, sitemaps
29
- | 'conceptual' // Guides, tutorials, architectural explanations
30
- | 'api' // Structured schemas, endpoints, parameter constraints
31
- | 'examples' // Working code blocks, implementation snippets
32
- | 'implementation'; // Task-oriented end-to-end workflows
33
-
34
- export interface SourceRankResult {
35
- purpose: SourcePurpose;
36
- recommended: DiscoveredSource | null;
37
- ranked: DiscoveredSource[];
38
- rationale: string;
39
- }
40
-
41
- export interface Heading {
42
- level: number;
43
- text: string;
44
- anchor: string;
45
- }
46
-
47
- export interface Link {
48
- text: string;
49
- url: string;
50
- isExternal: boolean;
51
- }
52
-
53
- export interface CodeExample {
54
- id: string;
55
- language: string;
56
- code: string;
57
- caption?: string;
58
- }
59
-
60
- export interface SecurityAnnotation {
61
- type: 'prompt_injection_suspected' | 'unsafe_link' | 'suspicious_instruction';
62
- location?: string;
63
- evidence: string;
64
- severity: 'low' | 'medium' | 'high';
65
- }
66
-
67
- export interface Provenance {
68
- sourceUrl: string;
69
- targetUrl: string;
70
- fetchedAt: string;
71
- discoveredBy: string;
72
- contentHash: string;
73
- snapshotId?: string;
74
- }
75
-
76
- export interface NormalizedPage {
77
- id: string;
78
- sourceId: string;
79
- title: string;
80
- url: string;
81
- content: string; // Deterministic, sanitized Markdown
82
- headings: Heading[];
83
- links: Link[];
84
- codeExamples: CodeExample[];
85
- contentHash: string; // SHA-256 of normalized content
86
- fetchedAt: string;
87
- rawBytes: number;
88
- estimatedTokens: number;
89
- securityAnnotations: SecurityAnnotation[];
90
- provenance?: Provenance;
91
- }
92
-
93
- export interface LlmsLink {
94
- title: string;
95
- url: string;
96
- description?: string;
97
- }
98
-
99
- export interface LlmsSection {
100
- name: string;
101
- links: LlmsLink[];
102
- }
103
-
104
- export interface LlmsDocument {
105
- title?: string;
106
- summary?: string;
107
- sections: LlmsSection[];
108
- rawContent: string;
109
- }
110
-
111
- export interface OpenApiSummary {
112
- specVersion: string;
113
- title: string;
114
- description?: string;
115
- servers: string[];
116
- pathCount: number;
117
- sourceUrl: string;
118
- rawJson?: Record<string, unknown>;
119
- }
120
-
121
- export interface CrawlerConfig {
122
- maxPages: number;
123
- maxDepth: number;
124
- maxBytesPerResponse: number;
125
- timeoutMs: number;
126
- maxRedirects: number;
127
- concurrency: number;
128
- allowedProtocols: string[];
129
- userAgent: string;
130
- }
131
-
132
- export interface Target {
133
- type: 'url' | 'library' | 'package' | 'git' | 'local';
134
- value: string;
135
- normalizedUrl?: string;
136
- metadata?: Record<string, unknown>;
137
- }
138
-
139
- export interface CrawlPolicy {
140
- purpose?: SourcePurpose;
141
- maxPages: number;
142
- maxDepth: number;
143
- followLlmsReferences: boolean;
144
- followExternalDomains: boolean;
145
- }
146
-
147
- // --- Milestone 2: Semantic Slicing & Retrieval Models ---
148
-
149
- export type ChunkType = 'prose' | 'code' | 'api' | 'warning' | 'example' | 'mixed';
150
-
151
- export interface DocumentChunk {
152
- id: string;
153
- pageId: string;
154
- snapshotId: string;
155
- title?: string;
156
- sectionPath: string[]; // Heading hierarchy breadcrumbs e.g. ['Authentication', 'OAuth 2.0', 'Tokens']
157
- content: string;
158
- chunkType: ChunkType;
159
- language?: string;
160
- tokenEstimate: number; // Heuristic estimate
161
- ordinal: number;
162
- contentHash: string;
163
- provenance: Provenance;
164
- docVersion?: string; // Optional version tag (e.g. 'v14', '14.2', 'latest')
165
- }
166
-
167
-
168
- export interface ChunkCode {
169
- id: string;
170
- chunkId: string;
171
- language?: string;
172
- code: string;
173
- }
174
-
175
- export type SymbolKind = 'function' | 'class' | 'interface' | 'endpoint' | 'type' | 'variable' | 'config';
176
-
177
- export interface SymbolReference {
178
- id: string;
179
- chunkId: string;
180
- name: string;
181
- kind: SymbolKind;
182
- }
183
-
184
- export type ChunkRelationshipType =
185
- | 'parent_section'
186
- | 'next_chunk'
187
- | 'previous_chunk'
188
- | 'contains_code'
189
- | 'explains_code';
190
-
191
- export interface ChunkRelationship {
192
- sourceChunkId: string;
193
- targetChunkId: string;
194
- type: ChunkRelationshipType;
195
- }
196
-
197
- export interface ChunkingConfig {
198
- targetTokens: number;
199
- maxTokens: number;
200
- overlapTokens: number;
201
- }
202
-
203
- export type QueryIntent =
204
- | 'api'
205
- | 'examples'
206
- | 'implementation'
207
- | 'conceptual'
208
- | 'troubleshooting'
209
- | 'configuration';
210
-
211
- export interface ScoringWeights {
212
- version: string;
213
- bm25Weight: number;
214
- exactPhraseBonus: number;
215
- titleBonus: number;
216
- sectionPathBonus: number;
217
- symbolMatchBonus: number;
218
- intentTypeBonus: number;
219
- versionBonus: number; // Bonus when chunk version matches project dependency version
220
- authorityWeights: Record<SourceAuthority, number>;
221
- }
222
-
223
- export interface SearchResult {
224
- chunk: DocumentChunk;
225
- score: number;
226
- matchReasons: string[];
227
- symbols: SymbolReference[];
228
- codeSnippets: ChunkCode[];
229
- }
230
-
231
- export interface SearchOptions {
232
- limit?: number;
233
- chunkType?: ChunkType;
234
- snapshotId?: string;
235
- sourceId?: string;
236
- minScore?: number;
237
- intent?: QueryIntent;
238
- weights?: Partial<ScoringWeights>;
239
- docVersion?: string; // Filter/boost by documentation version (e.g. 'v14')
240
- projectDir?: string; // Path to project workspace to resolve dependencies automatically
241
- }
242
-
243
- export interface ContextPackage {
244
- task: string;
245
- detectedIntent: QueryIntent;
246
- totalEstimatedTokens: number;
247
- tokenBudget: number;
248
- chunks: DocumentChunk[];
249
- markdown: string;
250
- sources: string[];
251
- warnings: string[];
252
- resolvedVersions?: Record<string, VersionResolutionResult>;
253
- }
254
-
255
- export interface ContextOptions {
256
- tokenBudget?: number; // Target token budget (default 3000)
257
- maxChunks?: number;
258
- intent?: QueryIntent;
259
- weights?: Partial<ScoringWeights>;
260
- redundancyPenalty?: number; // 0.0 to 1.0 penalty for chunks covering identical sections
261
- snapshotId?: string;
262
- docVersion?: string; // Target documentation version
263
- projectDir?: string; // Path to project workspace
264
- }
265
-
266
- // --- Milestone 3: Version Intelligence & Project Awareness ---
267
-
268
- export type Ecosystem =
269
- | 'npm'
270
- | 'cargo'
271
- | 'go'
272
- | 'pypi'
273
- | 'maven'
274
- | 'rubygems'
275
- | 'composer'
276
- | 'pub';
277
-
278
- export interface ProjectDependency {
279
- name: string;
280
- ecosystem: Ecosystem;
281
- requestedVersion: string;
282
- resolvedVersion?: string;
283
- sourceFile: string;
284
- packagePath?: string;
285
- isDev?: boolean;
286
- }
287
-
288
- export interface WorkspaceScanResult {
289
- workspaceRoot: string;
290
- ecosystems: Ecosystem[];
291
- manifestsFound: string[];
292
- dependencies: ProjectDependency[];
293
- }
294
-
295
- export type DocVersionMatch =
296
- | 'exact'
297
- | 'major_minor'
298
- | 'major'
299
- | 'range'
300
- | 'latest_fallback'
301
- | 'unresolved';
302
-
303
- export interface VersionResolutionResult {
304
- dependencyName: string;
305
- projectVersion: string;
306
- selectedDocVersion: string;
307
- matchType: DocVersionMatch;
308
- confidence: number;
309
- availableVersions: string[];
310
- }
311
-
312
- export interface LockedDoc {
313
- name: string;
314
- ecosystem: Ecosystem;
315
- requestedVersion: string;
316
- resolvedDependencyVersion: string;
317
- sourceFile: string;
318
- docSourceUrl: string;
319
- docVersion: string;
320
- matchType: DocVersionMatch;
321
- confidence: number;
322
- snapshotId: string;
323
- snapshotHash: string;
324
- retrievedAt: string;
325
- metadata?: Record<string, unknown>;
326
- }
327
-
328
- export interface DocsLock {
329
- version: 1;
330
- workspaceRoot: string;
331
- dependencies: Record<string, LockedDoc>;
332
- }
333
-
334
- // --- Milestone 4: Structured Implementation Knowledge ---
335
-
336
- export type EvidenceLevel =
337
- | 'documented_fact'
338
- | 'inferred_relationship'
339
- | 'missing_information';
340
-
341
- export interface ApiParameter {
342
- name: string;
343
- in: 'path' | 'query' | 'header' | 'cookie';
344
- required: boolean;
345
- type?: string;
346
- description?: string;
347
- default?: unknown;
348
- schema?: Record<string, unknown>;
349
- example?: unknown;
350
- }
351
-
352
- export interface ApiSchema {
353
- type?: string;
354
- properties?: Record<string, unknown>;
355
- required?: string[];
356
- description?: string;
357
- items?: Record<string, unknown>;
358
- raw?: Record<string, unknown>;
359
- }
360
-
361
- export interface ApiResponse {
362
- statusCode: string; // e.g. '200', '201', '400', 'default'
363
- description: string;
364
- contentType?: string;
365
- schema?: ApiSchema;
366
- example?: unknown;
367
- }
368
-
369
- export interface ApiAuthScheme {
370
- type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'mutualTLS';
371
- name?: string;
372
- in?: 'header' | 'query' | 'cookie';
373
- scheme?: string; // e.g. 'bearer', 'basic'
374
- bearerFormat?: string; // e.g. 'JWT'
375
- description?: string;
376
- }
377
-
378
- export interface ApiErrorResponse {
379
- statusCode: string;
380
- description: string;
381
- schema?: ApiSchema;
382
- example?: unknown;
383
- }
384
-
385
- export interface ApiPaginationMetadata {
386
- type: 'cursor' | 'offset' | 'page' | 'link_header' | 'unknown';
387
- parameters: string[]; // e.g. ['starting_after', 'limit']
388
- responseFields: string[]; // e.g. ['has_more', 'data']
389
- }
390
-
391
- export interface ApiEndpoint {
392
- id: string;
393
- pageId: string;
394
- snapshotId: string;
395
- method: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'options';
396
- path: string;
397
- summary?: string;
398
- description?: string;
399
- operationId?: string;
400
- parameters: ApiParameter[];
401
- requestSchema?: ApiSchema;
402
- responseSchema?: Record<string, ApiResponse>;
403
- auth: ApiAuthScheme[];
404
- errors: ApiErrorResponse[];
405
- pagination?: ApiPaginationMetadata;
406
- deprecated: boolean;
407
- docVersion?: string;
408
- provenance?: Provenance;
409
- createdAt: string;
410
- }
411
-
412
- export interface IndexedExample {
413
- id: string;
414
- chunkId?: string;
415
- pageId: string;
416
- snapshotId: string;
417
- language: string;
418
- framework?: string;
419
- task: string;
420
- code: string;
421
- sourceUrl: string;
422
- sourceAuthority: SourceAuthority;
423
- relatedApi?: string; // e.g. 'POST /v1/webhook_endpoints'
424
- relatedSymbol?: string; // e.g. 'constructEvent'
425
- docVersion?: string;
426
- provenance?: Provenance;
427
- createdAt: string;
428
- }
429
-
430
- export type PitfallKind =
431
- | 'deprecated'
432
- | 'removed'
433
- | 'breaking_change'
434
- | 'server_only'
435
- | 'client_only'
436
- | 'required_config'
437
- | 'permission'
438
- | 'rate_limit'
439
- | 'runtime_restriction'
440
- | 'security';
441
-
442
- export interface Pitfall {
443
- id: string;
444
- chunkId?: string;
445
- pageId: string;
446
- snapshotId: string;
447
- kind: PitfallKind;
448
- title: string;
449
- content: string;
450
- relatedApi?: string;
451
- relatedSymbol?: string;
452
- docVersion?: string;
453
- provenance?: Provenance;
454
- createdAt: string;
455
- }
456
-
457
- export interface RecipeStep {
458
- step: number;
459
- title: string;
460
- description: string;
461
- evidenceLevel: EvidenceLevel;
462
- apiEndpoint?: string; // e.g. 'POST /v1/subscriptions'
463
- exampleCode?: string;
464
- pitfalls?: string[];
465
- sourceUrl?: string;
466
- sourceChunkIds?: string[];
467
- }
468
-
469
- export interface RecipeValidationStep {
470
- step: number;
471
- description: string;
472
- evidenceLevel: EvidenceLevel;
473
- expectedResponse?: string;
474
- testPattern?: string;
475
- sourceUrl?: string;
476
- }
477
-
478
- export interface Recipe {
479
- id: string;
480
- goal: string;
481
- prerequisites: Array<{ text: string; evidenceLevel: EvidenceLevel; sourceUrl?: string }>;
482
- orderedSteps: RecipeStep[];
483
- requiredApis: string[];
484
- examples: string[];
485
- pitfalls: string[];
486
- validationSteps: RecipeValidationStep[];
487
- sources: string[];
488
- docVersion?: string;
489
- confidence: number;
490
- }
491
-
492
- export interface ApiCommandOptions {
493
- method?: string;
494
- docVersion?: string;
495
- projectDir?: string;
496
- limit?: number;
497
- json?: boolean;
498
- dbPath?: string;
499
- }
500
-
501
- export interface ExamplesCommandOptions {
502
- language?: string;
503
- framework?: string;
504
- docVersion?: string;
505
- projectDir?: string;
506
- limit?: number;
507
- json?: boolean;
508
- dbPath?: string;
509
- }
510
-
511
- export interface PitfallsCommandOptions {
512
- kind?: PitfallKind;
513
- docVersion?: string;
514
- projectDir?: string;
515
- limit?: number;
516
- json?: boolean;
517
- dbPath?: string;
518
- }
519
-
520
- export interface RecipesCommandOptions {
521
- docVersion?: string;
522
- projectDir?: string;
523
- json?: boolean;
524
- dbPath?: string;
525
- }
526
-
527
- // --- Milestone 6 Verification, Diff & Impact Types ---
528
-
529
- export type VerificationRule =
530
- | 'endpoint_validity'
531
- | 'method_validity'
532
- | 'required_parameters'
533
- | 'schema_compatibility'
534
- | 'deprecation'
535
- | 'removed_api'
536
- | 'version_mismatch'
537
- | 'response_assumption';
538
-
539
- export type VerificationSeverity = 'error' | 'warning' | 'info';
540
-
541
- export type VerificationStatus =
542
- | 'verified'
543
- | 'warning'
544
- | 'mismatch'
545
- | 'insufficient_evidence';
546
-
547
- export interface VerificationFinding {
548
- id: string;
549
- rule: VerificationRule;
550
- severity: VerificationSeverity;
551
- status: VerificationStatus;
552
- message: string;
553
- location?: {
554
- line?: number;
555
- column?: number;
556
- snippet?: string;
557
- };
558
- expected?: unknown;
559
- actual?: unknown;
560
- docVersion?: string;
561
- provenance?: {
562
- sourceUrl?: string;
563
- sourceAuthority?: string;
564
- endpointId?: string;
565
- pitfallId?: string;
566
- };
567
- confidence: number;
568
- }
569
-
570
- export interface ExtractedApiCall {
571
- endpointPath?: string;
572
- method?: string;
573
- parameters?: Record<string, unknown>;
574
- bodyFields?: string[];
575
- headers?: Record<string, string>;
576
- responseFieldsAccessed?: string[];
577
- symbol?: string;
578
- rawSnippet: string;
579
- line?: number;
580
- language?: string;
581
- isDynamicOrAmbiguous?: boolean;
582
- reasonIfAmbiguous?: string;
583
- }
584
-
585
- export interface VerificationResult {
586
- verdict: VerificationStatus;
587
- summary: string;
588
- targetVersion?: string;
589
- projectVersion?: string;
590
- matchedLibrary?: string;
591
- findings: VerificationFinding[];
592
- extractedCalls: ExtractedApiCall[];
593
- totalChecks: number;
594
- untrusted: true;
595
- }
596
-
597
- export interface EndpointDiffItem {
598
- path: string;
599
- method: string;
600
- changeType: 'added' | 'removed' | 'deprecated' | 'modified';
601
- changes?: string[];
602
- endpoint: ApiEndpoint;
603
- previousEndpoint?: ApiEndpoint;
604
- }
605
-
606
- export interface DocDiffResult {
607
- fromVersion?: string;
608
- toVersion?: string;
609
- fromSnapshotId?: string;
610
- toSnapshotId?: string;
611
- sourceId?: string;
612
- summary: {
613
- endpointsAdded: number;
614
- endpointsRemoved: number;
615
- endpointsModified: number;
616
- endpointsDeprecated: number;
617
- pitfallsAdded: number;
618
- pitfallsRemoved: number;
619
- contentChanged: number;
620
- };
621
- apiChanges: EndpointDiffItem[];
622
- pitfallChanges: Array<{
623
- changeType: 'added' | 'removed';
624
- pitfall: Pitfall;
625
- }>;
626
- contentChanges: Array<{
627
- title: string;
628
- changeType: 'added' | 'removed' | 'modified';
629
- summary: string;
630
- }>;
631
- retrievedAt: string;
632
- }
633
-
634
- export interface AffectedFileLocation {
635
- filePath: string;
636
- line: number;
637
- column?: number;
638
- snippet: string;
639
- reason: string;
640
- matchedPattern: string;
641
- changeCategory:
642
- | 'removed_api'
643
- | 'deprecated_api'
644
- | 'modified_parameters'
645
- | 'breaking_pitfall'
646
- | 'content_change';
647
- certainty: 'high' | 'medium' | 'heuristic';
648
- confidence: number;
649
- relatedChange: {
650
- endpoint?: string;
651
- symbol?: string;
652
- pitfallTitle?: string;
653
- };
654
- }
655
-
656
- export interface ImpactAnalysisResult {
657
- projectDir: string;
658
- fromVersion?: string;
659
- toVersion?: string;
660
- totalFilesScanned: number;
661
- affectedFilesCount: number;
662
- affectedLocations: AffectedFileLocation[];
663
- summary: string;
664
- }
665
-
666
- export interface VerifyCommandOptions {
667
- docVersion?: string;
668
- projectDir?: string;
669
- library?: string;
670
- language?: string;
671
- json?: boolean;
672
- dbPath?: string;
673
- }
674
-
675
- export interface DiffCommandOptions {
676
- from?: string;
677
- to?: string;
678
- source?: string;
679
- json?: boolean;
680
- dbPath?: string;
681
- }
682
-
683
- export interface ImpactCommandOptions {
684
- from?: string;
685
- to?: string;
686
- projectDir?: string;
687
- source?: string;
688
- json?: boolean;
689
- dbPath?: string;
690
- }
691
-
692
- // --- Milestone 7: Web Dashboard & Agent File Exports ---
693
-
694
- export type ExportFormat =
695
- | 'agents.md'
696
- | 'claude.md'
697
- | 'skill.md'
698
- | 'llms.txt'
699
- | 'docs-map.md';
700
-
701
- export interface ExportOptions {
702
- format: ExportFormat;
703
- projectDir?: string;
704
- targetSource?: string;
705
- docVersion?: string;
706
- outputPath?: string;
707
- stdout?: boolean;
708
- tokenBudget?: number;
709
- dbPath?: string;
710
- }
711
-
712
- export interface ExportResult {
713
- format: ExportFormat;
714
- content: string;
715
- outputPath?: string;
716
- metadata: {
717
- generatedAt: string;
718
- sources: string[];
719
- docVersion?: string;
720
- projectDependencies: Array<{ name: string; version: string; matchType: string }>;
721
- totalApis: number;
722
- totalPitfalls: number;
723
- totalExamples: number;
724
- tokenEstimate: number;
725
- untrusted: true;
726
- };
727
- }
728
-
729
- export interface DocumentationMapNode {
730
- id: string;
731
- title: string;
732
- url: string;
733
- version?: string;
734
- sourceId: string;
735
- chunkCount: number;
736
- estimatedTokens: number;
737
- headings: string[];
738
- apis?: string[];
739
- pitfallCount?: number;
740
- exampleCount?: number;
741
- untrusted: true;
742
- }
743
-
744
- export interface DocumentationMapResult {
745
- totalSources: number;
746
- totalPages: number;
747
- totalChunks: number;
748
- totalEstimatedTokens: number;
749
- sources: Array<{
750
- id: string;
751
- url: string;
752
- version?: string;
753
- pageCount: number;
754
- chunkCount: number;
755
- }>;
756
- pages: DocumentationMapNode[];
757
- markdownTree: string;
758
- untrusted: true;
759
- }
760
-
761
- export interface DashboardOptions {
762
- port?: number;
763
- host?: string;
764
- dbPath?: string;
765
- projectDir?: string;
766
- open?: boolean;
767
- }
768
-
769
- export interface DashboardStats {
770
- totalSources: number;
771
- totalPages: number;
772
- totalChunks: number;
773
- totalApis: number;
774
- totalPitfalls: number;
775
- totalExamples: number;
776
- totalRecipes: number;
777
- activeVersions: string[];
778
- dbPath: string;
779
- untrusted: true;
780
- }
781
-
782
- // --- Milestone 8 Evaluation & Benchmarking Types ---
783
-
784
- export type AgentEvaluationStrategy =
785
- | 'agent_official_docs_fetch'
786
- | 'agent_context7'
787
- | 'agent_docorbit'
788
- | 'agent_firecrawl'
789
- | 'agent_web_search';
790
-
791
- export type EvaluationSplit = 'train' | 'eval' | 'verification';
792
-
793
- export interface BenchmarkTaskDoc {
794
- url: string;
795
- title: string;
796
- version: string;
797
- content: string;
798
- }
799
-
800
- export interface BenchmarkTaskDef {
801
- id: string;
802
- split: EvaluationSplit;
803
- title: string;
804
- ecosystem: string;
805
- library: string;
806
- targetVersion: string;
807
- taskPrompt: string;
808
- workspaceFiles: Record<string, string>;
809
- docs: BenchmarkTaskDoc[];
810
- /** Canonical documentation URL for the direct-docs-fetch web baseline */
811
- docsUrl: string;
812
- /** Optional pre-structured endpoints to index into DocOrbit for AST verification */
813
- endpoints?: ApiEndpoint[];
814
- /** Optional pre-structured pitfalls to index into DocOrbit for AST verification */
815
- pitfalls?: Pitfall[];
816
- /** Dedicated verification category if this is an intentional code flaw test */
817
- verificationCategory?:
818
- | 'wrong_endpoint'
819
- | 'wrong_http_method'
820
- | 'missing_required_parameter'
821
- | 'deprecated_api'
822
- | 'removed_api'
823
- | 'version_mismatch'
824
- | 'dynamic_ambiguous_code';
825
- groundTruth: {
826
- expectedVersion: string;
827
- expectedApi: { method?: string; path?: string; symbol?: string; requiredParams?: string[] };
828
- fatalPitfalls: string[];
829
- validCode: string;
830
- invalidCode: { snippet: string; expectedRule: string };
831
- dynamicCode?: string;
832
- };
833
- }
834
-
835
- export interface BenchmarkTaskResult {
836
- strategy: AgentEvaluationStrategy;
837
- taskId: string;
838
- split: EvaluationSplit;
839
- taskSuccess: boolean;
840
- correctApiSelected: boolean;
841
- correctVersionSelected: boolean;
842
- retrievalPrecision: number;
843
- retrievalRecall: number;
844
- tokenUsage: number;
845
- latencyMs: number;
846
- toolCallsCount: number;
847
- verificationCatches: number;
848
- verificationFalsePositives: number;
849
- insufficientEvidenceCount: number;
850
- notes: string;
851
- /** True when this result was produced by a simulated runner (no real network calls) */
852
- isSimulation: boolean;
853
- /** First 2000 chars of actual retrieved content for auditability; empty string for simulations */
854
- rawRetrievedContent: string;
855
- }
856
-
857
- export interface StrategyAggregateMetrics {
858
- overallSuccessRate: number;
859
- evalSuccessRate: number;
860
- versionAccuracy: number;
861
- meanPrecision: number;
862
- meanRecall: number;
863
- meanTokens: number;
864
- medianTokens: number;
865
- meanLatencyMs: number;
866
- meanToolCalls: number;
867
- totalVerificationCatches: number;
868
- verificationCatchRate?: number;
869
- falsePositives: number;
870
- insufficientEvidenceRate: number;
871
- }
872
-
873
- export interface BenchmarkSuiteReport {
874
- timestamp: string;
875
- totalTasks: number;
876
- trainTasks: number;
877
- evalTasks: number;
878
- verificationTasks?: number;
879
- byStrategy: Record<AgentEvaluationStrategy, StrategyAggregateMetrics>;
880
- tasks: BenchmarkTaskResult[];
881
- }