@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,170 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
45
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
46
+ var m = o[Symbol.asyncIterator], i;
47
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
48
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
49
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.CrossREDataset = void 0;
53
+ const fs = __importStar(require("fs"));
54
+ const path = __importStar(require("path"));
55
+ const readline = __importStar(require("readline"));
56
+ class CrossREDataset {
57
+ /**
58
+ * Load CrossRE samples.
59
+ *
60
+ * @param dataPath Path to a single domain JSON file OR a directory
61
+ * containing multiple `*-test.json` / `*-dev.json` files.
62
+ * When a directory is given every `.json` file inside is loaded.
63
+ * @param limit Maximum total samples to return (applied across all files).
64
+ * @param domain Optional domain filter. Accepts a single domain string
65
+ * (e.g. `"ai"`) or a comma-separated list (e.g. `"ai,news,science"`).
66
+ * When omitted all domains are included.
67
+ */
68
+ load(dataPath, limit, domain) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ if (!fs.existsSync(dataPath)) {
71
+ throw new Error(`CrossRE data path not found: ${dataPath}\n` +
72
+ `Pass a single domain file (e.g. ./data/crossre/crossre_data/ai-test.json)\n` +
73
+ `or the crossre_data/ directory to load all domain splits.\n` +
74
+ `Files are available at: https://github.com/mainlp/CrossRE/tree/main/crossre_data`);
75
+ }
76
+ // Normalise domain filter: "ai,news,science" → Set { "ai", "news", "science" }
77
+ const domainFilter = domain
78
+ ? new Set(domain.split(',').map(d => d.trim()).filter(Boolean))
79
+ : null;
80
+ const files = this.resolveFiles(dataPath);
81
+ const samples = [];
82
+ for (const file of files) {
83
+ if (samples.length >= limit)
84
+ break;
85
+ yield this.loadFile(file, limit - samples.length, domainFilter, samples);
86
+ }
87
+ return samples;
88
+ });
89
+ }
90
+ // ─── Private ───────────────────────────────────────────────────────────────
91
+ /** Return a sorted list of JSON files to load. */
92
+ resolveFiles(dataPath) {
93
+ const stat = fs.statSync(dataPath);
94
+ if (stat.isDirectory()) {
95
+ return fs.readdirSync(dataPath)
96
+ .filter(f => f.endsWith('.json'))
97
+ .sort()
98
+ .map(f => path.join(dataPath, f));
99
+ }
100
+ return [dataPath];
101
+ }
102
+ loadFile(filePath, limit, domainFilter, out) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ var _a, e_1, _b, _c;
105
+ const stream = fs.createReadStream(filePath, { encoding: 'utf-8' });
106
+ const rl = readline.createInterface({ input: stream, crlfDelay: Infinity });
107
+ try {
108
+ for (var _d = true, rl_1 = __asyncValues(rl), rl_1_1; rl_1_1 = yield rl_1.next(), _a = rl_1_1.done, !_a; _d = true) {
109
+ _c = rl_1_1.value;
110
+ _d = false;
111
+ const line = _c;
112
+ if (out.length >= limit)
113
+ break;
114
+ const trimmed = line.trim();
115
+ if (!trimmed)
116
+ continue;
117
+ let raw;
118
+ try {
119
+ raw = JSON.parse(trimmed);
120
+ }
121
+ catch (_e) {
122
+ continue;
123
+ }
124
+ const tokens = raw.sentence || [];
125
+ const nerTuples = raw.ner || [];
126
+ const relTuples = raw.relations || [];
127
+ if (tokens.length === 0 || nerTuples.length === 0 || relTuples.length === 0)
128
+ continue;
129
+ // Extract domain from doc_key prefix (e.g. "news-test-1" -> "news")
130
+ const detectedDomain = raw.doc_key.split('-')[0];
131
+ // Filter by domain if specified
132
+ if (domainFilter && !domainFilter.has(detectedDomain))
133
+ continue;
134
+ // Build span→mention lookup: "start,end" -> mention string
135
+ const spanToMention = new Map();
136
+ for (const [start, end] of nerTuples) {
137
+ const mention = tokens.slice(start, end + 1).join(' ');
138
+ spanToMention.set(`${start},${end}`, mention);
139
+ }
140
+ // Each relation tuple: [start1, end1, start2, end2, rel-type, ...]
141
+ const groundTruth = [];
142
+ for (const [s1, e1, s2, e2, relType] of relTuples) {
143
+ const subject = spanToMention.get(`${s1},${e1}`);
144
+ const object = spanToMention.get(`${s2},${e2}`);
145
+ if (subject && object) {
146
+ groundTruth.push({ subject, predicate: relType, object });
147
+ }
148
+ }
149
+ if (groundTruth.length === 0)
150
+ continue;
151
+ out.push({
152
+ id: raw.doc_key,
153
+ text: tokens.join(' '),
154
+ groundTruth,
155
+ domain: detectedDomain,
156
+ });
157
+ }
158
+ }
159
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
160
+ finally {
161
+ try {
162
+ if (!_d && !_a && (_b = rl_1.return)) yield _b.call(rl_1);
163
+ }
164
+ finally { if (e_1) throw e_1.error; }
165
+ }
166
+ });
167
+ }
168
+ }
169
+ exports.CrossREDataset = CrossREDataset;
170
+ //# sourceMappingURL=CrossREDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrossREDataset.js","sourceRoot":"","sources":["../../../src/evaluation/datasets/CrossREDataset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,mDAAqC;AAiBrC,MAAa,cAAc;IACzB;;;;;;;;;;OAUG;IACG,IAAI,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAe;;YACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,IAAI;oBAC5C,6EAA6E;oBAC7E,6DAA6D;oBAC7D,kFAAkF,CACnF,CAAC;YACJ,CAAC;YAED,+EAA+E;YAC/E,MAAM,YAAY,GAAuB,MAAM;gBAC7C,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/D,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAsB,EAAE,CAAC;YAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;oBAAE,MAAM;gBACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3E,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED,8EAA8E;IAE9E,kDAAkD;IAC1C,YAAY,CAAC,QAAgB;QACnC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAChC,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAEa,QAAQ,CACpB,QAAgB,EAChB,KAAa,EACb,YAAgC,EAChC,GAAsB;;;YAEtB,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;;gBAE5E,KAAyB,eAAA,OAAA,cAAA,EAAE,CAAA,QAAA,gEAAE,CAAC;oBAAL,kBAAE;oBAAF,WAAE;oBAAhB,MAAM,IAAI,KAAA,CAAA;oBACnB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;wBAAE,MAAM;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO;wBAAE,SAAS;oBAEvB,IAAI,GAAmB,CAAC;oBACxB,IAAI,CAAC;wBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC5B,CAAC;oBAAC,WAAM,CAAC;wBACP,SAAS;oBACX,CAAC;oBAED,MAAM,MAAM,GAAM,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACrC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;oBAChC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;oBAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAEtF,oEAAoE;oBACpE,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEjD,gCAAgC;oBAChC,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC;wBAAE,SAAS;oBAEhE,2DAA2D;oBAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;oBAChD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACvD,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;oBAChD,CAAC;oBAED,mEAAmE;oBACnE,MAAM,WAAW,GAAc,EAAE,CAAC;oBAClC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;wBAClD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;wBACjD,MAAM,MAAM,GAAI,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;wBACjD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;4BACtB,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAEvC,GAAG,CAAC,IAAI,CAAC;wBACP,EAAE,EAAE,GAAG,CAAC,OAAO;wBACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;wBACtB,WAAW;wBACX,MAAM,EAAE,cAAc;qBACvB,CAAC,CAAC;gBACL,CAAC;;;;;;;;;QACH,CAAC;KAAA;CACF;AAhHD,wCAgHC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDataset.js","sourceRoot":"","sources":["../../../src/evaluation/datasets/IDataset.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
45
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
46
+ var m = o[Symbol.asyncIterator], i;
47
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
48
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
49
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.RebelDataset = void 0;
53
+ const fs = __importStar(require("fs"));
54
+ const readline = __importStar(require("readline"));
55
+ class RebelDataset {
56
+ load(dataPath, limit) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ var _a, e_1, _b, _c;
59
+ var _d, _e, _f, _g, _h, _j;
60
+ if (!fs.existsSync(dataPath)) {
61
+ throw new Error(`REBEL dataset not found at: ${dataPath}\n` +
62
+ `Download from: https://huggingface.co/datasets/Babelscape/rebel-dataset`);
63
+ }
64
+ const samples = [];
65
+ const stream = fs.createReadStream(dataPath, { encoding: 'utf-8' });
66
+ const rl = readline.createInterface({ input: stream, crlfDelay: Infinity });
67
+ try {
68
+ for (var _k = true, rl_1 = __asyncValues(rl), rl_1_1; rl_1_1 = yield rl_1.next(), _a = rl_1_1.done, !_a; _k = true) {
69
+ _c = rl_1_1.value;
70
+ _k = false;
71
+ const line = _c;
72
+ if (samples.length >= limit)
73
+ break;
74
+ const trimmed = line.trim();
75
+ if (!trimmed)
76
+ continue;
77
+ let raw;
78
+ try {
79
+ raw = JSON.parse(trimmed);
80
+ }
81
+ catch (_l) {
82
+ continue;
83
+ }
84
+ const text = raw.text || '';
85
+ if (!text || !raw.triples || raw.triples.length === 0)
86
+ continue;
87
+ const groundTruth = [];
88
+ for (const t of raw.triples) {
89
+ const subject = (_e = (_d = t.subject) === null || _d === void 0 ? void 0 : _d.surfaceform) === null || _e === void 0 ? void 0 : _e.trim();
90
+ const predicate = (_g = (_f = t.predicate) === null || _f === void 0 ? void 0 : _f.surfaceform) === null || _g === void 0 ? void 0 : _g.trim();
91
+ const object = (_j = (_h = t.object) === null || _h === void 0 ? void 0 : _h.surfaceform) === null || _j === void 0 ? void 0 : _j.trim();
92
+ if (subject && predicate && object) {
93
+ groundTruth.push({ subject, predicate, object });
94
+ }
95
+ }
96
+ if (groundTruth.length === 0)
97
+ continue;
98
+ samples.push({
99
+ id: raw.docid || String(samples.length),
100
+ text,
101
+ groundTruth,
102
+ });
103
+ }
104
+ }
105
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
106
+ finally {
107
+ try {
108
+ if (!_k && !_a && (_b = rl_1.return)) yield _b.call(rl_1);
109
+ }
110
+ finally { if (e_1) throw e_1.error; }
111
+ }
112
+ return samples;
113
+ });
114
+ }
115
+ }
116
+ exports.RebelDataset = RebelDataset;
117
+ //# sourceMappingURL=RebelDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RebelDataset.js","sourceRoot":"","sources":["../../../src/evaluation/datasets/RebelDataset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,mDAAqC;AA6CrC,MAAa,YAAY;IACjB,IAAI,CAAC,QAAgB,EAAE,KAAa;;;;YACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,IAAI;oBAC3C,yEAAyE,CAC1E,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;;gBAE5E,KAAyB,eAAA,OAAA,cAAA,EAAE,CAAA,QAAA,gEAAE,CAAC;oBAAL,kBAAE;oBAAF,WAAE;oBAAhB,MAAM,IAAI,KAAA,CAAA;oBACnB,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;wBAAE,MAAM;oBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO;wBAAE,SAAS;oBAEvB,IAAI,GAAiB,CAAC;oBACtB,IAAI,CAAC;wBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC5B,CAAC;oBAAC,WAAM,CAAC;wBACP,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAEhE,MAAM,WAAW,GAAc,EAAE,CAAC;oBAClC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAC5B,MAAM,OAAO,GAAK,MAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,WAAW,0CAAE,IAAI,EAAE,CAAC;wBACjD,MAAM,SAAS,GAAG,MAAA,MAAA,CAAC,CAAC,SAAS,0CAAE,WAAW,0CAAE,IAAI,EAAE,CAAC;wBACnD,MAAM,MAAM,GAAM,MAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,WAAW,0CAAE,IAAI,EAAE,CAAC;wBAChD,IAAI,OAAO,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;4BACnC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;oBAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAEvC,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;wBACvC,IAAI;wBACJ,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;;;;;;;;;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;CACF;AAjDD,oCAiDC"}
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.RedocredDataset = void 0;
46
+ const fs = __importStar(require("fs"));
47
+ // RE-DocRED JSON format (Qin et al., 2022):
48
+ // Array of documents, each with:
49
+ // {
50
+ // title: "...",
51
+ // sents: [["The", "Loud", "Tour", ...], [...], ...], // sentences as token arrays
52
+ // vertexSet: [ // entity groups
53
+ // [{ name, pos, sent_id, type, global_pos, index }, ...], // multiple mentions
54
+ // ...
55
+ // ],
56
+ // labels: [{ r: "P577", h: 0, t: 6, evidence: [1] }, ...] // relations (Wikidata PIDs)
57
+ // }
58
+ //
59
+ // Entity name resolution: longest mention in the group (most specific surface form).
60
+ // Text reconstruction: token-join all sentences with a single space between sentences.
61
+ // Relation labels: Wikidata property IDs are mapped to human-readable names via
62
+ // WIKIDATA_PROP_LABELS so the semantic matcher can compare them meaningfully.
63
+ // ─── Wikidata property ID → readable label ────────────────────────────────────
64
+ // Covers all 96 RE-DocRED relation types.
65
+ const WIKIDATA_PROP_LABELS = {
66
+ P6: 'head of government',
67
+ P17: 'country',
68
+ P19: 'place of birth',
69
+ P20: 'place of death',
70
+ P22: 'father',
71
+ P25: 'mother',
72
+ P26: 'spouse',
73
+ P27: 'country of citizenship',
74
+ P30: 'continent',
75
+ P31: 'instance of',
76
+ P35: 'head of state',
77
+ P36: 'capital',
78
+ P37: 'official language',
79
+ P39: 'position held',
80
+ P40: 'child',
81
+ P50: 'author',
82
+ P54: 'member of sports team',
83
+ P57: 'director',
84
+ P58: 'screenwriter',
85
+ P69: 'educated at',
86
+ P86: 'composer',
87
+ P102: 'member of political party',
88
+ P108: 'employer',
89
+ P112: 'founded by',
90
+ P118: 'league',
91
+ P123: 'publisher',
92
+ P127: 'owned by',
93
+ P131: 'located in administrative entity',
94
+ P136: 'genre',
95
+ P137: 'operator',
96
+ P140: 'religion or worldview',
97
+ P150: 'contains administrative entity',
98
+ P155: 'follows',
99
+ P156: 'followed by',
100
+ P159: 'headquarters location',
101
+ P161: 'cast member',
102
+ P162: 'producer',
103
+ P166: 'award received',
104
+ P170: 'creator',
105
+ P171: 'parent taxon',
106
+ P172: 'ethnic group',
107
+ P175: 'performer',
108
+ P176: 'manufacturer',
109
+ P178: 'developer',
110
+ P179: 'series',
111
+ P190: 'twinned administrative body',
112
+ P194: 'legislative body',
113
+ P205: 'basin country',
114
+ P206: 'located next to body of water',
115
+ P241: 'military branch',
116
+ P264: 'record label',
117
+ P272: 'production company',
118
+ P276: 'location',
119
+ P279: 'subclass of',
120
+ P355: 'subsidiary',
121
+ P361: 'part of',
122
+ P364: 'original language',
123
+ P400: 'platform',
124
+ P403: 'mouth of watercourse',
125
+ P449: 'original network',
126
+ P463: 'member of',
127
+ P488: 'chairperson',
128
+ P495: 'country of origin',
129
+ P527: 'has part',
130
+ P551: 'residence',
131
+ P569: 'date of birth',
132
+ P570: 'date of death',
133
+ P571: 'inception date',
134
+ P576: 'dissolved date',
135
+ P577: 'publication date',
136
+ P580: 'start time',
137
+ P582: 'end time',
138
+ P585: 'point in time',
139
+ P607: 'conflict',
140
+ P674: 'characters',
141
+ P676: 'lyrics by',
142
+ P706: 'located on terrain feature',
143
+ P710: 'participant',
144
+ P737: 'influenced by',
145
+ P740: 'location of formation',
146
+ P749: 'parent organization',
147
+ P800: 'notable work',
148
+ P807: 'separated from',
149
+ P840: 'narrative location',
150
+ P937: 'work location',
151
+ P1001: 'applies to jurisdiction',
152
+ P1056: 'product or material produced',
153
+ P1198: 'unemployment rate',
154
+ P1336: 'territory claimed by',
155
+ P1344: 'participant in',
156
+ P1365: 'replaces',
157
+ P1366: 'replaced by',
158
+ P1376: 'capital of',
159
+ P1412: 'languages spoken or written',
160
+ P1441: 'present in work',
161
+ P3373: 'sibling',
162
+ };
163
+ // ─── Dataset loader ───────────────────────────────────────────────────────────
164
+ class RedocredDataset {
165
+ /**
166
+ * Load RE-DocRED samples.
167
+ *
168
+ * @param dataPath Path to one of the JSON files:
169
+ * data/redocred/test_revised.json ← use for benchmarking
170
+ * data/redocred/dev_revised.json
171
+ * data/redocred/train_revised.json
172
+ * @param limit Maximum samples to return (0 / MAX_SAFE_INTEGER = all).
173
+ * @param domain Unused — RE-DocRED has no domain splits. Accepted for
174
+ * interface compatibility; pass undefined.
175
+ */
176
+ load(dataPath, limit, _domain) {
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ var _a, _b, _c, _d;
179
+ if (!fs.existsSync(dataPath)) {
180
+ throw new Error(`RE-DocRED dataset not found at: ${dataPath}\n` +
181
+ `Download from: https://github.com/tonytan48/Re-DocRED\n` +
182
+ `Expected files: test_revised.json, dev_revised.json, train_revised.json`);
183
+ }
184
+ const raw = JSON.parse(fs.readFileSync(dataPath, 'utf-8'));
185
+ const samples = [];
186
+ for (let i = 0; i < raw.length && samples.length < limit; i++) {
187
+ const doc = raw[i];
188
+ if (!((_a = doc.sents) === null || _a === void 0 ? void 0 : _a.length) || !((_b = doc.vertexSet) === null || _b === void 0 ? void 0 : _b.length) || !((_c = doc.labels) === null || _c === void 0 ? void 0 : _c.length))
189
+ continue;
190
+ // Reconstruct full text by joining tokens across all sentences
191
+ const text = doc.sents.map(sent => sent.join(' ')).join(' ');
192
+ // Build entity index: entity group idx → canonical name (longest mention)
193
+ const entityNames = doc.vertexSet.map(mentions => mentions.reduce((best, m) => m.name.length > best.length ? m.name : best, ''));
194
+ // Build ground-truth triplets
195
+ const groundTruth = [];
196
+ for (const label of doc.labels) {
197
+ const subject = entityNames[label.h];
198
+ const object = entityNames[label.t];
199
+ const predicate = (_d = WIKIDATA_PROP_LABELS[label.r]) !== null && _d !== void 0 ? _d : label.r;
200
+ if (subject && object && predicate) {
201
+ groundTruth.push({ subject, predicate, object });
202
+ }
203
+ }
204
+ if (groundTruth.length === 0)
205
+ continue;
206
+ samples.push({
207
+ id: `${doc.title.replace(/\s+/g, '_')}_${i}`,
208
+ text,
209
+ groundTruth,
210
+ // No domain field in RE-DocRED; omit rather than set to undefined
211
+ });
212
+ }
213
+ return samples;
214
+ });
215
+ }
216
+ }
217
+ exports.RedocredDataset = RedocredDataset;
218
+ //# sourceMappingURL=RedocredDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedocredDataset.js","sourceRoot":"","sources":["../../../src/evaluation/datasets/RedocredDataset.ts"],"names":[],"mappings":"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"}