@wanshi-kg/wanshi 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 (443) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +458 -0
  3. package/dist/__tests__/helpers.js +27 -0
  4. package/dist/__tests__/helpers.js.map +1 -0
  5. package/dist/cli/commands/export.command.js +99 -0
  6. package/dist/cli/commands/export.command.js.map +1 -0
  7. package/dist/cli/commands/index.js +22 -0
  8. package/dist/cli/commands/index.js.map +1 -0
  9. package/dist/cli/commands/inspectMerges.command.js +84 -0
  10. package/dist/cli/commands/inspectMerges.command.js.map +1 -0
  11. package/dist/cli/commands/metrics.command.js +196 -0
  12. package/dist/cli/commands/metrics.command.js.map +1 -0
  13. package/dist/cli/commands/process.command.js +82 -0
  14. package/dist/cli/commands/process.command.js.map +1 -0
  15. package/dist/cli/commands/watch.command.js +91 -0
  16. package/dist/cli/commands/watch.command.js.map +1 -0
  17. package/dist/cli/index.js +269 -0
  18. package/dist/cli/index.js.map +1 -0
  19. package/dist/cli/optionsToConfig.js +160 -0
  20. package/dist/cli/optionsToConfig.js.map +1 -0
  21. package/dist/config/index.js +59 -0
  22. package/dist/config/index.js.map +1 -0
  23. package/dist/config/legacyHints.js +113 -0
  24. package/dist/config/legacyHints.js.map +1 -0
  25. package/dist/config/schema.js +803 -0
  26. package/dist/config/schema.js.map +1 -0
  27. package/dist/config/ui.js +221 -0
  28. package/dist/config/ui.js.map +1 -0
  29. package/dist/core/DirectoryProcessor.js +725 -0
  30. package/dist/core/DirectoryProcessor.js.map +1 -0
  31. package/dist/core/adapters/IStructuredAdapter.js +3 -0
  32. package/dist/core/adapters/IStructuredAdapter.js.map +1 -0
  33. package/dist/core/adapters/SqliteAdapter.js +267 -0
  34. package/dist/core/adapters/SqliteAdapter.js.map +1 -0
  35. package/dist/core/adapters/StructuredAdapterRegistry.js +31 -0
  36. package/dist/core/adapters/StructuredAdapterRegistry.js.map +1 -0
  37. package/dist/core/adapters/index.js +20 -0
  38. package/dist/core/adapters/index.js.map +1 -0
  39. package/dist/core/checkpoint/CheckpointService.js +188 -0
  40. package/dist/core/checkpoint/CheckpointService.js.map +1 -0
  41. package/dist/core/checkpoint/index.js +18 -0
  42. package/dist/core/checkpoint/index.js.map +1 -0
  43. package/dist/core/corpus/CorpusAnalyzer.js +266 -0
  44. package/dist/core/corpus/CorpusAnalyzer.js.map +1 -0
  45. package/dist/core/corpus/CorpusProfileStore.js +92 -0
  46. package/dist/core/corpus/CorpusProfileStore.js.map +1 -0
  47. package/dist/core/corpus/index.js +21 -0
  48. package/dist/core/corpus/index.js.map +1 -0
  49. package/dist/core/corpus/normalizeGlossary.js +60 -0
  50. package/dist/core/corpus/normalizeGlossary.js.map +1 -0
  51. package/dist/core/corpus/relPath.js +52 -0
  52. package/dist/core/corpus/relPath.js.map +1 -0
  53. package/dist/core/corpus/termFrequency.js +86 -0
  54. package/dist/core/corpus/termFrequency.js.map +1 -0
  55. package/dist/core/cost/CostMeter.js +235 -0
  56. package/dist/core/cost/CostMeter.js.map +1 -0
  57. package/dist/core/cost/index.js +19 -0
  58. package/dist/core/cost/index.js.map +1 -0
  59. package/dist/core/cost/prices.js +38 -0
  60. package/dist/core/cost/prices.js.map +1 -0
  61. package/dist/core/cv/ObjectDetectionService.js +119 -0
  62. package/dist/core/cv/ObjectDetectionService.js.map +1 -0
  63. package/dist/core/di/ContainerFactory.js +670 -0
  64. package/dist/core/di/ContainerFactory.js.map +1 -0
  65. package/dist/core/di/DIContainer.js +103 -0
  66. package/dist/core/di/DIContainer.js.map +1 -0
  67. package/dist/core/di/index.js +19 -0
  68. package/dist/core/di/index.js.map +1 -0
  69. package/dist/core/errors/CustomErrors.js +342 -0
  70. package/dist/core/errors/CustomErrors.js.map +1 -0
  71. package/dist/core/errors/index.js +18 -0
  72. package/dist/core/errors/index.js.map +1 -0
  73. package/dist/core/export/KnowledgeGraphExportService.js +56 -0
  74. package/dist/core/export/KnowledgeGraphExportService.js.map +1 -0
  75. package/dist/core/export/index.js +19 -0
  76. package/dist/core/export/index.js.map +1 -0
  77. package/dist/core/export/strategies/GraphitiExportStrategy.js +115 -0
  78. package/dist/core/export/strategies/GraphitiExportStrategy.js.map +1 -0
  79. package/dist/core/export/strategies/GraphvizDotExportStrategy.js +331 -0
  80. package/dist/core/export/strategies/GraphvizDotExportStrategy.js.map +1 -0
  81. package/dist/core/export/strategies/IExportStrategy.js +3 -0
  82. package/dist/core/export/strategies/IExportStrategy.js.map +1 -0
  83. package/dist/core/export/strategies/JsonExportStrategy.js +19 -0
  84. package/dist/core/export/strategies/JsonExportStrategy.js.map +1 -0
  85. package/dist/core/export/strategies/JsonlExportStrategy.js +69 -0
  86. package/dist/core/export/strategies/JsonlExportStrategy.js.map +1 -0
  87. package/dist/core/export/strategies/KblamExportStrategy.js +36 -0
  88. package/dist/core/export/strategies/KblamExportStrategy.js.map +1 -0
  89. package/dist/core/export/strategies/LoraExportStrategy.js +46 -0
  90. package/dist/core/export/strategies/LoraExportStrategy.js.map +1 -0
  91. package/dist/core/export/strategies/McpExportStrategy.js +67 -0
  92. package/dist/core/export/strategies/McpExportStrategy.js.map +1 -0
  93. package/dist/core/export/strategies/index.js +25 -0
  94. package/dist/core/export/strategies/index.js.map +1 -0
  95. package/dist/core/export/strategies/kbTriples.js +60 -0
  96. package/dist/core/export/strategies/kbTriples.js.map +1 -0
  97. package/dist/core/index.js +22 -0
  98. package/dist/core/index.js.map +1 -0
  99. package/dist/core/knowledge/KnowledgeGraphBuilder.js +627 -0
  100. package/dist/core/knowledge/KnowledgeGraphBuilder.js.map +1 -0
  101. package/dist/core/knowledge/MergeRecord.js +3 -0
  102. package/dist/core/knowledge/MergeRecord.js.map +1 -0
  103. package/dist/core/knowledge/canon/Canonicalizer.js +414 -0
  104. package/dist/core/knowledge/canon/Canonicalizer.js.map +1 -0
  105. package/dist/core/knowledge/canon/index.js +18 -0
  106. package/dist/core/knowledge/canon/index.js.map +1 -0
  107. package/dist/core/knowledge/contradiction/HeuristicContradictionChecker.js +92 -0
  108. package/dist/core/knowledge/contradiction/HeuristicContradictionChecker.js.map +1 -0
  109. package/dist/core/knowledge/contradiction/LlmContradictionChecker.js +52 -0
  110. package/dist/core/knowledge/contradiction/LlmContradictionChecker.js.map +1 -0
  111. package/dist/core/knowledge/contradiction/index.js +19 -0
  112. package/dist/core/knowledge/contradiction/index.js.map +1 -0
  113. package/dist/core/knowledge/grounding/KeywordGroundingChecker.js +33 -0
  114. package/dist/core/knowledge/grounding/KeywordGroundingChecker.js.map +1 -0
  115. package/dist/core/knowledge/grounding/MiniCheckGroundingChecker.js +82 -0
  116. package/dist/core/knowledge/grounding/MiniCheckGroundingChecker.js.map +1 -0
  117. package/dist/core/knowledge/grounding/index.js +20 -0
  118. package/dist/core/knowledge/grounding/index.js.map +1 -0
  119. package/dist/core/knowledge/grounding/verbalize.js +38 -0
  120. package/dist/core/knowledge/grounding/verbalize.js.map +1 -0
  121. package/dist/core/knowledge/images/imageMetaGraph.js +136 -0
  122. package/dist/core/knowledge/images/imageMetaGraph.js.map +1 -0
  123. package/dist/core/knowledge/index.js +20 -0
  124. package/dist/core/knowledge/index.js.map +1 -0
  125. package/dist/core/knowledge/merging/KnowledgeMerger.js +624 -0
  126. package/dist/core/knowledge/merging/KnowledgeMerger.js.map +1 -0
  127. package/dist/core/knowledge/references/ReferenceResolver.js +184 -0
  128. package/dist/core/knowledge/references/ReferenceResolver.js.map +1 -0
  129. package/dist/core/knowledge/references/citations/CitationEvidenceProcessor.js +401 -0
  130. package/dist/core/knowledge/references/citations/CitationEvidenceProcessor.js.map +1 -0
  131. package/dist/core/knowledge/references/citations/CitationResolver.js +95 -0
  132. package/dist/core/knowledge/references/citations/CitationResolver.js.map +1 -0
  133. package/dist/core/knowledge/references/citations/GrobidClient.js +143 -0
  134. package/dist/core/knowledge/references/citations/GrobidClient.js.map +1 -0
  135. package/dist/core/knowledge/references/citations/TitleIdResolver.js +101 -0
  136. package/dist/core/knowledge/references/citations/TitleIdResolver.js.map +1 -0
  137. package/dist/core/knowledge/references/web/FetchCacheService.js +114 -0
  138. package/dist/core/knowledge/references/web/FetchCacheService.js.map +1 -0
  139. package/dist/core/knowledge/references/web/GatedFetcher.js +228 -0
  140. package/dist/core/knowledge/references/web/GatedFetcher.js.map +1 -0
  141. package/dist/core/knowledge/references/web/WebReferenceProcessor.js +164 -0
  142. package/dist/core/knowledge/references/web/WebReferenceProcessor.js.map +1 -0
  143. package/dist/core/knowledge/search/KnowledgeGraphSearch.js +261 -0
  144. package/dist/core/knowledge/search/KnowledgeGraphSearch.js.map +1 -0
  145. package/dist/core/knowledge/vocabulary.js +162 -0
  146. package/dist/core/knowledge/vocabulary.js.map +1 -0
  147. package/dist/core/llm/EmbeddingService.js +113 -0
  148. package/dist/core/llm/EmbeddingService.js.map +1 -0
  149. package/dist/core/llm/OllamaService.js +146 -0
  150. package/dist/core/llm/OllamaService.js.map +1 -0
  151. package/dist/core/llm/OpenAICompatibleService.js +190 -0
  152. package/dist/core/llm/OpenAICompatibleService.js.map +1 -0
  153. package/dist/core/llm/OpenAIEmbeddingService.js +129 -0
  154. package/dist/core/llm/OpenAIEmbeddingService.js.map +1 -0
  155. package/dist/core/llm/embeddingUtils.js +25 -0
  156. package/dist/core/llm/embeddingUtils.js.map +1 -0
  157. package/dist/core/llm/index.js +23 -0
  158. package/dist/core/llm/index.js.map +1 -0
  159. package/dist/core/llm/prompts/PromptManager.js +388 -0
  160. package/dist/core/llm/prompts/PromptManager.js.map +1 -0
  161. package/dist/core/llm/prompts/PromptTemplateEngine.js +257 -0
  162. package/dist/core/llm/prompts/PromptTemplateEngine.js.map +1 -0
  163. package/dist/core/llm/prompts/templates/partials/examples/EXAMPLE_STYLE_GUIDE.md +84 -0
  164. package/dist/core/llm/prompts/templates/partials/examples/article.md +187 -0
  165. package/dist/core/llm/prompts/templates/partials/examples/code.md +229 -0
  166. package/dist/core/llm/prompts/templates/partials/examples/communication.md +205 -0
  167. package/dist/core/llm/prompts/templates/partials/examples/documentation.md +262 -0
  168. package/dist/core/llm/prompts/templates/partials/examples/financial.md +157 -0
  169. package/dist/core/llm/prompts/templates/partials/examples/legal.md +153 -0
  170. package/dist/core/llm/prompts/templates/partials/examples/logs.md +127 -0
  171. package/dist/core/llm/prompts/templates/partials/examples/medical.md +218 -0
  172. package/dist/core/llm/prompts/templates/partials/examples/notes.md +201 -0
  173. package/dist/core/llm/prompts/templates/partials/examples/research.md +208 -0
  174. package/dist/core/llm/prompts/templates/partials/examples/tabular.md +178 -0
  175. package/dist/core/llm/prompts/templates/partials/examples/transcript.md +204 -0
  176. package/dist/core/llm/prompts/templates/partials/retrieved-context.hbs +18 -0
  177. package/dist/core/llm/prompts/templates/v1/system.hbs +371 -0
  178. package/dist/core/llm/prompts/templates/v1/user.hbs +20 -0
  179. package/dist/core/llm/prompts/templates/v2/system.hbs +573 -0
  180. package/dist/core/llm/prompts/templates/v2/user.hbs +20 -0
  181. package/dist/core/llm/prompts/templates/v3/system.hbs +861 -0
  182. package/dist/core/llm/prompts/templates/v3/user.hbs +16 -0
  183. package/dist/core/llm/prompts/templates/v4/system.hbs +800 -0
  184. package/dist/core/llm/prompts/templates/v4/user.hbs +40 -0
  185. package/dist/core/llm/prompts/templates/v4.5/system.hbs +71 -0
  186. package/dist/core/llm/prompts/templates/v4.5/user.hbs +46 -0
  187. package/dist/core/llm/prompts/templates/v5/glossary/system.hbs +40 -0
  188. package/dist/core/llm/prompts/templates/v5/glossary/user.hbs +11 -0
  189. package/dist/core/llm/prompts/templates/v5/system.hbs +163 -0
  190. package/dist/core/llm/prompts/templates/v5/user.hbs +55 -0
  191. package/dist/core/pipeline/GroundingTransform.js +52 -0
  192. package/dist/core/pipeline/GroundingTransform.js.map +1 -0
  193. package/dist/core/pipeline/PipelineRunner.js +51 -0
  194. package/dist/core/pipeline/PipelineRunner.js.map +1 -0
  195. package/dist/core/pipeline/RelationFilterTransform.js +72 -0
  196. package/dist/core/pipeline/RelationFilterTransform.js.map +1 -0
  197. package/dist/core/pipeline/index.js +20 -0
  198. package/dist/core/pipeline/index.js.map +1 -0
  199. package/dist/core/processor/FileProcessor.js +184 -0
  200. package/dist/core/processor/FileProcessor.js.map +1 -0
  201. package/dist/core/processor/ProcessedRegistry.js +38 -0
  202. package/dist/core/processor/ProcessedRegistry.js.map +1 -0
  203. package/dist/core/processor/ast/AstSeedService.js +0 -0
  204. package/dist/core/processor/ast/AstSeedService.js.map +1 -0
  205. package/dist/core/processor/ast/AstSymbolStore.js +110 -0
  206. package/dist/core/processor/ast/AstSymbolStore.js.map +1 -0
  207. package/dist/core/processor/ast/index.js +19 -0
  208. package/dist/core/processor/ast/index.js.map +1 -0
  209. package/dist/core/processor/chunking/TextChunker.js +98 -0
  210. package/dist/core/processor/chunking/TextChunker.js.map +1 -0
  211. package/dist/core/processor/chunking/index.js +18 -0
  212. package/dist/core/processor/chunking/index.js.map +1 -0
  213. package/dist/core/processor/classifier/CONTENT_CLASSES.js +294 -0
  214. package/dist/core/processor/classifier/CONTENT_CLASSES.js.map +1 -0
  215. package/dist/core/processor/classifier/CascadeContentClassifier.js +107 -0
  216. package/dist/core/processor/classifier/CascadeContentClassifier.js.map +1 -0
  217. package/dist/core/processor/classifier/HeuristicContentClassifier.js +113 -0
  218. package/dist/core/processor/classifier/HeuristicContentClassifier.js.map +1 -0
  219. package/dist/core/processor/classifier/IContentTypeClassifier.js +3 -0
  220. package/dist/core/processor/classifier/IContentTypeClassifier.js.map +1 -0
  221. package/dist/core/processor/classifier/LlmContentClassifier.js +107 -0
  222. package/dist/core/processor/classifier/LlmContentClassifier.js.map +1 -0
  223. package/dist/core/processor/classifier/NER_DOMAIN_EXAMPLES.js +498 -0
  224. package/dist/core/processor/classifier/NER_DOMAIN_EXAMPLES.js.map +1 -0
  225. package/dist/core/processor/classifier/index.js +21 -0
  226. package/dist/core/processor/classifier/index.js.map +1 -0
  227. package/dist/core/processor/classifier/mergeClassifications.js +32 -0
  228. package/dist/core/processor/classifier/mergeClassifications.js.map +1 -0
  229. package/dist/core/processor/index.js +20 -0
  230. package/dist/core/processor/index.js.map +1 -0
  231. package/dist/core/processor/readers/AudioReader.js +462 -0
  232. package/dist/core/processor/readers/AudioReader.js.map +1 -0
  233. package/dist/core/processor/readers/BinaryReader.js +90 -0
  234. package/dist/core/processor/readers/BinaryReader.js.map +1 -0
  235. package/dist/core/processor/readers/ChandraPdfReader.js +187 -0
  236. package/dist/core/processor/readers/ChandraPdfReader.js.map +1 -0
  237. package/dist/core/processor/readers/ChatExportReader.js +365 -0
  238. package/dist/core/processor/readers/ChatExportReader.js.map +1 -0
  239. package/dist/core/processor/readers/DoclingReader.js +445 -0
  240. package/dist/core/processor/readers/DoclingReader.js.map +1 -0
  241. package/dist/core/processor/readers/EmailReader.js +259 -0
  242. package/dist/core/processor/readers/EmailReader.js.map +1 -0
  243. package/dist/core/processor/readers/EpubReader.js +175 -0
  244. package/dist/core/processor/readers/EpubReader.js.map +1 -0
  245. package/dist/core/processor/readers/FileReader.js +90 -0
  246. package/dist/core/processor/readers/FileReader.js.map +1 -0
  247. package/dist/core/processor/readers/FileReaderFactory.js +49 -0
  248. package/dist/core/processor/readers/FileReaderFactory.js.map +1 -0
  249. package/dist/core/processor/readers/HtmlReader.js +371 -0
  250. package/dist/core/processor/readers/HtmlReader.js.map +1 -0
  251. package/dist/core/processor/readers/ImageReader.js +162 -0
  252. package/dist/core/processor/readers/ImageReader.js.map +1 -0
  253. package/dist/core/processor/readers/JsonFileReader.js +232 -0
  254. package/dist/core/processor/readers/JsonFileReader.js.map +1 -0
  255. package/dist/core/processor/readers/JupyterReader.js +178 -0
  256. package/dist/core/processor/readers/JupyterReader.js.map +1 -0
  257. package/dist/core/processor/readers/LatexReader.js +176 -0
  258. package/dist/core/processor/readers/LatexReader.js.map +1 -0
  259. package/dist/core/processor/readers/MarkdownReader.js +289 -0
  260. package/dist/core/processor/readers/MarkdownReader.js.map +1 -0
  261. package/dist/core/processor/readers/MarkerPdfReader.js +193 -0
  262. package/dist/core/processor/readers/MarkerPdfReader.js.map +1 -0
  263. package/dist/core/processor/readers/MistralOcrReader.js +198 -0
  264. package/dist/core/processor/readers/MistralOcrReader.js.map +1 -0
  265. package/dist/core/processor/readers/OfficeReader.js +174 -0
  266. package/dist/core/processor/readers/OfficeReader.js.map +1 -0
  267. package/dist/core/processor/readers/PdfReader.js +116 -0
  268. package/dist/core/processor/readers/PdfReader.js.map +1 -0
  269. package/dist/core/processor/readers/RtfReader.js +107 -0
  270. package/dist/core/processor/readers/RtfReader.js.map +1 -0
  271. package/dist/core/processor/readers/SubtitleReader.js +145 -0
  272. package/dist/core/processor/readers/SubtitleReader.js.map +1 -0
  273. package/dist/core/processor/readers/TesseractPdfReader.js +183 -0
  274. package/dist/core/processor/readers/TesseractPdfReader.js.map +1 -0
  275. package/dist/core/processor/readers/TextReader.js +129 -0
  276. package/dist/core/processor/readers/TextReader.js.map +1 -0
  277. package/dist/core/processor/readers/TranscriptReader.js +234 -0
  278. package/dist/core/processor/readers/TranscriptReader.js.map +1 -0
  279. package/dist/core/processor/readers/image/imageMetadata.js +155 -0
  280. package/dist/core/processor/readers/image/imageMetadata.js.map +1 -0
  281. package/dist/core/processor/readers/index.js +41 -0
  282. package/dist/core/processor/readers/index.js.map +1 -0
  283. package/dist/core/processor/readers/referenceExtraction.js +198 -0
  284. package/dist/core/processor/readers/referenceExtraction.js.map +1 -0
  285. package/dist/core/processor/readers/stripReferences.js +59 -0
  286. package/dist/core/processor/readers/stripReferences.js.map +1 -0
  287. package/dist/core/processor/readers/transcript/turnPacking.js +81 -0
  288. package/dist/core/processor/readers/transcript/turnPacking.js.map +1 -0
  289. package/dist/core/progress/NdjsonProgressEmitter.js +30 -0
  290. package/dist/core/progress/NdjsonProgressEmitter.js.map +1 -0
  291. package/dist/core/progress/NoopProgressEmitter.js +15 -0
  292. package/dist/core/progress/NoopProgressEmitter.js.map +1 -0
  293. package/dist/core/progress/index.js +19 -0
  294. package/dist/core/progress/index.js.map +1 -0
  295. package/dist/core/trace/TraceWriter.js +100 -0
  296. package/dist/core/trace/TraceWriter.js.map +1 -0
  297. package/dist/core/trace/events.js +13 -0
  298. package/dist/core/trace/events.js.map +1 -0
  299. package/dist/core/trace/index.js +20 -0
  300. package/dist/core/trace/index.js.map +1 -0
  301. package/dist/core/trace/lineage.js +97 -0
  302. package/dist/core/trace/lineage.js.map +1 -0
  303. package/dist/evaluation/BenchmarkRunner.js +171 -0
  304. package/dist/evaluation/BenchmarkRunner.js.map +1 -0
  305. package/dist/evaluation/classifier/ClassifierAccuracy.js +185 -0
  306. package/dist/evaluation/classifier/ClassifierAccuracy.js.map +1 -0
  307. package/dist/evaluation/classifier/labeledSamples.js +379 -0
  308. package/dist/evaluation/classifier/labeledSamples.js.map +1 -0
  309. package/dist/evaluation/compare/goldCompare.js +126 -0
  310. package/dist/evaluation/compare/goldCompare.js.map +1 -0
  311. package/dist/evaluation/crossre/compareScoring.js +30 -0
  312. package/dist/evaluation/crossre/compareScoring.js.map +1 -0
  313. package/dist/evaluation/datasets/CrossREDataset.js +170 -0
  314. package/dist/evaluation/datasets/CrossREDataset.js.map +1 -0
  315. package/dist/evaluation/datasets/IDataset.js +3 -0
  316. package/dist/evaluation/datasets/IDataset.js.map +1 -0
  317. package/dist/evaluation/datasets/RebelDataset.js +117 -0
  318. package/dist/evaluation/datasets/RebelDataset.js.map +1 -0
  319. package/dist/evaluation/datasets/RedocredDataset.js +218 -0
  320. package/dist/evaluation/datasets/RedocredDataset.js.map +1 -0
  321. package/dist/evaluation/datasets/SemEval2010Dataset.js +150 -0
  322. package/dist/evaluation/datasets/SemEval2010Dataset.js.map +1 -0
  323. package/dist/evaluation/index.js +33 -0
  324. package/dist/evaluation/index.js.map +1 -0
  325. package/dist/evaluation/matching/ExactMatcher.js +75 -0
  326. package/dist/evaluation/matching/ExactMatcher.js.map +1 -0
  327. package/dist/evaluation/matching/SemanticMatcher.js +143 -0
  328. package/dist/evaluation/matching/SemanticMatcher.js.map +1 -0
  329. package/dist/evaluation/metrics/TripleMetrics.js +64 -0
  330. package/dist/evaluation/metrics/TripleMetrics.js.map +1 -0
  331. package/dist/evaluation/mine/MineCheckpoint.js +114 -0
  332. package/dist/evaluation/mine/MineCheckpoint.js.map +1 -0
  333. package/dist/evaluation/mine/MineDataset.js +208 -0
  334. package/dist/evaluation/mine/MineDataset.js.map +1 -0
  335. package/dist/evaluation/mine/MineReporter.js +98 -0
  336. package/dist/evaluation/mine/MineReporter.js.map +1 -0
  337. package/dist/evaluation/mine/MineRunner.js +148 -0
  338. package/dist/evaluation/mine/MineRunner.js.map +1 -0
  339. package/dist/evaluation/mine/MineScorer.js +127 -0
  340. package/dist/evaluation/mine/MineScorer.js.map +1 -0
  341. package/dist/evaluation/mine/types.js +12 -0
  342. package/dist/evaluation/mine/types.js.map +1 -0
  343. package/dist/evaluation/reporters/ConsoleReporter.js +55 -0
  344. package/dist/evaluation/reporters/ConsoleReporter.js.map +1 -0
  345. package/dist/evaluation/reporters/JsonReporter.js +50 -0
  346. package/dist/evaluation/reporters/JsonReporter.js.map +1 -0
  347. package/dist/index.js +28 -0
  348. package/dist/index.js.map +1 -0
  349. package/dist/quality/CompositeScore.js +61 -0
  350. package/dist/quality/CompositeScore.js.map +1 -0
  351. package/dist/quality/ConsistencyMetrics.js +70 -0
  352. package/dist/quality/ConsistencyMetrics.js.map +1 -0
  353. package/dist/quality/FactualMetrics.js +76 -0
  354. package/dist/quality/FactualMetrics.js.map +1 -0
  355. package/dist/quality/GraphHealthMetrics.js +68 -0
  356. package/dist/quality/GraphHealthMetrics.js.map +1 -0
  357. package/dist/quality/SemanticMetrics.js +102 -0
  358. package/dist/quality/SemanticMetrics.js.map +1 -0
  359. package/dist/quality/StructuralMetrics.js +60 -0
  360. package/dist/quality/StructuralMetrics.js.map +1 -0
  361. package/dist/quality/index.js +23 -0
  362. package/dist/quality/index.js.map +1 -0
  363. package/dist/shared/index.js +20 -0
  364. package/dist/shared/index.js.map +1 -0
  365. package/dist/shared/logger/Logger.js +3 -0
  366. package/dist/shared/logger/Logger.js.map +1 -0
  367. package/dist/shared/logger/LoggerFactory.js +75 -0
  368. package/dist/shared/logger/LoggerFactory.js.map +1 -0
  369. package/dist/shared/logger/index.js +19 -0
  370. package/dist/shared/logger/index.js.map +1 -0
  371. package/dist/shared/shutdown.js +30 -0
  372. package/dist/shared/shutdown.js.map +1 -0
  373. package/dist/shared/utils/agglomerativeCluster.js +269 -0
  374. package/dist/shared/utils/agglomerativeCluster.js.map +1 -0
  375. package/dist/shared/utils/astSymbols.js +69 -0
  376. package/dist/shared/utils/astSymbols.js.map +1 -0
  377. package/dist/shared/utils/cosineSimilarity.js +18 -0
  378. package/dist/shared/utils/cosineSimilarity.js.map +1 -0
  379. package/dist/shared/utils/directoryTree.js +184 -0
  380. package/dist/shared/utils/directoryTree.js.map +1 -0
  381. package/dist/shared/utils/documentOutline.js +74 -0
  382. package/dist/shared/utils/documentOutline.js.map +1 -0
  383. package/dist/shared/utils/index.js +24 -0
  384. package/dist/shared/utils/index.js.map +1 -0
  385. package/dist/shared/utils/jaroWinklerSimilarity.js +60 -0
  386. package/dist/shared/utils/jaroWinklerSimilarity.js.map +1 -0
  387. package/dist/shared/utils/parseJsonLenient.js +27 -0
  388. package/dist/shared/utils/parseJsonLenient.js.map +1 -0
  389. package/dist/shared/utils/readConfig.js +42 -0
  390. package/dist/shared/utils/readConfig.js.map +1 -0
  391. package/dist/shared/utils/readRtf.js +216 -0
  392. package/dist/shared/utils/readRtf.js.map +1 -0
  393. package/dist/shared/utils/softmax.js +26 -0
  394. package/dist/shared/utils/softmax.js.map +1 -0
  395. package/dist/types/ContentClass.js +3 -0
  396. package/dist/types/ContentClass.js.map +1 -0
  397. package/dist/types/CorpusProfile.js +3 -0
  398. package/dist/types/CorpusProfile.js.map +1 -0
  399. package/dist/types/IContradictionChecker.js +3 -0
  400. package/dist/types/IContradictionChecker.js.map +1 -0
  401. package/dist/types/ICorpusAnalyzer.js +3 -0
  402. package/dist/types/ICorpusAnalyzer.js.map +1 -0
  403. package/dist/types/IDirectoryProcessor.js +3 -0
  404. package/dist/types/IDirectoryProcessor.js.map +1 -0
  405. package/dist/types/IEmbeddingProvider.js +3 -0
  406. package/dist/types/IEmbeddingProvider.js.map +1 -0
  407. package/dist/types/IEmbeddingService.js +6 -0
  408. package/dist/types/IEmbeddingService.js.map +1 -0
  409. package/dist/types/IFileProcessor.js +3 -0
  410. package/dist/types/IFileProcessor.js.map +1 -0
  411. package/dist/types/IGroundingChecker.js +3 -0
  412. package/dist/types/IGroundingChecker.js.map +1 -0
  413. package/dist/types/IKnowledgeGraphBuilder.js +3 -0
  414. package/dist/types/IKnowledgeGraphBuilder.js.map +1 -0
  415. package/dist/types/IKnowledgeGraphExporter.js +3 -0
  416. package/dist/types/IKnowledgeGraphExporter.js.map +1 -0
  417. package/dist/types/IKnowledgeGraphMerger.js +3 -0
  418. package/dist/types/IKnowledgeGraphMerger.js.map +1 -0
  419. package/dist/types/IKnowledgeGraphSearch.js +3 -0
  420. package/dist/types/IKnowledgeGraphSearch.js.map +1 -0
  421. package/dist/types/ILLMProvider.js +3 -0
  422. package/dist/types/ILLMProvider.js.map +1 -0
  423. package/dist/types/ILLMService.js +3 -0
  424. package/dist/types/ILLMService.js.map +1 -0
  425. package/dist/types/IObjectDetector.js +3 -0
  426. package/dist/types/IObjectDetector.js.map +1 -0
  427. package/dist/types/IProcessingService.js +3 -0
  428. package/dist/types/IProcessingService.js.map +1 -0
  429. package/dist/types/IProgressEmitter.js +3 -0
  430. package/dist/types/IProgressEmitter.js.map +1 -0
  431. package/dist/types/IPromptManager.js +3 -0
  432. package/dist/types/IPromptManager.js.map +1 -0
  433. package/dist/types/KnowledgeGraph.js +3 -0
  434. package/dist/types/KnowledgeGraph.js.map +1 -0
  435. package/dist/types/MCPKnowledgeGraph.js +3 -0
  436. package/dist/types/MCPKnowledgeGraph.js.map +1 -0
  437. package/dist/types/Observation.js +21 -0
  438. package/dist/types/Observation.js.map +1 -0
  439. package/dist/types/ProcessingOptions.js +3 -0
  440. package/dist/types/ProcessingOptions.js.map +1 -0
  441. package/dist/types/index.js +40 -0
  442. package/dist/types/index.js.map +1 -0
  443. package/package.json +122 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptTemplateEngine.js","sourceRoot":"","sources":["../../../../src/core/llm/prompts/PromptTemplateEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ # Example partial style guide (v5)
2
+
3
+ Every file in `partials/examples/*.md` is training signal, not decoration. The
4
+ model imitates whatever the gold examples do. These rules make the examples teach
5
+ the behavior the merged graph needs.
6
+
7
+ ## Status of the existing files
8
+
9
+ **Already close to v5 style — light touch only:** `article.md`, `transcript.md`,
10
+ `code.md`, `notes.md`, `tabular.md`. These use lowercase reusable types and rich
11
+ observations. The only fix they need: collapse the few two-synonym `relationType`
12
+ arrays (e.g. `["contains", "uses"]`, `["used_to_create"]` is fine; `["develops",
13
+ "announces"]` should split into the single most accurate predicate) and remove the
14
+ one self-loop in `notes.md` (`Cursor-based Pagination → Cursor-based Pagination`).
15
+
16
+ **Need a full rewrite (rebuilt in v5 form):** `financial.md` ✅ done, `medical.md`
17
+ ✅ done, `legal.md` ✅ done, `logs.md` ✅ done.
18
+
19
+ **Dedicated examples (replaced the shared `generic.md` fallback):** `research.md`,
20
+ `communication.md`, `documentation.md` ✅ done. Every `ContentClass` now routes to
21
+ its own example file (`CLASS_TO_PARTIAL`); there is no generic catch-all — the
22
+ KG-05 test in `vocabulary.test.ts` requires every example file to be reachable.
23
+
24
+ ## The seven rules
25
+
26
+ 1. **Reuse types.** Across an entire example file, the distinct `entityType` count
27
+ should be small. If every entity has a unique bespoke type, the example is
28
+ teaching sprawl. Lowercase `snake_case` only.
29
+
30
+ 2. **One canonical predicate per relation.** `relationType` is a one-element array.
31
+ Never stack near-synonyms (`["uses", "depends_on"]` → pick one). This is the
32
+ single biggest fix; the old examples taught the 500-relation-type explosion.
33
+
34
+ 3. **No type-pair predicates.** A relation label is a verb-like predicate
35
+ (`depends_on`, `targets`), never the two endpoint types restated
36
+ (`["SOURCE_IP", "REQUEST_METHOD"]` is not a relation — it's two node types).
37
+ This was the core defect in `logs.md`.
38
+
39
+ 4. **No self-loops.** `from` and `to` always differ.
40
+
41
+ 5. **Literals are observations, not entities.** Dollar amounts, timestamps, raw
42
+ counts, single values — fold them into an observation on a real entity. Don't
43
+ make `$5,000` or `2022-10-15 14:30:00` a node. (This guts most of the old
44
+ `financial.md` and de-hubs `logs.md`.)
45
+
46
+ 6. **Observations add information beyond the type.** `entityType: medication` +
47
+ observation `"a medication"` is circular. State dosage, route, indication,
48
+ measured value — something the type doesn't already say.
49
+
50
+ 7. **Consistent direction.** actor → object, specific → general, caller → callee.
51
+ Don't emit both `A → B` and `B → A` for one relationship.
52
+
53
+ ## Domain-specific notes for the three rewrites
54
+
55
+ **medical.md** — real entities are patients, conditions, medications, procedures,
56
+ providers. Suggested type set: `person, condition, medication, procedure, test,
57
+ result, allergy, provider, metric`. Vitals and dosages are observations
58
+ (`"BP 120/80 mmHg"` on the patient or the reading), not nodes. Predicates:
59
+ `diagnosed_with`, `prescribed`, `underwent`, `has_result`, `allergic_to`,
60
+ `treated_by`, `related_to`. Drop the `entityType: "Patient Name"` pattern — the
61
+ type is `person`, the name is the patient's name.
62
+
63
+ **legal.md** — types: `person, organization, document, court, statute, term, date,
64
+ duration`. Predicates: `party_to`, `signed`, `governs`, `references`, `defines`,
65
+ `filed_in`, `related_to`. Effective dates are observations on the document, not
66
+ their own `date` nodes unless the date genuinely anchors multiple entities.
67
+
68
+ **logs.md** — this one needs the most rethinking. A log line's real entities are
69
+ the actors and resources: an IP, a user, a service, a process, a file, an error.
70
+ The timestamp is an observation on the event, not a hub node every edge points at.
71
+ Types: `ip_address, user, service, process, file, request, error, event`.
72
+ Predicates: `requests`, `authenticates_as`, `accesses`, `triggers`, `targets`,
73
+ `reports`, `related_to`. Each relation is one real interaction
74
+ (`ip_address → request : requests`), never `["CLIENT_IP", "REQUEST_METHOD"]`.
75
+
76
+ ## Quick self-check before committing an example file
77
+
78
+ - Distinct entityType count across the file: small? (If > ~10 for a short file,
79
+ you're sprawling.)
80
+ - Every `relationType` array length 1?
81
+ - Any predicate that is just two node types concatenated? (Must be zero.)
82
+ - Any `from == to`? (Must be zero.)
83
+ - Any standalone literal-value entity? (Must be zero.)
84
+ - Does every observation say something the type doesn't?
@@ -0,0 +1,187 @@
1
+ ### Example 1
2
+
3
+ Input:
4
+
5
+ ## File Information
6
+
7
+ Path: `articles/veritas-labs-edge-launch.md`
8
+
9
+ ## Content to Analyze
10
+
11
+ ```
12
+ Veritas Labs Unveils EdgeMind 2.0, Targeting Industrial IoT Market
13
+
14
+ San Francisco, CA — Veritas Labs today announced EdgeMind 2.0, an on-device inference
15
+ platform designed for industrial sensor networks. The release marks the company's first
16
+ major product push into the manufacturing sector after two years focused on consumer
17
+ wearables.
18
+
19
+ "EdgeMind 2.0 can run our largest vision model in under 12 ms on a $30 microcontroller,"
20
+ said Dr. Priya Nair, Veritas Labs' Chief Technology Officer. "That changes the economics
21
+ of predictive maintenance dramatically."
22
+
23
+ The platform targets process manufacturers and heavy equipment operators who require
24
+ real-time anomaly detection without continuous cloud connectivity. Early adopters include
25
+ Helix Manufacturing, which piloted the system across its stamping lines in Detroit.
26
+
27
+ Veritas Labs raised a $45M Series B in January 2024, led by Meridian Capital, which it
28
+ says will fund a 60-person engineering expansion over the next 18 months.
29
+
30
+ Competitors in the edge inference space include Arm's Ethos NPU ecosystem and Qualcomm's
31
+ AI Hub, though Veritas claims superior latency on thermal and vibration sensor workloads.
32
+ ```
33
+
34
+ Output:
35
+
36
+ ```json
37
+ {
38
+ "entities": [
39
+ {
40
+ "name": "Veritas Labs",
41
+ "entityType": "organization",
42
+ "observations": [
43
+ "AI company pivoting from consumer wearables to industrial IoT",
44
+ "Raised $45M Series B in January 2024",
45
+ "Plans 60-person engineering expansion over 18 months"
46
+ ]
47
+ },
48
+ {
49
+ "name": "EdgeMind 2.0",
50
+ "entityType": "product",
51
+ "observations": [
52
+ "On-device inference platform for industrial sensor networks",
53
+ "Runs vision models in under 12 ms on a $30 microcontroller",
54
+ "Targets real-time anomaly detection without cloud connectivity"
55
+ ]
56
+ },
57
+ {
58
+ "name": "Dr. Priya Nair",
59
+ "entityType": "person",
60
+ "observations": ["Chief Technology Officer at Veritas Labs"]
61
+ },
62
+ {
63
+ "name": "Helix Manufacturing",
64
+ "entityType": "organization",
65
+ "observations": [
66
+ "Early adopter of EdgeMind 2.0",
67
+ "Piloted the system on stamping lines in Detroit"
68
+ ]
69
+ },
70
+ {
71
+ "name": "Meridian Capital",
72
+ "entityType": "organization",
73
+ "observations": ["Led Veritas Labs' $45M Series B round in January 2024"]
74
+ },
75
+ {
76
+ "name": "Industrial IoT",
77
+ "entityType": "market_segment",
78
+ "observations": [
79
+ "Target market for EdgeMind 2.0",
80
+ "Includes process manufacturers and heavy equipment operators"
81
+ ]
82
+ }
83
+ ],
84
+ "relations": [
85
+ { "from": "Veritas Labs", "to": "EdgeMind 2.0", "relationType": ["develops"] },
86
+ { "from": "Dr. Priya Nair", "to": "Veritas Labs", "relationType": ["works_at"] },
87
+ { "from": "EdgeMind 2.0", "to": "Industrial IoT", "relationType": ["targets"] },
88
+ { "from": "Helix Manufacturing", "to": "EdgeMind 2.0", "relationType": ["pilots"] },
89
+ { "from": "Meridian Capital", "to": "Veritas Labs", "relationType": ["invests_in"] }
90
+ ]
91
+ }
92
+ ```
93
+
94
+ ---
95
+
96
+ ### Example 2
97
+
98
+ Input:
99
+
100
+ ## File Information
101
+
102
+ Path: `articles/crispr-drought-wheat.md`
103
+
104
+ ## Content to Analyze
105
+
106
+ ```
107
+ Scientists Engineer Drought-Tolerant Wheat Using CRISPR
108
+
109
+ Researchers at the Global Crop Institute have developed a wheat variety, designated GCI-W7,
110
+ that maintains 85% of normal yield under severe drought conditions — roughly double the
111
+ resilience of current commercial strains.
112
+
113
+ The team, led by geneticist Dr. Amara Diallo, used CRISPR-Cas9 to silence the DREB2A
114
+ transcription factor gene, triggering the plant's drought-stress response pathway earlier
115
+ and more strongly than in wild-type wheat. The work, published in Nature Plants, builds on
116
+ earlier research by Monsanto and CSIRO that identified DREB2A as a key regulator.
117
+
118
+ "We're not adding foreign genes. We're editing an existing switch," said Dr. Diallo. The
119
+ distinction matters for regulatory pathways in the EU, where gene editing without foreign
120
+ DNA insertion faces a less restrictive approval process than traditional GMOs.
121
+
122
+ Field trials are planned for 2025 in Kenya and Pakistan, in collaboration with the CGIAR
123
+ network. If approved, GCI-W7 could reach farmers in drought-prone regions by 2028.
124
+ ```
125
+
126
+ Output:
127
+
128
+ ```json
129
+ {
130
+ "entities": [
131
+ {
132
+ "name": "GCI-W7",
133
+ "entityType": "research_subject",
134
+ "observations": [
135
+ "Drought-tolerant wheat variety developed by Global Crop Institute",
136
+ "Maintains 85% yield under severe drought — ~2× resilience of commercial strains",
137
+ "Targets farmers in drought-prone regions; projected availability 2028"
138
+ ]
139
+ },
140
+ {
141
+ "name": "Dr. Amara Diallo",
142
+ "entityType": "person",
143
+ "observations": [
144
+ "Lead geneticist at Global Crop Institute",
145
+ "Led the CRISPR-Cas9 editing work on GCI-W7"
146
+ ]
147
+ },
148
+ {
149
+ "name": "Global Crop Institute",
150
+ "entityType": "organization",
151
+ "observations": [
152
+ "Research institution that developed GCI-W7",
153
+ "Planning field trials in Kenya and Pakistan in 2025"
154
+ ]
155
+ },
156
+ {
157
+ "name": "CRISPR-Cas9",
158
+ "entityType": "methodology",
159
+ "observations": [
160
+ "Gene editing tool used to silence DREB2A transcription factor",
161
+ "No foreign DNA inserted — activates existing drought-stress pathway"
162
+ ]
163
+ },
164
+ {
165
+ "name": "DREB2A",
166
+ "entityType": "concept",
167
+ "observations": [
168
+ "Transcription factor gene silenced to enhance drought tolerance",
169
+ "Key regulator identified in prior research by Monsanto and CSIRO"
170
+ ]
171
+ },
172
+ {
173
+ "name": "CGIAR network",
174
+ "entityType": "organization",
175
+ "observations": ["Collaborating on 2025 field trials in Kenya and Pakistan"]
176
+ }
177
+ ],
178
+ "relations": [
179
+ { "from": "Dr. Amara Diallo", "to": "Global Crop Institute", "relationType": ["works_at"] },
180
+ { "from": "Global Crop Institute","to": "GCI-W7", "relationType": ["develops"] },
181
+ { "from": "CRISPR-Cas9", "to": "GCI-W7", "relationType": ["used_to_create"] },
182
+ { "from": "CRISPR-Cas9", "to": "DREB2A", "relationType": ["targets"] },
183
+ { "from": "GCI-W7", "to": "DREB2A", "relationType": ["silences"] },
184
+ { "from": "Global Crop Institute","to": "CGIAR network", "relationType": ["collaborates_with"] }
185
+ ]
186
+ }
187
+ ```
@@ -0,0 +1,229 @@
1
+ ### Example 1
2
+
3
+ Input:
4
+
5
+ ## File Information
6
+
7
+ Path: `src/auth/AuthService.ts`
8
+
9
+ ## Content to Analyze
10
+
11
+ ```typescript
12
+ import { Injectable } from '@di/decorators';
13
+ import { IAuthService } from './IAuthService';
14
+ import { UserRepository } from '../user/UserRepository';
15
+ import { JwtTokenService } from '../token/JwtTokenService';
16
+ import { HashService } from '../crypto/HashService';
17
+
18
+ @Injectable()
19
+ export class AuthService implements IAuthService {
20
+ constructor(
21
+ private readonly userRepo: UserRepository,
22
+ private readonly jwtService: JwtTokenService,
23
+ private readonly hashService: HashService,
24
+ ) {}
25
+
26
+ async login(email: string, password: string): Promise<string> {
27
+ const user = await this.userRepo.findByEmail(email);
28
+ if (!user) throw new Error('User not found');
29
+ const valid = await this.hashService.compare(password, user.passwordHash);
30
+ if (!valid) throw new Error('Invalid credentials');
31
+ return this.jwtService.sign({ sub: user.id, email: user.email });
32
+ }
33
+
34
+ async refresh(token: string): Promise<string> {
35
+ const payload = this.jwtService.verify(token);
36
+ return this.jwtService.sign({ sub: payload.sub, email: payload.email });
37
+ }
38
+
39
+ async logout(userId: string): Promise<void> {
40
+ await this.jwtService.revoke(userId);
41
+ }
42
+ }
43
+ ```
44
+
45
+ Output:
46
+
47
+ ```json
48
+ {
49
+ "entities": [
50
+ {
51
+ "name": "AuthService",
52
+ "entityType": "class",
53
+ "observations": [
54
+ "Implements IAuthService interface",
55
+ "Decorated with @Injectable for dependency injection",
56
+ "Handles login, token refresh, and logout operations"
57
+ ]
58
+ },
59
+ {
60
+ "name": "IAuthService",
61
+ "entityType": "interface",
62
+ "observations": [
63
+ "Contract implemented by AuthService",
64
+ "Defines authentication operations"
65
+ ]
66
+ },
67
+ {
68
+ "name": "UserRepository",
69
+ "entityType": "dependency",
70
+ "observations": [
71
+ "Injected via constructor",
72
+ "Used to look up users by email"
73
+ ]
74
+ },
75
+ {
76
+ "name": "JwtTokenService",
77
+ "entityType": "dependency",
78
+ "observations": [
79
+ "Injected via constructor",
80
+ "Signs, verifies, and revokes JWT tokens"
81
+ ]
82
+ },
83
+ {
84
+ "name": "HashService",
85
+ "entityType": "dependency",
86
+ "observations": [
87
+ "Injected via constructor",
88
+ "Compares plain-text passwords against stored hashes"
89
+ ]
90
+ },
91
+ {
92
+ "name": "login",
93
+ "entityType": "function",
94
+ "observations": [
95
+ "Accepts email and password, returns signed JWT string",
96
+ "Throws on unknown user or wrong password"
97
+ ]
98
+ },
99
+ {
100
+ "name": "refresh",
101
+ "entityType": "function",
102
+ "observations": ["Verifies existing token and issues a new one"]
103
+ },
104
+ {
105
+ "name": "logout",
106
+ "entityType": "function",
107
+ "observations": ["Revokes all tokens for the given user ID"]
108
+ }
109
+ ],
110
+ "relations": [
111
+ { "from": "AuthService", "to": "IAuthService", "relationType": ["implements"] },
112
+ { "from": "AuthService", "to": "UserRepository", "relationType": ["depends_on"] },
113
+ { "from": "AuthService", "to": "JwtTokenService", "relationType": ["depends_on"] },
114
+ { "from": "AuthService", "to": "HashService", "relationType": ["depends_on"] },
115
+ { "from": "login", "to": "UserRepository", "relationType": ["calls"] },
116
+ { "from": "login", "to": "HashService", "relationType": ["calls"] },
117
+ { "from": "login", "to": "JwtTokenService", "relationType": ["calls"] },
118
+ { "from": "refresh", "to": "JwtTokenService", "relationType": ["calls"] },
119
+ { "from": "logout", "to": "JwtTokenService", "relationType": ["calls"] }
120
+ ]
121
+ }
122
+ ```
123
+
124
+ ---
125
+
126
+ ### Example 2
127
+
128
+ Input:
129
+
130
+ ## File Information
131
+
132
+ Path: `pipelines/ingest.py`
133
+
134
+ ## Content to Analyze
135
+
136
+ ```python
137
+ import csv
138
+ import json
139
+ from dataclasses import dataclass
140
+ from typing import List
141
+
142
+ @dataclass
143
+ class SalesRecord:
144
+ sku: str
145
+ region: str
146
+ quantity: int
147
+ revenue: float
148
+
149
+ def read_csv(file_path: str) -> List[SalesRecord]:
150
+ records = []
151
+ with open(file_path, newline='') as f:
152
+ for row in csv.DictReader(f):
153
+ records.append(SalesRecord(
154
+ sku=row['SKU'],
155
+ region=row['Region'],
156
+ quantity=int(row['Quantity']),
157
+ revenue=float(row['Revenue']),
158
+ ))
159
+ return records
160
+
161
+ def filter_by_region(records: List[SalesRecord], region: str) -> List[SalesRecord]:
162
+ return [r for r in records if r.region == region]
163
+
164
+ def export_json(records: List[SalesRecord], out_path: str) -> None:
165
+ with open(out_path, 'w') as f:
166
+ json.dump([vars(r) for r in records], f, indent=2)
167
+
168
+ def ingest_pipeline(src: str, region: str, dest: str) -> None:
169
+ records = read_csv(src)
170
+ filtered = filter_by_region(records, region)
171
+ export_json(filtered, dest)
172
+ ```
173
+
174
+ Output:
175
+
176
+ ```json
177
+ {
178
+ "entities": [
179
+ {
180
+ "name": "SalesRecord",
181
+ "entityType": "data_structure",
182
+ "observations": [
183
+ "Python dataclass with sku, region, quantity, revenue fields",
184
+ "Used as the canonical in-memory representation of a CSV row"
185
+ ]
186
+ },
187
+ {
188
+ "name": "read_csv",
189
+ "entityType": "function",
190
+ "observations": [
191
+ "Reads a CSV file and returns a list of SalesRecord instances",
192
+ "Uses csv.DictReader; expects SKU, Region, Quantity, Revenue columns"
193
+ ]
194
+ },
195
+ {
196
+ "name": "filter_by_region",
197
+ "entityType": "function",
198
+ "observations": [
199
+ "Filters a list of SalesRecord by exact region string match",
200
+ "Returns a new list; does not mutate input"
201
+ ]
202
+ },
203
+ {
204
+ "name": "export_json",
205
+ "entityType": "function",
206
+ "observations": [
207
+ "Serializes SalesRecord list to a pretty-printed JSON file",
208
+ "Converts dataclasses to dicts via vars()"
209
+ ]
210
+ },
211
+ {
212
+ "name": "ingest_pipeline",
213
+ "entityType": "function",
214
+ "observations": [
215
+ "Orchestrates the full ETL: read → filter → export",
216
+ "Entry point for the ingestion module"
217
+ ]
218
+ }
219
+ ],
220
+ "relations": [
221
+ { "from": "read_csv", "to": "SalesRecord", "relationType": ["produces"] },
222
+ { "from": "filter_by_region", "to": "SalesRecord", "relationType": ["processes"] },
223
+ { "from": "export_json", "to": "SalesRecord", "relationType": ["processes"] },
224
+ { "from": "ingest_pipeline", "to": "read_csv", "relationType": ["calls"] },
225
+ { "from": "ingest_pipeline", "to": "filter_by_region", "relationType": ["calls"] },
226
+ { "from": "ingest_pipeline", "to": "export_json", "relationType": ["calls"] }
227
+ ]
228
+ }
229
+ ```