@nahisaho/katashiro-analyzer 0.2.2 → 0.2.4

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 (153) hide show
  1. package/dist/factcheck/ClaimParser.d.ts +41 -0
  2. package/dist/factcheck/ClaimParser.d.ts.map +1 -0
  3. package/dist/factcheck/ClaimParser.js +149 -0
  4. package/dist/factcheck/ClaimParser.js.map +1 -0
  5. package/dist/factcheck/ConsistencyChecker.d.ts +56 -0
  6. package/dist/factcheck/ConsistencyChecker.d.ts.map +1 -0
  7. package/dist/factcheck/ConsistencyChecker.js +184 -0
  8. package/dist/factcheck/ConsistencyChecker.js.map +1 -0
  9. package/dist/factcheck/EvidenceCollector.d.ts +89 -0
  10. package/dist/factcheck/EvidenceCollector.d.ts.map +1 -0
  11. package/dist/factcheck/EvidenceCollector.js +222 -0
  12. package/dist/factcheck/EvidenceCollector.js.map +1 -0
  13. package/dist/factcheck/FactChecker.d.ts +81 -0
  14. package/dist/factcheck/FactChecker.d.ts.map +1 -0
  15. package/dist/factcheck/FactChecker.js +302 -0
  16. package/dist/factcheck/FactChecker.js.map +1 -0
  17. package/dist/factcheck/TrustedSourceRegistry.d.ts +47 -0
  18. package/dist/factcheck/TrustedSourceRegistry.d.ts.map +1 -0
  19. package/dist/factcheck/TrustedSourceRegistry.js +208 -0
  20. package/dist/factcheck/TrustedSourceRegistry.js.map +1 -0
  21. package/dist/factcheck/VerdictGenerator.d.ts +36 -0
  22. package/dist/factcheck/VerdictGenerator.d.ts.map +1 -0
  23. package/dist/factcheck/VerdictGenerator.js +154 -0
  24. package/dist/factcheck/VerdictGenerator.js.map +1 -0
  25. package/dist/factcheck/index.d.ts +15 -0
  26. package/dist/factcheck/index.d.ts.map +1 -0
  27. package/dist/factcheck/index.js +14 -0
  28. package/dist/factcheck/index.js.map +1 -0
  29. package/dist/factcheck/types.d.ts +265 -0
  30. package/dist/factcheck/types.d.ts.map +1 -0
  31. package/dist/factcheck/types.js +18 -0
  32. package/dist/factcheck/types.js.map +1 -0
  33. package/dist/index.d.ts +5 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +10 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/interpreter/CodeInterpreter.d.ts +119 -0
  38. package/dist/interpreter/CodeInterpreter.d.ts.map +1 -0
  39. package/dist/interpreter/CodeInterpreter.js +241 -0
  40. package/dist/interpreter/CodeInterpreter.js.map +1 -0
  41. package/dist/interpreter/CodeValidator.d.ts +57 -0
  42. package/dist/interpreter/CodeValidator.d.ts.map +1 -0
  43. package/dist/interpreter/CodeValidator.js +283 -0
  44. package/dist/interpreter/CodeValidator.js.map +1 -0
  45. package/dist/interpreter/ExecutionEngine.d.ts +73 -0
  46. package/dist/interpreter/ExecutionEngine.d.ts.map +1 -0
  47. package/dist/interpreter/ExecutionEngine.js +273 -0
  48. package/dist/interpreter/ExecutionEngine.js.map +1 -0
  49. package/dist/interpreter/ResultFormatter.d.ts +72 -0
  50. package/dist/interpreter/ResultFormatter.d.ts.map +1 -0
  51. package/dist/interpreter/ResultFormatter.js +187 -0
  52. package/dist/interpreter/ResultFormatter.js.map +1 -0
  53. package/dist/interpreter/SandboxManager.d.ts +111 -0
  54. package/dist/interpreter/SandboxManager.d.ts.map +1 -0
  55. package/dist/interpreter/SandboxManager.js +215 -0
  56. package/dist/interpreter/SandboxManager.js.map +1 -0
  57. package/dist/interpreter/SessionManager.d.ts +101 -0
  58. package/dist/interpreter/SessionManager.d.ts.map +1 -0
  59. package/dist/interpreter/SessionManager.js +184 -0
  60. package/dist/interpreter/SessionManager.js.map +1 -0
  61. package/dist/interpreter/index.d.ts +13 -0
  62. package/dist/interpreter/index.d.ts.map +1 -0
  63. package/dist/interpreter/index.js +13 -0
  64. package/dist/interpreter/index.js.map +1 -0
  65. package/dist/interpreter/types.d.ts +311 -0
  66. package/dist/interpreter/types.d.ts.map +1 -0
  67. package/dist/interpreter/types.js +91 -0
  68. package/dist/interpreter/types.js.map +1 -0
  69. package/dist/moa/AgentOrchestrator.d.ts +53 -0
  70. package/dist/moa/AgentOrchestrator.d.ts.map +1 -0
  71. package/dist/moa/AgentOrchestrator.js +164 -0
  72. package/dist/moa/AgentOrchestrator.js.map +1 -0
  73. package/dist/moa/ConsensusCalculator.d.ts +76 -0
  74. package/dist/moa/ConsensusCalculator.d.ts.map +1 -0
  75. package/dist/moa/ConsensusCalculator.js +221 -0
  76. package/dist/moa/ConsensusCalculator.js.map +1 -0
  77. package/dist/moa/MoAEngine.d.ts +97 -0
  78. package/dist/moa/MoAEngine.d.ts.map +1 -0
  79. package/dist/moa/MoAEngine.js +303 -0
  80. package/dist/moa/MoAEngine.js.map +1 -0
  81. package/dist/moa/ResponseAggregator.d.ts +65 -0
  82. package/dist/moa/ResponseAggregator.d.ts.map +1 -0
  83. package/dist/moa/ResponseAggregator.js +274 -0
  84. package/dist/moa/ResponseAggregator.js.map +1 -0
  85. package/dist/moa/TaskAnalyzer.d.ts +30 -0
  86. package/dist/moa/TaskAnalyzer.d.ts.map +1 -0
  87. package/dist/moa/TaskAnalyzer.js +116 -0
  88. package/dist/moa/TaskAnalyzer.js.map +1 -0
  89. package/dist/moa/index.d.ts +19 -0
  90. package/dist/moa/index.d.ts.map +1 -0
  91. package/dist/moa/index.js +18 -0
  92. package/dist/moa/index.js.map +1 -0
  93. package/dist/moa/types.d.ts +261 -0
  94. package/dist/moa/types.d.ts.map +1 -0
  95. package/dist/moa/types.js +70 -0
  96. package/dist/moa/types.js.map +1 -0
  97. package/dist/research/ConvergenceDetector.d.ts +37 -0
  98. package/dist/research/ConvergenceDetector.d.ts.map +1 -0
  99. package/dist/research/ConvergenceDetector.js +62 -0
  100. package/dist/research/ConvergenceDetector.js.map +1 -0
  101. package/dist/research/DeepResearchOrchestrator.d.ts +63 -0
  102. package/dist/research/DeepResearchOrchestrator.d.ts.map +1 -0
  103. package/dist/research/DeepResearchOrchestrator.js +283 -0
  104. package/dist/research/DeepResearchOrchestrator.js.map +1 -0
  105. package/dist/research/FindingIntegrator.d.ts +42 -0
  106. package/dist/research/FindingIntegrator.d.ts.map +1 -0
  107. package/dist/research/FindingIntegrator.js +239 -0
  108. package/dist/research/FindingIntegrator.js.map +1 -0
  109. package/dist/research/GapAnalyzer.d.ts +41 -0
  110. package/dist/research/GapAnalyzer.d.ts.map +1 -0
  111. package/dist/research/GapAnalyzer.js +145 -0
  112. package/dist/research/GapAnalyzer.js.map +1 -0
  113. package/dist/research/QueryGenerator.d.ts +38 -0
  114. package/dist/research/QueryGenerator.d.ts.map +1 -0
  115. package/dist/research/QueryGenerator.js +79 -0
  116. package/dist/research/QueryGenerator.js.map +1 -0
  117. package/dist/research/index.d.ts +14 -0
  118. package/dist/research/index.d.ts.map +1 -0
  119. package/dist/research/index.js +13 -0
  120. package/dist/research/index.js.map +1 -0
  121. package/dist/research/types.d.ts +215 -0
  122. package/dist/research/types.d.ts.map +1 -0
  123. package/dist/research/types.js +18 -0
  124. package/dist/research/types.js.map +1 -0
  125. package/dist/trend/ForecastEngine.d.ts +65 -0
  126. package/dist/trend/ForecastEngine.d.ts.map +1 -0
  127. package/dist/trend/ForecastEngine.js +260 -0
  128. package/dist/trend/ForecastEngine.js.map +1 -0
  129. package/dist/trend/TimeSeriesCollector.d.ts +42 -0
  130. package/dist/trend/TimeSeriesCollector.d.ts.map +1 -0
  131. package/dist/trend/TimeSeriesCollector.js +172 -0
  132. package/dist/trend/TimeSeriesCollector.js.map +1 -0
  133. package/dist/trend/TrendAnalyzer.d.ts +72 -0
  134. package/dist/trend/TrendAnalyzer.d.ts.map +1 -0
  135. package/dist/trend/TrendAnalyzer.js +291 -0
  136. package/dist/trend/TrendAnalyzer.js.map +1 -0
  137. package/dist/trend/TrendDetector.d.ts +67 -0
  138. package/dist/trend/TrendDetector.d.ts.map +1 -0
  139. package/dist/trend/TrendDetector.js +325 -0
  140. package/dist/trend/TrendDetector.js.map +1 -0
  141. package/dist/trend/VisualizationGenerator.d.ts +75 -0
  142. package/dist/trend/VisualizationGenerator.d.ts.map +1 -0
  143. package/dist/trend/VisualizationGenerator.js +294 -0
  144. package/dist/trend/VisualizationGenerator.js.map +1 -0
  145. package/dist/trend/index.d.ts +16 -0
  146. package/dist/trend/index.d.ts.map +1 -0
  147. package/dist/trend/index.js +18 -0
  148. package/dist/trend/index.js.map +1 -0
  149. package/dist/trend/types.d.ts +279 -0
  150. package/dist/trend/types.d.ts.map +1 -0
  151. package/dist/trend/types.js +17 -0
  152. package/dist/trend/types.js.map +1 -0
  153. package/package.json +4 -2
@@ -0,0 +1,47 @@
1
+ /**
2
+ * TrustedSourceRegistry - 信頼できるソースの管理
3
+ *
4
+ * @requirement REQ-ANALYZE-006
5
+ * @design DES-ANALYZE-006-FactChecker
6
+ */
7
+ import type { TrustedSourceConfig, VerificationSourceType } from './types.js';
8
+ /**
9
+ * 信頼できるソースのレジストリ
10
+ */
11
+ export declare class TrustedSourceRegistry {
12
+ private sources;
13
+ constructor(initialSources?: TrustedSourceConfig[]);
14
+ /**
15
+ * ソースを登録
16
+ */
17
+ register(source: TrustedSourceConfig): void;
18
+ /**
19
+ * ドメインから信頼性スコアを取得
20
+ */
21
+ getCredibility(domain: string): number;
22
+ /**
23
+ * ドメインからソース情報を取得
24
+ */
25
+ getSource(domain: string): TrustedSourceConfig | undefined;
26
+ /**
27
+ * ソースの種類を取得
28
+ */
29
+ getSourceType(domain: string): VerificationSourceType | undefined;
30
+ /**
31
+ * 特定の種類のソースを取得
32
+ */
33
+ getSourcesByType(type: VerificationSourceType): TrustedSourceConfig[];
34
+ /**
35
+ * 全ソースを取得
36
+ */
37
+ getAllSources(): TrustedSourceConfig[];
38
+ /**
39
+ * ドメインが信頼できるかチェック
40
+ */
41
+ isTrusted(domain: string): boolean;
42
+ /**
43
+ * ドメインを正規化
44
+ */
45
+ private normalizeDomain;
46
+ }
47
+ //# sourceMappingURL=TrustedSourceRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrustedSourceRegistry.d.ts","sourceRoot":"","sources":["../../src/factcheck/TrustedSourceRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAA+C;gBAElD,cAAc,GAAE,mBAAmB,EAAO;IAYtD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAI3C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAYtC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAK1D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAKjE;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,EAAE;IAIrE;;OAEG;IACH,aAAa,IAAI,mBAAmB,EAAE;IAItC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlC;;OAEG;IACH,OAAO,CAAC,eAAe;CAQxB"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * TrustedSourceRegistry - 信頼できるソースの管理
3
+ *
4
+ * @requirement REQ-ANALYZE-006
5
+ * @design DES-ANALYZE-006-FactChecker
6
+ */
7
+ /**
8
+ * 信頼できるソースのレジストリ
9
+ */
10
+ export class TrustedSourceRegistry {
11
+ sources = new Map();
12
+ constructor(initialSources = []) {
13
+ // デフォルトのソースを登録
14
+ for (const source of DEFAULT_TRUSTED_SOURCES) {
15
+ this.register(source);
16
+ }
17
+ // 追加のソースを登録
18
+ for (const source of initialSources) {
19
+ this.register(source);
20
+ }
21
+ }
22
+ /**
23
+ * ソースを登録
24
+ */
25
+ register(source) {
26
+ this.sources.set(source.domain, source);
27
+ }
28
+ /**
29
+ * ドメインから信頼性スコアを取得
30
+ */
31
+ getCredibility(domain) {
32
+ const normalizedDomain = this.normalizeDomain(domain);
33
+ const source = this.sources.get(normalizedDomain);
34
+ if (source) {
35
+ return source.baseCredibility;
36
+ }
37
+ // 未登録のソースはデフォルトの信頼度
38
+ return 0.5;
39
+ }
40
+ /**
41
+ * ドメインからソース情報を取得
42
+ */
43
+ getSource(domain) {
44
+ const normalizedDomain = this.normalizeDomain(domain);
45
+ return this.sources.get(normalizedDomain);
46
+ }
47
+ /**
48
+ * ソースの種類を取得
49
+ */
50
+ getSourceType(domain) {
51
+ const source = this.getSource(domain);
52
+ return source?.sourceType;
53
+ }
54
+ /**
55
+ * 特定の種類のソースを取得
56
+ */
57
+ getSourcesByType(type) {
58
+ return Array.from(this.sources.values()).filter(s => s.sourceType === type);
59
+ }
60
+ /**
61
+ * 全ソースを取得
62
+ */
63
+ getAllSources() {
64
+ return Array.from(this.sources.values());
65
+ }
66
+ /**
67
+ * ドメインが信頼できるかチェック
68
+ */
69
+ isTrusted(domain) {
70
+ const normalizedDomain = this.normalizeDomain(domain);
71
+ return this.sources.has(normalizedDomain);
72
+ }
73
+ /**
74
+ * ドメインを正規化
75
+ */
76
+ normalizeDomain(domain) {
77
+ // URLからドメインを抽出
78
+ let normalized = domain.toLowerCase();
79
+ normalized = normalized.replace(/^https?:\/\//, '');
80
+ normalized = normalized.replace(/^www\./, '');
81
+ normalized = normalized.split('/')[0];
82
+ return normalized;
83
+ }
84
+ }
85
+ /**
86
+ * デフォルトの信頼できるソース
87
+ */
88
+ const DEFAULT_TRUSTED_SOURCES = [
89
+ // ファクトチェック組織
90
+ {
91
+ name: 'Snopes',
92
+ domain: 'snopes.com',
93
+ sourceType: 'factcheck_org',
94
+ baseCredibility: 0.9,
95
+ specialties: ['urban legends', 'viral claims', 'hoaxes'],
96
+ },
97
+ {
98
+ name: 'PolitiFact',
99
+ domain: 'politifact.com',
100
+ sourceType: 'factcheck_org',
101
+ baseCredibility: 0.9,
102
+ specialties: ['politics', 'policy'],
103
+ },
104
+ {
105
+ name: 'FactCheck.org',
106
+ domain: 'factcheck.org',
107
+ sourceType: 'factcheck_org',
108
+ baseCredibility: 0.9,
109
+ specialties: ['politics', 'science'],
110
+ },
111
+ {
112
+ name: 'Full Fact',
113
+ domain: 'fullfact.org',
114
+ sourceType: 'factcheck_org',
115
+ baseCredibility: 0.9,
116
+ specialties: ['UK politics', 'health'],
117
+ language: 'en',
118
+ },
119
+ // 主要ニュースメディア
120
+ {
121
+ name: 'Reuters',
122
+ domain: 'reuters.com',
123
+ sourceType: 'trusted_news',
124
+ baseCredibility: 0.85,
125
+ specialties: ['international news', 'business'],
126
+ },
127
+ {
128
+ name: 'Associated Press',
129
+ domain: 'apnews.com',
130
+ sourceType: 'trusted_news',
131
+ baseCredibility: 0.85,
132
+ specialties: ['breaking news', 'US news'],
133
+ },
134
+ {
135
+ name: 'BBC',
136
+ domain: 'bbc.com',
137
+ sourceType: 'trusted_news',
138
+ baseCredibility: 0.85,
139
+ specialties: ['international news', 'UK news'],
140
+ },
141
+ {
142
+ name: 'NPR',
143
+ domain: 'npr.org',
144
+ sourceType: 'trusted_news',
145
+ baseCredibility: 0.85,
146
+ specialties: ['US news', 'culture'],
147
+ },
148
+ // 政府機関
149
+ {
150
+ name: 'World Health Organization',
151
+ domain: 'who.int',
152
+ sourceType: 'government',
153
+ baseCredibility: 0.9,
154
+ specialties: ['health', 'disease', 'medical'],
155
+ },
156
+ {
157
+ name: 'CDC',
158
+ domain: 'cdc.gov',
159
+ sourceType: 'government',
160
+ baseCredibility: 0.9,
161
+ specialties: ['health', 'disease', 'medical'],
162
+ language: 'en',
163
+ },
164
+ {
165
+ name: 'NASA',
166
+ domain: 'nasa.gov',
167
+ sourceType: 'government',
168
+ baseCredibility: 0.9,
169
+ specialties: ['space', 'climate', 'science'],
170
+ },
171
+ // 学術・統計
172
+ {
173
+ name: 'Nature',
174
+ domain: 'nature.com',
175
+ sourceType: 'academic',
176
+ baseCredibility: 0.95,
177
+ specialties: ['science', 'research'],
178
+ },
179
+ {
180
+ name: 'Science',
181
+ domain: 'science.org',
182
+ sourceType: 'academic',
183
+ baseCredibility: 0.95,
184
+ specialties: ['science', 'research'],
185
+ },
186
+ {
187
+ name: 'PubMed Central',
188
+ domain: 'ncbi.nlm.nih.gov',
189
+ sourceType: 'academic',
190
+ baseCredibility: 0.9,
191
+ specialties: ['medical', 'biology'],
192
+ },
193
+ {
194
+ name: 'World Bank',
195
+ domain: 'worldbank.org',
196
+ sourceType: 'statistics',
197
+ baseCredibility: 0.9,
198
+ specialties: ['economics', 'development'],
199
+ },
200
+ {
201
+ name: 'UN Data',
202
+ domain: 'data.un.org',
203
+ sourceType: 'statistics',
204
+ baseCredibility: 0.9,
205
+ specialties: ['demographics', 'global statistics'],
206
+ },
207
+ ];
208
+ //# sourceMappingURL=TrustedSourceRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrustedSourceRegistry.js","sourceRoot":"","sources":["../../src/factcheck/TrustedSourceRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * VerdictGenerator - 判定結果の生成
3
+ *
4
+ * @requirement REQ-ANALYZE-006
5
+ * @design DES-ANALYZE-006-FactChecker
6
+ */
7
+ import type { Verdict, VerdictLabel, VerdictInput } from './types.js';
8
+ /**
9
+ * 最終判定を生成するクラス
10
+ */
11
+ export declare class VerdictGenerator {
12
+ /**
13
+ * 判定結果を生成
14
+ */
15
+ generate(input: VerdictInput): Verdict;
16
+ /**
17
+ * クイック判定を生成
18
+ */
19
+ generateQuick(supporting: number, contradicting: number, total: number): {
20
+ label: VerdictLabel;
21
+ score: number;
22
+ };
23
+ /**
24
+ * 既存ファクトチェック結果に基づいて判定を調整
25
+ */
26
+ private adjustVerdict;
27
+ /**
28
+ * 判定理由を生成
29
+ */
30
+ private generateRationale;
31
+ /**
32
+ * 注意事項を生成
33
+ */
34
+ private generateCaveats;
35
+ }
36
+ //# sourceMappingURL=VerdictGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerdictGenerator.d.ts","sourceRoot":"","sources":["../../src/factcheck/VerdictGenerator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IA4EtC;;OAEG;IACH,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAqBzC;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,eAAe;CAqBxB"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * VerdictGenerator - 判定結果の生成
3
+ *
4
+ * @requirement REQ-ANALYZE-006
5
+ * @design DES-ANALYZE-006-FactChecker
6
+ */
7
+ /**
8
+ * 最終判定を生成するクラス
9
+ */
10
+ export class VerdictGenerator {
11
+ /**
12
+ * 判定結果を生成
13
+ */
14
+ generate(input) {
15
+ const { claimVerifications, consistencyScore, evidenceCount, strictnessLevel, existingFactChecks, } = input;
16
+ // エビデンス不足チェック
17
+ const minEvidence = strictnessLevel === 'strict' ? 5
18
+ : strictnessLevel === 'moderate' ? 3 : 2;
19
+ if (evidenceCount < minEvidence) {
20
+ return {
21
+ label: 'unverifiable',
22
+ score: 0,
23
+ rationale: `Insufficient evidence for verification (found ${evidenceCount}, need ${minEvidence})`,
24
+ caveats: ['More evidence needed for a reliable verdict'],
25
+ };
26
+ }
27
+ // 検証結果を集計
28
+ const verified = claimVerifications.filter(v => v.verified === true).length;
29
+ const falsified = claimVerifications.filter(v => v.verified === false).length;
30
+ const total = claimVerifications.length;
31
+ // 既存のファクトチェック結果を考慮
32
+ if (existingFactChecks && existingFactChecks.length > 0) {
33
+ const existingVerdicts = existingFactChecks.map(fc => fc.verdict.toLowerCase());
34
+ if (existingVerdicts.every(v => v.includes('true') && !v.includes('false'))) {
35
+ return this.adjustVerdict('true', consistencyScore, existingFactChecks);
36
+ }
37
+ if (existingVerdicts.every(v => v.includes('false'))) {
38
+ return this.adjustVerdict('false', consistencyScore, existingFactChecks);
39
+ }
40
+ }
41
+ // 判定ロジック
42
+ const verifiedRatio = total > 0 ? verified / total : 0;
43
+ const falsifiedRatio = total > 0 ? falsified / total : 0;
44
+ let label;
45
+ let score;
46
+ if (verifiedRatio >= 0.9 && falsifiedRatio === 0) {
47
+ label = 'true';
48
+ score = 0.9 + consistencyScore * 0.1;
49
+ }
50
+ else if (verifiedRatio >= 0.7 && falsifiedRatio < 0.1) {
51
+ label = 'mostly_true';
52
+ score = 0.7 + verifiedRatio * 0.2;
53
+ }
54
+ else if (verifiedRatio >= 0.4 && falsifiedRatio < 0.3) {
55
+ label = 'half_true';
56
+ score = 0.3 + (verifiedRatio - falsifiedRatio) * 0.4;
57
+ }
58
+ else if (falsifiedRatio >= 0.7 && verifiedRatio < 0.1) {
59
+ label = 'mostly_false';
60
+ score = -0.7 - falsifiedRatio * 0.2;
61
+ }
62
+ else if (falsifiedRatio >= 0.9 && verifiedRatio === 0) {
63
+ label = 'false';
64
+ score = -0.9 - consistencyScore * 0.1;
65
+ }
66
+ else if (consistencyScore < 0.3) {
67
+ label = 'misleading';
68
+ score = 0;
69
+ }
70
+ else {
71
+ label = 'lacks_context';
72
+ score = 0;
73
+ }
74
+ return {
75
+ label,
76
+ score: Math.max(-1, Math.min(1, score)),
77
+ rationale: this.generateRationale(label, verified, falsified, total),
78
+ caveats: this.generateCaveats(label, consistencyScore, evidenceCount),
79
+ };
80
+ }
81
+ /**
82
+ * クイック判定を生成
83
+ */
84
+ generateQuick(supporting, contradicting, total) {
85
+ if (total === 0) {
86
+ return { label: 'unverifiable', score: 0 };
87
+ }
88
+ const supportRatio = supporting / total;
89
+ const contradictRatio = contradicting / total;
90
+ if (supportRatio > 0.7 && contradictRatio < 0.1) {
91
+ return { label: 'true', score: 0.8 };
92
+ }
93
+ else if (supportRatio > 0.5) {
94
+ return { label: 'mostly_true', score: 0.6 };
95
+ }
96
+ else if (contradictRatio > 0.7) {
97
+ return { label: 'false', score: -0.8 };
98
+ }
99
+ else if (contradictRatio > 0.5) {
100
+ return { label: 'mostly_false', score: -0.6 };
101
+ }
102
+ else {
103
+ return { label: 'half_true', score: 0 };
104
+ }
105
+ }
106
+ /**
107
+ * 既存ファクトチェック結果に基づいて判定を調整
108
+ */
109
+ adjustVerdict(baseLabel, consistencyScore, existingFactChecks) {
110
+ return {
111
+ label: baseLabel,
112
+ score: baseLabel === 'true' ? 0.9 : -0.9,
113
+ rationale: `This claim has been previously fact-checked by ${existingFactChecks.length} organization(s)`,
114
+ caveats: [
115
+ 'Verdict influenced by existing fact-check results',
116
+ `Consistency score: ${(consistencyScore * 100).toFixed(0)}%`,
117
+ ],
118
+ };
119
+ }
120
+ /**
121
+ * 判定理由を生成
122
+ */
123
+ generateRationale(label, verified, falsified, total) {
124
+ const rationales = {
125
+ true: `All ${total} verifiable claims were confirmed by evidence`,
126
+ mostly_true: `${verified} of ${total} claims verified; minor inaccuracies found`,
127
+ half_true: `Mixed evidence: ${verified} claims supported, ${falsified} contradicted`,
128
+ mostly_false: `Most claims contradicted by evidence (${falsified} of ${total})`,
129
+ false: `All ${total} verifiable claims were contradicted by evidence`,
130
+ unverifiable: `Unable to find sufficient evidence to verify the claims`,
131
+ misleading: `Evidence shows the claim is technically accurate but misleading in context`,
132
+ outdated: `The information was once true but is no longer current`,
133
+ lacks_context: `The claim omits important context that changes its meaning`,
134
+ };
135
+ return rationales[label];
136
+ }
137
+ /**
138
+ * 注意事項を生成
139
+ */
140
+ generateCaveats(label, consistencyScore, evidenceCount) {
141
+ const caveats = [];
142
+ if (consistencyScore < 0.5) {
143
+ caveats.push('Evidence sources show some inconsistency');
144
+ }
145
+ if (evidenceCount < 5) {
146
+ caveats.push('Limited number of sources consulted');
147
+ }
148
+ if (label === 'half_true' || label === 'lacks_context') {
149
+ caveats.push('Full context should be considered when evaluating this claim');
150
+ }
151
+ return caveats;
152
+ }
153
+ }
154
+ //# sourceMappingURL=VerdictGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerdictGenerator.js","sourceRoot":"","sources":["../../src/factcheck/VerdictGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * FactChecker モジュールエクスポート
3
+ *
4
+ * @requirement REQ-ANALYZE-006
5
+ * @design DES-ANALYZE-006-FactChecker
6
+ */
7
+ export { FactChecker, type FactCheckError, type FactCheckErrorCode, } from './FactChecker.js';
8
+ export { ClaimParser } from './ClaimParser.js';
9
+ export { TrustedSourceRegistry } from './TrustedSourceRegistry.js';
10
+ export { EvidenceCollector, type SearchClient, type Scraper, type SearchResultItem, type ScrapedPage, type EvidenceCollectorConfig, } from './EvidenceCollector.js';
11
+ export { ConsistencyChecker, type ConsistencyResult, } from './ConsistencyChecker.js';
12
+ export { VerdictGenerator } from './VerdictGenerator.js';
13
+ export type { VerificationSourceType, VerdictLabel, EvidenceRelation, StrictnessLevel, FactCheckRequest, Verdict, Evidence, VerificationDetails, Reference, ExistingFactCheck, FactCheckMetadata, FactCheckResultDetail, QuickCheckResult, ExtractedClaim, ClaimType, ClaimVerification, TrustedSourceConfig, VerdictInput, FactCheckerConfig, } from './types.js';
14
+ export { DEFAULT_FACTCHECKER_CONFIG } from './types.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factcheck/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,YAAY,EACV,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * FactChecker モジュールエクスポート
3
+ *
4
+ * @requirement REQ-ANALYZE-006
5
+ * @design DES-ANALYZE-006-FactChecker
6
+ */
7
+ export { FactChecker, } from './FactChecker.js';
8
+ export { ClaimParser } from './ClaimParser.js';
9
+ export { TrustedSourceRegistry } from './TrustedSourceRegistry.js';
10
+ export { EvidenceCollector, } from './EvidenceCollector.js';
11
+ export { ConsistencyChecker, } from './ConsistencyChecker.js';
12
+ export { VerdictGenerator } from './VerdictGenerator.js';
13
+ export { DEFAULT_FACTCHECKER_CONFIG } from './types.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factcheck/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,GAGZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,iBAAiB,GAMlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAwBzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC"}