@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.
- package/dist/factcheck/ClaimParser.d.ts +41 -0
- package/dist/factcheck/ClaimParser.d.ts.map +1 -0
- package/dist/factcheck/ClaimParser.js +149 -0
- package/dist/factcheck/ClaimParser.js.map +1 -0
- package/dist/factcheck/ConsistencyChecker.d.ts +56 -0
- package/dist/factcheck/ConsistencyChecker.d.ts.map +1 -0
- package/dist/factcheck/ConsistencyChecker.js +184 -0
- package/dist/factcheck/ConsistencyChecker.js.map +1 -0
- package/dist/factcheck/EvidenceCollector.d.ts +89 -0
- package/dist/factcheck/EvidenceCollector.d.ts.map +1 -0
- package/dist/factcheck/EvidenceCollector.js +222 -0
- package/dist/factcheck/EvidenceCollector.js.map +1 -0
- package/dist/factcheck/FactChecker.d.ts +81 -0
- package/dist/factcheck/FactChecker.d.ts.map +1 -0
- package/dist/factcheck/FactChecker.js +302 -0
- package/dist/factcheck/FactChecker.js.map +1 -0
- package/dist/factcheck/TrustedSourceRegistry.d.ts +47 -0
- package/dist/factcheck/TrustedSourceRegistry.d.ts.map +1 -0
- package/dist/factcheck/TrustedSourceRegistry.js +208 -0
- package/dist/factcheck/TrustedSourceRegistry.js.map +1 -0
- package/dist/factcheck/VerdictGenerator.d.ts +36 -0
- package/dist/factcheck/VerdictGenerator.d.ts.map +1 -0
- package/dist/factcheck/VerdictGenerator.js +154 -0
- package/dist/factcheck/VerdictGenerator.js.map +1 -0
- package/dist/factcheck/index.d.ts +15 -0
- package/dist/factcheck/index.d.ts.map +1 -0
- package/dist/factcheck/index.js +14 -0
- package/dist/factcheck/index.js.map +1 -0
- package/dist/factcheck/types.d.ts +265 -0
- package/dist/factcheck/types.d.ts.map +1 -0
- package/dist/factcheck/types.js +18 -0
- package/dist/factcheck/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/interpreter/CodeInterpreter.d.ts +119 -0
- package/dist/interpreter/CodeInterpreter.d.ts.map +1 -0
- package/dist/interpreter/CodeInterpreter.js +241 -0
- package/dist/interpreter/CodeInterpreter.js.map +1 -0
- package/dist/interpreter/CodeValidator.d.ts +57 -0
- package/dist/interpreter/CodeValidator.d.ts.map +1 -0
- package/dist/interpreter/CodeValidator.js +283 -0
- package/dist/interpreter/CodeValidator.js.map +1 -0
- package/dist/interpreter/ExecutionEngine.d.ts +73 -0
- package/dist/interpreter/ExecutionEngine.d.ts.map +1 -0
- package/dist/interpreter/ExecutionEngine.js +273 -0
- package/dist/interpreter/ExecutionEngine.js.map +1 -0
- package/dist/interpreter/ResultFormatter.d.ts +72 -0
- package/dist/interpreter/ResultFormatter.d.ts.map +1 -0
- package/dist/interpreter/ResultFormatter.js +187 -0
- package/dist/interpreter/ResultFormatter.js.map +1 -0
- package/dist/interpreter/SandboxManager.d.ts +111 -0
- package/dist/interpreter/SandboxManager.d.ts.map +1 -0
- package/dist/interpreter/SandboxManager.js +215 -0
- package/dist/interpreter/SandboxManager.js.map +1 -0
- package/dist/interpreter/SessionManager.d.ts +101 -0
- package/dist/interpreter/SessionManager.d.ts.map +1 -0
- package/dist/interpreter/SessionManager.js +184 -0
- package/dist/interpreter/SessionManager.js.map +1 -0
- package/dist/interpreter/index.d.ts +13 -0
- package/dist/interpreter/index.d.ts.map +1 -0
- package/dist/interpreter/index.js +13 -0
- package/dist/interpreter/index.js.map +1 -0
- package/dist/interpreter/types.d.ts +311 -0
- package/dist/interpreter/types.d.ts.map +1 -0
- package/dist/interpreter/types.js +91 -0
- package/dist/interpreter/types.js.map +1 -0
- package/dist/moa/AgentOrchestrator.d.ts +53 -0
- package/dist/moa/AgentOrchestrator.d.ts.map +1 -0
- package/dist/moa/AgentOrchestrator.js +164 -0
- package/dist/moa/AgentOrchestrator.js.map +1 -0
- package/dist/moa/ConsensusCalculator.d.ts +76 -0
- package/dist/moa/ConsensusCalculator.d.ts.map +1 -0
- package/dist/moa/ConsensusCalculator.js +221 -0
- package/dist/moa/ConsensusCalculator.js.map +1 -0
- package/dist/moa/MoAEngine.d.ts +97 -0
- package/dist/moa/MoAEngine.d.ts.map +1 -0
- package/dist/moa/MoAEngine.js +303 -0
- package/dist/moa/MoAEngine.js.map +1 -0
- package/dist/moa/ResponseAggregator.d.ts +65 -0
- package/dist/moa/ResponseAggregator.d.ts.map +1 -0
- package/dist/moa/ResponseAggregator.js +274 -0
- package/dist/moa/ResponseAggregator.js.map +1 -0
- package/dist/moa/TaskAnalyzer.d.ts +30 -0
- package/dist/moa/TaskAnalyzer.d.ts.map +1 -0
- package/dist/moa/TaskAnalyzer.js +116 -0
- package/dist/moa/TaskAnalyzer.js.map +1 -0
- package/dist/moa/index.d.ts +19 -0
- package/dist/moa/index.d.ts.map +1 -0
- package/dist/moa/index.js +18 -0
- package/dist/moa/index.js.map +1 -0
- package/dist/moa/types.d.ts +261 -0
- package/dist/moa/types.d.ts.map +1 -0
- package/dist/moa/types.js +70 -0
- package/dist/moa/types.js.map +1 -0
- package/dist/research/ConvergenceDetector.d.ts +37 -0
- package/dist/research/ConvergenceDetector.d.ts.map +1 -0
- package/dist/research/ConvergenceDetector.js +62 -0
- package/dist/research/ConvergenceDetector.js.map +1 -0
- package/dist/research/DeepResearchOrchestrator.d.ts +63 -0
- package/dist/research/DeepResearchOrchestrator.d.ts.map +1 -0
- package/dist/research/DeepResearchOrchestrator.js +283 -0
- package/dist/research/DeepResearchOrchestrator.js.map +1 -0
- package/dist/research/FindingIntegrator.d.ts +42 -0
- package/dist/research/FindingIntegrator.d.ts.map +1 -0
- package/dist/research/FindingIntegrator.js +239 -0
- package/dist/research/FindingIntegrator.js.map +1 -0
- package/dist/research/GapAnalyzer.d.ts +41 -0
- package/dist/research/GapAnalyzer.d.ts.map +1 -0
- package/dist/research/GapAnalyzer.js +145 -0
- package/dist/research/GapAnalyzer.js.map +1 -0
- package/dist/research/QueryGenerator.d.ts +38 -0
- package/dist/research/QueryGenerator.d.ts.map +1 -0
- package/dist/research/QueryGenerator.js +79 -0
- package/dist/research/QueryGenerator.js.map +1 -0
- package/dist/research/index.d.ts +14 -0
- package/dist/research/index.d.ts.map +1 -0
- package/dist/research/index.js +13 -0
- package/dist/research/index.js.map +1 -0
- package/dist/research/types.d.ts +215 -0
- package/dist/research/types.d.ts.map +1 -0
- package/dist/research/types.js +18 -0
- package/dist/research/types.js.map +1 -0
- package/dist/trend/ForecastEngine.d.ts +65 -0
- package/dist/trend/ForecastEngine.d.ts.map +1 -0
- package/dist/trend/ForecastEngine.js +260 -0
- package/dist/trend/ForecastEngine.js.map +1 -0
- package/dist/trend/TimeSeriesCollector.d.ts +42 -0
- package/dist/trend/TimeSeriesCollector.d.ts.map +1 -0
- package/dist/trend/TimeSeriesCollector.js +172 -0
- package/dist/trend/TimeSeriesCollector.js.map +1 -0
- package/dist/trend/TrendAnalyzer.d.ts +72 -0
- package/dist/trend/TrendAnalyzer.d.ts.map +1 -0
- package/dist/trend/TrendAnalyzer.js +291 -0
- package/dist/trend/TrendAnalyzer.js.map +1 -0
- package/dist/trend/TrendDetector.d.ts +67 -0
- package/dist/trend/TrendDetector.d.ts.map +1 -0
- package/dist/trend/TrendDetector.js +325 -0
- package/dist/trend/TrendDetector.js.map +1 -0
- package/dist/trend/VisualizationGenerator.d.ts +75 -0
- package/dist/trend/VisualizationGenerator.d.ts.map +1 -0
- package/dist/trend/VisualizationGenerator.js +294 -0
- package/dist/trend/VisualizationGenerator.js.map +1 -0
- package/dist/trend/index.d.ts +16 -0
- package/dist/trend/index.d.ts.map +1 -0
- package/dist/trend/index.js +18 -0
- package/dist/trend/index.js.map +1 -0
- package/dist/trend/types.d.ts +279 -0
- package/dist/trend/types.d.ts.map +1 -0
- package/dist/trend/types.js +17 -0
- package/dist/trend/types.js.map +1 -0
- 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":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,OAAO,GAAqC,IAAI,GAAG,EAAE,CAAC;IAE9D,YAAY,iBAAwC,EAAE;QACpD,eAAe;QACf,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,YAAY;QACZ,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAA2B;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAc;QAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAElD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,eAAe,CAAC;QAChC,CAAC;QAED,oBAAoB;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,EAAE,UAAU,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAA4B;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAc;QACpC,eAAe;QACf,IAAI,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACpD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,uBAAuB,GAA0B;IACrD,aAAa;IACb;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,eAAe;QAC3B,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC;KACzD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,eAAe;QAC3B,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;KACpC;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,eAAe;QAC3B,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;KACrC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,cAAc;QACtB,UAAU,EAAE,eAAe;QAC3B,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;QACtC,QAAQ,EAAE,IAAI;KACf;IAED,aAAa;IACb;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,cAAc;QAC1B,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC;KAChD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,cAAc;QAC1B,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;KAC1C;IACD;QACE,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,cAAc;QAC1B,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC;KAC/C;IACD;QACE,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,cAAc;QAC1B,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;KACpC;IAED,OAAO;IACP;QACE,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;KAC9C;IACD;QACE,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;QAC7C,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;KAC7C;IAED,QAAQ;IACR;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KACrC;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,UAAU;QACtB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KACrC;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,kBAAkB;QAC1B,UAAU,EAAE,UAAU;QACtB,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;KACpC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;KAC1C;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC;KACnD;CACF,CAAC"}
|
|
@@ -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"}
|