@nahisaho/katashiro-orchestrator 1.2.0 → 2.0.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.
- package/LICENSE +21 -0
- package/dist/agent/AgentStateManager.d.ts +133 -0
- package/dist/agent/AgentStateManager.d.ts.map +1 -0
- package/dist/agent/AgentStateManager.js +243 -0
- package/dist/agent/AgentStateManager.js.map +1 -0
- package/dist/agent/ReActHelper.d.ts +139 -0
- package/dist/agent/ReActHelper.d.ts.map +1 -0
- package/dist/agent/ReActHelper.js +342 -0
- package/dist/agent/ReActHelper.js.map +1 -0
- package/dist/agent/index.d.ts +9 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +20 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/types.d.ts +108 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +9 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/cascading/CascadingAgent.d.ts +156 -0
- package/dist/cascading/CascadingAgent.d.ts.map +1 -0
- package/dist/cascading/CascadingAgent.js +368 -0
- package/dist/cascading/CascadingAgent.js.map +1 -0
- package/dist/cascading/CascadingResearchEngine.d.ts +87 -0
- package/dist/cascading/CascadingResearchEngine.d.ts.map +1 -0
- package/dist/cascading/CascadingResearchEngine.js +329 -0
- package/dist/cascading/CascadingResearchEngine.js.map +1 -0
- package/dist/cascading/StepExecutor.d.ts +94 -0
- package/dist/cascading/StepExecutor.d.ts.map +1 -0
- package/dist/cascading/StepExecutor.js +315 -0
- package/dist/cascading/StepExecutor.js.map +1 -0
- package/dist/cascading/StepResultIntegrator.d.ts +101 -0
- package/dist/cascading/StepResultIntegrator.d.ts.map +1 -0
- package/dist/cascading/StepResultIntegrator.js +343 -0
- package/dist/cascading/StepResultIntegrator.js.map +1 -0
- package/dist/cascading/index.d.ts +16 -0
- package/dist/cascading/index.d.ts.map +1 -0
- package/dist/cascading/index.js +33 -0
- package/dist/cascading/index.js.map +1 -0
- package/dist/cascading/types.d.ts +369 -0
- package/dist/cascading/types.d.ts.map +1 -0
- package/dist/cascading/types.js +172 -0
- package/dist/cascading/types.js.map +1 -0
- package/dist/consensus/AsciiDiagramConverter.d.ts +45 -0
- package/dist/consensus/AsciiDiagramConverter.d.ts.map +1 -0
- package/dist/consensus/AsciiDiagramConverter.js +460 -0
- package/dist/consensus/AsciiDiagramConverter.js.map +1 -0
- package/dist/consensus/ConsensusResearchEngine.d.ts +4 -3
- package/dist/consensus/ConsensusResearchEngine.d.ts.map +1 -1
- package/dist/consensus/ConsensusResearchEngine.js +17 -5
- package/dist/consensus/ConsensusResearchEngine.js.map +1 -1
- package/dist/consensus/ReportPostProcessor.d.ts +51 -0
- package/dist/consensus/ReportPostProcessor.d.ts.map +1 -0
- package/dist/consensus/ReportPostProcessor.js +162 -0
- package/dist/consensus/ReportPostProcessor.js.map +1 -0
- package/dist/consensus/index.d.ts +5 -2
- package/dist/consensus/index.d.ts.map +1 -1
- package/dist/consensus/index.js +8 -1
- package/dist/consensus/index.js.map +1 -1
- package/dist/consensus/types.d.ts +68 -2
- package/dist/consensus/types.d.ts.map +1 -1
- package/dist/consensus/types.js +13 -3
- package/dist/consensus/types.js.map +1 -1
- package/dist/dialogue/index.d.ts +2 -0
- package/dist/dialogue/index.d.ts.map +1 -1
- package/dist/dialogue/index.js +5 -1
- package/dist/dialogue/index.js.map +1 -1
- package/dist/dialogue/llm-dialogue-collector.d.ts +169 -0
- package/dist/dialogue/llm-dialogue-collector.d.ts.map +1 -0
- package/dist/dialogue/llm-dialogue-collector.js +449 -0
- package/dist/dialogue/llm-dialogue-collector.js.map +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -2
- package/dist/index.js.map +1 -1
- package/dist/tool-registry.d.ts +13 -1
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/tool-registry.js +18 -0
- package/dist/tool-registry.js.map +1 -1
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/standard-tools.d.ts +121 -0
- package/dist/tools/standard-tools.d.ts.map +1 -0
- package/dist/tools/standard-tools.js +348 -0
- package/dist/tools/standard-tools.js.map +1 -0
- package/package.json +14 -14
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* KATASHIRO v1.4.0 - Step Result Integrator
|
|
4
|
+
*
|
|
5
|
+
* 複数ステップの結果を統合し、矛盾検出と最終レポート生成を行う
|
|
6
|
+
* v1.2.0のReportScorerのロジックを再利用
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.StepResultIntegrator = exports.DEFAULT_INTEGRATION_CONFIG = void 0;
|
|
10
|
+
const types_js_1 = require("./types.js");
|
|
11
|
+
/**
|
|
12
|
+
* デフォルト設定
|
|
13
|
+
*/
|
|
14
|
+
exports.DEFAULT_INTEGRATION_CONFIG = {
|
|
15
|
+
contradictionThreshold: 0.7,
|
|
16
|
+
deduplicationThreshold: 0.8,
|
|
17
|
+
maxFindingsInReport: 30,
|
|
18
|
+
maxSourcesInReport: 20,
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* ステップ結果統合クラス
|
|
22
|
+
*/
|
|
23
|
+
class StepResultIntegrator {
|
|
24
|
+
config;
|
|
25
|
+
constructor(config = {}) {
|
|
26
|
+
this.config = { ...exports.DEFAULT_INTEGRATION_CONFIG, ...config };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 全ステップの結果を統合
|
|
30
|
+
*/
|
|
31
|
+
integrate(topic, stepResults) {
|
|
32
|
+
// 1. 全発見事項を収集・重複除去
|
|
33
|
+
const allFindings = this.collectAndDeduplicateFindings(stepResults);
|
|
34
|
+
// 2. 全ソースを収集・重複除去
|
|
35
|
+
const allSources = this.collectAndDeduplicateSources(stepResults);
|
|
36
|
+
// 3. 矛盾を検出
|
|
37
|
+
const contradictions = this.detectContradictions(allFindings);
|
|
38
|
+
// 4. 残存ギャップを特定
|
|
39
|
+
const remainingGaps = this.identifyRemainingGaps(stepResults);
|
|
40
|
+
// 5. 全体信頼度を計算
|
|
41
|
+
const overallConfidence = this.calculateOverallConfidence(stepResults, contradictions);
|
|
42
|
+
// 6. 最終レポートを生成
|
|
43
|
+
const finalReport = this.generateFinalReport(topic, stepResults, allFindings, allSources, contradictions, remainingGaps, overallConfidence);
|
|
44
|
+
return {
|
|
45
|
+
findings: allFindings.slice(0, this.config.maxFindingsInReport),
|
|
46
|
+
sources: allSources.slice(0, this.config.maxSourcesInReport),
|
|
47
|
+
contradictions,
|
|
48
|
+
remainingGaps,
|
|
49
|
+
overallConfidence,
|
|
50
|
+
finalReport,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 発見事項を収集・重複除去
|
|
55
|
+
*/
|
|
56
|
+
collectAndDeduplicateFindings(stepResults) {
|
|
57
|
+
// 全発見事項を収集
|
|
58
|
+
const allFindings = stepResults.flatMap(sr => sr.findings);
|
|
59
|
+
// 信頼度でソート
|
|
60
|
+
allFindings.sort((a, b) => b.confidence - a.confidence);
|
|
61
|
+
// 重複除去
|
|
62
|
+
const deduplicated = [];
|
|
63
|
+
for (const finding of allFindings) {
|
|
64
|
+
const isDuplicate = deduplicated.some(existing => this.calculateSimilarity(existing.content, finding.content) > this.config.deduplicationThreshold);
|
|
65
|
+
if (!isDuplicate) {
|
|
66
|
+
deduplicated.push(finding);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return deduplicated;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* ソースを収集・重複除去
|
|
73
|
+
*/
|
|
74
|
+
collectAndDeduplicateSources(stepResults) {
|
|
75
|
+
const allSources = stepResults.flatMap(sr => sr.sources);
|
|
76
|
+
// URL重複除去
|
|
77
|
+
const seen = new Map();
|
|
78
|
+
for (const source of allSources) {
|
|
79
|
+
if (!seen.has(source.url)) {
|
|
80
|
+
seen.set(source.url, source);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// 信頼度でソート
|
|
84
|
+
return [...seen.values()].sort((a, b) => b.credibility - a.credibility);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* 矛盾を検出
|
|
88
|
+
*/
|
|
89
|
+
detectContradictions(findings) {
|
|
90
|
+
const contradictions = [];
|
|
91
|
+
// ペアごとに比較
|
|
92
|
+
for (let i = 0; i < findings.length; i++) {
|
|
93
|
+
for (let j = i + 1; j < findings.length; j++) {
|
|
94
|
+
const f1 = findings[i];
|
|
95
|
+
const f2 = findings[j];
|
|
96
|
+
if (!f1 || !f2)
|
|
97
|
+
continue;
|
|
98
|
+
const contradictionScore = this.detectContradictionScore(f1.content, f2.content);
|
|
99
|
+
if (contradictionScore > this.config.contradictionThreshold) {
|
|
100
|
+
contradictions.push({
|
|
101
|
+
id: (0, types_js_1.generateContradictionId)(),
|
|
102
|
+
finding1: f1,
|
|
103
|
+
finding2: f2,
|
|
104
|
+
description: `発見事項間の矛盾を検出 (スコア: ${(contradictionScore * 100).toFixed(0)}%)`,
|
|
105
|
+
severity: contradictionScore > 0.9 ? 'high' : contradictionScore > 0.8 ? 'medium' : 'low',
|
|
106
|
+
resolved: false,
|
|
107
|
+
resolution: this.suggestResolution(f1, f2),
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return contradictions;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 矛盾スコアを計算
|
|
116
|
+
*/
|
|
117
|
+
detectContradictionScore(text1, text2) {
|
|
118
|
+
// 否定パターンの検出
|
|
119
|
+
const negationPatterns = [
|
|
120
|
+
{ positive: /増加|上昇|成長/, negative: /減少|下降|縮小/ },
|
|
121
|
+
{ positive: /賛成|支持|推進/, negative: /反対|批判|懸念/ },
|
|
122
|
+
{ positive: /成功|達成|実現/, negative: /失敗|未達|断念/ },
|
|
123
|
+
{ positive: /安全|安定|信頼/, negative: /危険|不安定|不信/ },
|
|
124
|
+
];
|
|
125
|
+
let contradictionScore = 0;
|
|
126
|
+
for (const pattern of negationPatterns) {
|
|
127
|
+
const match1Positive = pattern.positive.test(text1);
|
|
128
|
+
const match1Negative = pattern.negative.test(text1);
|
|
129
|
+
const match2Positive = pattern.positive.test(text2);
|
|
130
|
+
const match2Negative = pattern.negative.test(text2);
|
|
131
|
+
if ((match1Positive && match2Negative) || (match1Negative && match2Positive)) {
|
|
132
|
+
contradictionScore += 0.3;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// 数値の矛盾検出
|
|
136
|
+
const numbers1 = text1.match(/\d+(?:\.\d+)?%?/g) ?? [];
|
|
137
|
+
const numbers2 = text2.match(/\d+(?:\.\d+)?%?/g) ?? [];
|
|
138
|
+
if (numbers1.length > 0 && numbers2.length > 0) {
|
|
139
|
+
// 同じトピックで異なる数値が報告されている場合
|
|
140
|
+
const topicSimilarity = this.calculateSimilarity(text1.replace(/\d+(?:\.\d+)?%?/g, ''), text2.replace(/\d+(?:\.\d+)?%?/g, ''));
|
|
141
|
+
// トピックが似ているが数値が異なる
|
|
142
|
+
if (topicSimilarity > 0.7) {
|
|
143
|
+
// トピックが似ているが数値が異なる
|
|
144
|
+
const hasNumberDifference = !numbers1.some(n1 => numbers2.includes(n1));
|
|
145
|
+
if (hasNumberDifference) {
|
|
146
|
+
contradictionScore += 0.2;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return Math.min(contradictionScore, 1.0);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* テキスト類似度を計算(Jaccard係数)
|
|
154
|
+
*/
|
|
155
|
+
calculateSimilarity(text1, text2) {
|
|
156
|
+
const words1 = new Set(this.tokenize(text1));
|
|
157
|
+
const words2 = new Set(this.tokenize(text2));
|
|
158
|
+
const intersection = new Set([...words1].filter(w => words2.has(w)));
|
|
159
|
+
const union = new Set([...words1, ...words2]);
|
|
160
|
+
return intersection.size / union.size;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* テキストをトークン化
|
|
164
|
+
*/
|
|
165
|
+
tokenize(text) {
|
|
166
|
+
return text
|
|
167
|
+
.toLowerCase()
|
|
168
|
+
.replace(/[^\p{L}\p{N}\s]/gu, '')
|
|
169
|
+
.split(/\s+/)
|
|
170
|
+
.filter(w => w.length > 1);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 矛盾解決の提案
|
|
174
|
+
*/
|
|
175
|
+
suggestResolution(f1, f2) {
|
|
176
|
+
// 信頼度の高い方を優先
|
|
177
|
+
if (f1.confidence > f2.confidence + 0.2) {
|
|
178
|
+
return `より信頼度の高い「${f1.source.title}」の情報を優先することを推奨`;
|
|
179
|
+
}
|
|
180
|
+
if (f2.confidence > f1.confidence + 0.2) {
|
|
181
|
+
return `より信頼度の高い「${f2.source.title}」の情報を優先することを推奨`;
|
|
182
|
+
}
|
|
183
|
+
// 日付の新しい方を優先
|
|
184
|
+
const date1 = new Date(f1.timestamp);
|
|
185
|
+
const date2 = new Date(f2.timestamp);
|
|
186
|
+
if (date1 > date2) {
|
|
187
|
+
return `より新しい情報である「${f1.source.title}」を優先することを推奨`;
|
|
188
|
+
}
|
|
189
|
+
if (date2 > date1) {
|
|
190
|
+
return `より新しい情報である「${f2.source.title}」を優先することを推奨`;
|
|
191
|
+
}
|
|
192
|
+
return '両方のソースを確認し、追加調査を推奨';
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* 残存ギャップを特定
|
|
196
|
+
*/
|
|
197
|
+
identifyRemainingGaps(stepResults) {
|
|
198
|
+
// 最後のステップまでに解決されなかったギャップを収集
|
|
199
|
+
const allGaps = new Set();
|
|
200
|
+
const addressedTopics = new Set();
|
|
201
|
+
// 各ステップのギャップと発見事項を収集
|
|
202
|
+
for (const result of stepResults) {
|
|
203
|
+
for (const gap of result.gaps) {
|
|
204
|
+
allGaps.add(gap);
|
|
205
|
+
}
|
|
206
|
+
for (const finding of result.findings) {
|
|
207
|
+
// 発見事項のトピックをアドレス済みとしてマーク
|
|
208
|
+
const words = this.tokenize(finding.content);
|
|
209
|
+
words.forEach(w => addressedTopics.add(w));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// 解決されていないギャップを特定
|
|
213
|
+
const remainingGaps = [];
|
|
214
|
+
for (const gap of allGaps) {
|
|
215
|
+
const gapWords = this.tokenize(gap);
|
|
216
|
+
const addressed = gapWords.some(w => addressedTopics.has(w));
|
|
217
|
+
if (!addressed) {
|
|
218
|
+
remainingGaps.push(gap);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return remainingGaps;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* 全体信頼度を計算
|
|
225
|
+
*/
|
|
226
|
+
calculateOverallConfidence(stepResults, contradictions) {
|
|
227
|
+
if (stepResults.length === 0) {
|
|
228
|
+
return 0;
|
|
229
|
+
}
|
|
230
|
+
// 各ステップの信頼度の加重平均
|
|
231
|
+
const stepWeights = [0.15, 0.2, 0.2, 0.2, 0.25]; // 後半のステップを重視
|
|
232
|
+
let weightedSum = 0;
|
|
233
|
+
let totalWeight = 0;
|
|
234
|
+
for (let i = 0; i < stepResults.length; i++) {
|
|
235
|
+
const weight = stepWeights[i] || 0.2;
|
|
236
|
+
const result = stepResults[i];
|
|
237
|
+
if (result) {
|
|
238
|
+
weightedSum += result.confidence * weight;
|
|
239
|
+
totalWeight += weight;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
let confidence = totalWeight > 0 ? weightedSum / totalWeight : 0;
|
|
243
|
+
// 矛盾によるペナルティ
|
|
244
|
+
const highSeverityCount = contradictions.filter(c => c.severity === 'high').length;
|
|
245
|
+
const mediumSeverityCount = contradictions.filter(c => c.severity === 'medium').length;
|
|
246
|
+
const contradictionPenalty = highSeverityCount * 0.1 + mediumSeverityCount * 0.05;
|
|
247
|
+
confidence = Math.max(0, confidence - contradictionPenalty);
|
|
248
|
+
return Math.round(confidence * 100) / 100;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* 最終レポートを生成
|
|
252
|
+
*/
|
|
253
|
+
generateFinalReport(topic, stepResults, findings, sources, contradictions, remainingGaps, overallConfidence) {
|
|
254
|
+
const sections = [];
|
|
255
|
+
// ヘッダー
|
|
256
|
+
sections.push(`# ${topic} - カスケード型リサーチレポート\n`);
|
|
257
|
+
sections.push(`生成日時: ${new Date().toISOString()}\n`);
|
|
258
|
+
sections.push(`総合信頼度: ${(overallConfidence * 100).toFixed(0)}%\n\n`);
|
|
259
|
+
// エグゼクティブサマリー
|
|
260
|
+
sections.push(`## エグゼクティブサマリー\n`);
|
|
261
|
+
sections.push(this.generateExecutiveSummary(stepResults, findings, overallConfidence));
|
|
262
|
+
sections.push('\n');
|
|
263
|
+
// ステップ別サマリー
|
|
264
|
+
sections.push(`## 調査プロセス概要\n`);
|
|
265
|
+
for (const result of stepResults) {
|
|
266
|
+
const focusLabel = this.getFocusLabel(result.focus);
|
|
267
|
+
sections.push(`### Step ${result.stepNumber}: ${focusLabel}\n`);
|
|
268
|
+
sections.push(`- 発見事項: ${result.findings.length}件\n`);
|
|
269
|
+
sections.push(`- ソース数: ${result.sources.length}件\n`);
|
|
270
|
+
sections.push(`- 信頼度: ${(result.confidence * 100).toFixed(0)}%\n`);
|
|
271
|
+
sections.push(`- 処理時間: ${(result.durationMs / 1000).toFixed(1)}秒\n\n`);
|
|
272
|
+
}
|
|
273
|
+
// 主要な発見事項
|
|
274
|
+
sections.push(`## 主要な発見事項\n`);
|
|
275
|
+
const topFindings = findings.slice(0, 10);
|
|
276
|
+
for (let i = 0; i < topFindings.length; i++) {
|
|
277
|
+
const finding = topFindings[i];
|
|
278
|
+
if (!finding)
|
|
279
|
+
continue;
|
|
280
|
+
sections.push(`### ${i + 1}. ${finding.category === 'fact' ? '事実' : finding.category === 'analysis' ? '分析' : finding.category === 'opinion' ? '意見' : '情報'}\n`);
|
|
281
|
+
sections.push(`${finding.content.slice(0, 300)}${finding.content.length > 300 ? '...' : ''}\n`);
|
|
282
|
+
sections.push(`- ソース: ${finding.source.title}\n`);
|
|
283
|
+
sections.push(`- 信頼度: ${(finding.confidence * 100).toFixed(0)}%\n\n`);
|
|
284
|
+
}
|
|
285
|
+
// 矛盾情報
|
|
286
|
+
if (contradictions.length > 0) {
|
|
287
|
+
sections.push(`## 検出された矛盾・不整合\n`);
|
|
288
|
+
sections.push(`⚠️ ${contradictions.length}件の矛盾が検出されました。\n\n`);
|
|
289
|
+
for (const contradiction of contradictions.slice(0, 5)) {
|
|
290
|
+
sections.push(`- **${contradiction.severity.toUpperCase()}**: ${contradiction.description}\n`);
|
|
291
|
+
sections.push(` - 解決提案: ${contradiction.resolution}\n\n`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
// 残存ギャップ
|
|
295
|
+
if (remainingGaps.length > 0) {
|
|
296
|
+
sections.push(`## 未解決のギャップ\n`);
|
|
297
|
+
sections.push(`以下の点についてはさらなる調査が必要です:\n\n`);
|
|
298
|
+
for (const gap of remainingGaps) {
|
|
299
|
+
sections.push(`- ${gap}\n`);
|
|
300
|
+
}
|
|
301
|
+
sections.push('\n');
|
|
302
|
+
}
|
|
303
|
+
// ソース一覧
|
|
304
|
+
sections.push(`## 参考ソース\n`);
|
|
305
|
+
const topSources = sources.slice(0, this.config.maxSourcesInReport);
|
|
306
|
+
for (const source of topSources) {
|
|
307
|
+
sections.push(`- [${source.title}](${source.url}) (信頼度: ${(source.credibility * 100).toFixed(0)}%)\n`);
|
|
308
|
+
}
|
|
309
|
+
return sections.join('');
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* エグゼクティブサマリーを生成
|
|
313
|
+
*/
|
|
314
|
+
generateExecutiveSummary(stepResults, findings, overallConfidence) {
|
|
315
|
+
const totalFindings = findings.length;
|
|
316
|
+
const factCount = findings.filter(f => f.category === 'fact').length;
|
|
317
|
+
const analysisCount = findings.filter(f => f.category === 'analysis').length;
|
|
318
|
+
const totalSteps = stepResults.length;
|
|
319
|
+
const totalDuration = stepResults.reduce((sum, r) => sum + r.durationMs, 0);
|
|
320
|
+
let summary = `本レポートは${totalSteps}段階のカスケード型リサーチにより、`;
|
|
321
|
+
summary += `計${totalFindings}件の発見事項を収集・統合したものです。\n\n`;
|
|
322
|
+
summary += `- **事実情報**: ${factCount}件\n`;
|
|
323
|
+
summary += `- **分析・考察**: ${analysisCount}件\n`;
|
|
324
|
+
summary += `- **総調査時間**: ${(totalDuration / 1000).toFixed(1)}秒\n`;
|
|
325
|
+
summary += `- **総合信頼度**: ${(overallConfidence * 100).toFixed(0)}%\n`;
|
|
326
|
+
return summary;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* フォーカスラベルを取得
|
|
330
|
+
*/
|
|
331
|
+
getFocusLabel(focus) {
|
|
332
|
+
const labels = {
|
|
333
|
+
overview: '概要調査',
|
|
334
|
+
detail: '詳細調査',
|
|
335
|
+
gap: 'ギャップ分析',
|
|
336
|
+
verify: '検証',
|
|
337
|
+
integrate: '統合',
|
|
338
|
+
};
|
|
339
|
+
return labels[focus] || focus;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
exports.StepResultIntegrator = StepResultIntegrator;
|
|
343
|
+
//# sourceMappingURL=StepResultIntegrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepResultIntegrator.js","sourceRoot":"","sources":["../../src/cascading/StepResultIntegrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KATASHIRO v1.4.0 - Cascading Research Module
|
|
3
|
+
*
|
|
4
|
+
* カスケード型リサーチ機能のエクスポート
|
|
5
|
+
*/
|
|
6
|
+
export type { AgentRole, StepFocus, FindingCategory, Finding, CascadingSource, Contradiction, CascadingAgentReport, StepContext, StepResult, CascadingResearchResult, CascadingResearchConfig, CascadingAgentStrategy, StepStrategyConfig, CascadingResearchEvent, CascadingResearchEventListener, PostProcessOptions, EarlyTerminationConfig, } from './types.js';
|
|
7
|
+
export { DEFAULT_AGENT_STRATEGIES, DEFAULT_STEP_STRATEGIES, DEFAULT_CASCADING_CONFIG, generateFindingId, generateContradictionId, calculateStepConfidence, getAgentRoleLabel, getStepFocusLabel, } from './types.js';
|
|
8
|
+
export type { ISearchClient, IScraper, ITextAnalyzer, IEntityExtractor, CascadingAgentDependencies, CascadingAgentConfig, } from './CascadingAgent.js';
|
|
9
|
+
export { CascadingAgent, createCascadingAgents } from './CascadingAgent.js';
|
|
10
|
+
export type { StepExecutorConfig } from './StepExecutor.js';
|
|
11
|
+
export { StepExecutor, StepContextBuilder, DEFAULT_STEP_EXECUTOR_CONFIG, } from './StepExecutor.js';
|
|
12
|
+
export type { IntegrationConfig, IntegrationResult } from './StepResultIntegrator.js';
|
|
13
|
+
export { StepResultIntegrator, DEFAULT_INTEGRATION_CONFIG, } from './StepResultIntegrator.js';
|
|
14
|
+
export type { EngineState, CascadingResearchEngineDependencies, } from './CascadingResearchEngine.js';
|
|
15
|
+
export { CascadingResearchEngine, createCascadingResearchEngine, validateConfig, } from './CascadingResearchEngine.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cascading/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,SAAS,EACT,SAAS,EACT,eAAe,EACf,OAAO,EACP,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,8BAA8B,EAC9B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEtF,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,WAAW,EACX,mCAAmC,GACpC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,cAAc,GACf,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* KATASHIRO v1.4.0 - Cascading Research Module
|
|
4
|
+
*
|
|
5
|
+
* カスケード型リサーチ機能のエクスポート
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.validateConfig = exports.createCascadingResearchEngine = exports.CascadingResearchEngine = exports.DEFAULT_INTEGRATION_CONFIG = exports.StepResultIntegrator = exports.DEFAULT_STEP_EXECUTOR_CONFIG = exports.StepContextBuilder = exports.StepExecutor = exports.createCascadingAgents = exports.CascadingAgent = exports.getStepFocusLabel = exports.getAgentRoleLabel = exports.calculateStepConfidence = exports.generateContradictionId = exports.generateFindingId = exports.DEFAULT_CASCADING_CONFIG = exports.DEFAULT_STEP_STRATEGIES = exports.DEFAULT_AGENT_STRATEGIES = void 0;
|
|
9
|
+
// Type utilities and defaults
|
|
10
|
+
var types_js_1 = require("./types.js");
|
|
11
|
+
Object.defineProperty(exports, "DEFAULT_AGENT_STRATEGIES", { enumerable: true, get: function () { return types_js_1.DEFAULT_AGENT_STRATEGIES; } });
|
|
12
|
+
Object.defineProperty(exports, "DEFAULT_STEP_STRATEGIES", { enumerable: true, get: function () { return types_js_1.DEFAULT_STEP_STRATEGIES; } });
|
|
13
|
+
Object.defineProperty(exports, "DEFAULT_CASCADING_CONFIG", { enumerable: true, get: function () { return types_js_1.DEFAULT_CASCADING_CONFIG; } });
|
|
14
|
+
Object.defineProperty(exports, "generateFindingId", { enumerable: true, get: function () { return types_js_1.generateFindingId; } });
|
|
15
|
+
Object.defineProperty(exports, "generateContradictionId", { enumerable: true, get: function () { return types_js_1.generateContradictionId; } });
|
|
16
|
+
Object.defineProperty(exports, "calculateStepConfidence", { enumerable: true, get: function () { return types_js_1.calculateStepConfidence; } });
|
|
17
|
+
Object.defineProperty(exports, "getAgentRoleLabel", { enumerable: true, get: function () { return types_js_1.getAgentRoleLabel; } });
|
|
18
|
+
Object.defineProperty(exports, "getStepFocusLabel", { enumerable: true, get: function () { return types_js_1.getStepFocusLabel; } });
|
|
19
|
+
var CascadingAgent_js_1 = require("./CascadingAgent.js");
|
|
20
|
+
Object.defineProperty(exports, "CascadingAgent", { enumerable: true, get: function () { return CascadingAgent_js_1.CascadingAgent; } });
|
|
21
|
+
Object.defineProperty(exports, "createCascadingAgents", { enumerable: true, get: function () { return CascadingAgent_js_1.createCascadingAgents; } });
|
|
22
|
+
var StepExecutor_js_1 = require("./StepExecutor.js");
|
|
23
|
+
Object.defineProperty(exports, "StepExecutor", { enumerable: true, get: function () { return StepExecutor_js_1.StepExecutor; } });
|
|
24
|
+
Object.defineProperty(exports, "StepContextBuilder", { enumerable: true, get: function () { return StepExecutor_js_1.StepContextBuilder; } });
|
|
25
|
+
Object.defineProperty(exports, "DEFAULT_STEP_EXECUTOR_CONFIG", { enumerable: true, get: function () { return StepExecutor_js_1.DEFAULT_STEP_EXECUTOR_CONFIG; } });
|
|
26
|
+
var StepResultIntegrator_js_1 = require("./StepResultIntegrator.js");
|
|
27
|
+
Object.defineProperty(exports, "StepResultIntegrator", { enumerable: true, get: function () { return StepResultIntegrator_js_1.StepResultIntegrator; } });
|
|
28
|
+
Object.defineProperty(exports, "DEFAULT_INTEGRATION_CONFIG", { enumerable: true, get: function () { return StepResultIntegrator_js_1.DEFAULT_INTEGRATION_CONFIG; } });
|
|
29
|
+
var CascadingResearchEngine_js_1 = require("./CascadingResearchEngine.js");
|
|
30
|
+
Object.defineProperty(exports, "CascadingResearchEngine", { enumerable: true, get: function () { return CascadingResearchEngine_js_1.CascadingResearchEngine; } });
|
|
31
|
+
Object.defineProperty(exports, "createCascadingResearchEngine", { enumerable: true, get: function () { return CascadingResearchEngine_js_1.createCascadingResearchEngine; } });
|
|
32
|
+
Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return CascadingResearchEngine_js_1.validateConfig; } });
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cascading/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuBH,8BAA8B;AAC9B,uCASoB;AARlB,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,oHAAA,wBAAwB,OAAA;AACxB,6GAAA,iBAAiB,OAAA;AACjB,mHAAA,uBAAuB,OAAA;AACvB,mHAAA,uBAAuB,OAAA;AACvB,6GAAA,iBAAiB,OAAA;AACjB,6GAAA,iBAAiB,OAAA;AAanB,yDAA4E;AAAnE,mHAAA,cAAc,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAK9C,qDAI2B;AAHzB,+GAAA,YAAY,OAAA;AACZ,qHAAA,kBAAkB,OAAA;AAClB,+HAAA,4BAA4B,OAAA;AAM9B,qEAGmC;AAFjC,+HAAA,oBAAoB,OAAA;AACpB,qIAAA,0BAA0B,OAAA;AAS5B,2EAIsC;AAHpC,qIAAA,uBAAuB,OAAA;AACvB,2IAAA,6BAA6B,OAAA;AAC7B,4HAAA,cAAc,OAAA"}
|