@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.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/dist/agent/AgentStateManager.d.ts +133 -0
  3. package/dist/agent/AgentStateManager.d.ts.map +1 -0
  4. package/dist/agent/AgentStateManager.js +243 -0
  5. package/dist/agent/AgentStateManager.js.map +1 -0
  6. package/dist/agent/ReActHelper.d.ts +139 -0
  7. package/dist/agent/ReActHelper.d.ts.map +1 -0
  8. package/dist/agent/ReActHelper.js +342 -0
  9. package/dist/agent/ReActHelper.js.map +1 -0
  10. package/dist/agent/index.d.ts +9 -0
  11. package/dist/agent/index.d.ts.map +1 -0
  12. package/dist/agent/index.js +20 -0
  13. package/dist/agent/index.js.map +1 -0
  14. package/dist/agent/types.d.ts +108 -0
  15. package/dist/agent/types.d.ts.map +1 -0
  16. package/dist/agent/types.js +9 -0
  17. package/dist/agent/types.js.map +1 -0
  18. package/dist/cascading/CascadingAgent.d.ts +156 -0
  19. package/dist/cascading/CascadingAgent.d.ts.map +1 -0
  20. package/dist/cascading/CascadingAgent.js +368 -0
  21. package/dist/cascading/CascadingAgent.js.map +1 -0
  22. package/dist/cascading/CascadingResearchEngine.d.ts +87 -0
  23. package/dist/cascading/CascadingResearchEngine.d.ts.map +1 -0
  24. package/dist/cascading/CascadingResearchEngine.js +329 -0
  25. package/dist/cascading/CascadingResearchEngine.js.map +1 -0
  26. package/dist/cascading/StepExecutor.d.ts +94 -0
  27. package/dist/cascading/StepExecutor.d.ts.map +1 -0
  28. package/dist/cascading/StepExecutor.js +315 -0
  29. package/dist/cascading/StepExecutor.js.map +1 -0
  30. package/dist/cascading/StepResultIntegrator.d.ts +101 -0
  31. package/dist/cascading/StepResultIntegrator.d.ts.map +1 -0
  32. package/dist/cascading/StepResultIntegrator.js +343 -0
  33. package/dist/cascading/StepResultIntegrator.js.map +1 -0
  34. package/dist/cascading/index.d.ts +16 -0
  35. package/dist/cascading/index.d.ts.map +1 -0
  36. package/dist/cascading/index.js +33 -0
  37. package/dist/cascading/index.js.map +1 -0
  38. package/dist/cascading/types.d.ts +369 -0
  39. package/dist/cascading/types.d.ts.map +1 -0
  40. package/dist/cascading/types.js +172 -0
  41. package/dist/cascading/types.js.map +1 -0
  42. package/dist/consensus/AsciiDiagramConverter.d.ts +45 -0
  43. package/dist/consensus/AsciiDiagramConverter.d.ts.map +1 -0
  44. package/dist/consensus/AsciiDiagramConverter.js +460 -0
  45. package/dist/consensus/AsciiDiagramConverter.js.map +1 -0
  46. package/dist/consensus/ConsensusResearchEngine.d.ts +4 -3
  47. package/dist/consensus/ConsensusResearchEngine.d.ts.map +1 -1
  48. package/dist/consensus/ConsensusResearchEngine.js +17 -5
  49. package/dist/consensus/ConsensusResearchEngine.js.map +1 -1
  50. package/dist/consensus/ReportPostProcessor.d.ts +51 -0
  51. package/dist/consensus/ReportPostProcessor.d.ts.map +1 -0
  52. package/dist/consensus/ReportPostProcessor.js +162 -0
  53. package/dist/consensus/ReportPostProcessor.js.map +1 -0
  54. package/dist/consensus/index.d.ts +5 -2
  55. package/dist/consensus/index.d.ts.map +1 -1
  56. package/dist/consensus/index.js +8 -1
  57. package/dist/consensus/index.js.map +1 -1
  58. package/dist/consensus/types.d.ts +68 -2
  59. package/dist/consensus/types.d.ts.map +1 -1
  60. package/dist/consensus/types.js +13 -3
  61. package/dist/consensus/types.js.map +1 -1
  62. package/dist/dialogue/index.d.ts +2 -0
  63. package/dist/dialogue/index.d.ts.map +1 -1
  64. package/dist/dialogue/index.js +5 -1
  65. package/dist/dialogue/index.js.map +1 -1
  66. package/dist/dialogue/llm-dialogue-collector.d.ts +169 -0
  67. package/dist/dialogue/llm-dialogue-collector.d.ts.map +1 -0
  68. package/dist/dialogue/llm-dialogue-collector.js +449 -0
  69. package/dist/dialogue/llm-dialogue-collector.js.map +1 -0
  70. package/dist/index.d.ts +7 -2
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +49 -2
  73. package/dist/index.js.map +1 -1
  74. package/dist/tool-registry.d.ts +13 -1
  75. package/dist/tool-registry.d.ts.map +1 -1
  76. package/dist/tool-registry.js +18 -0
  77. package/dist/tool-registry.js.map +1 -1
  78. package/dist/tools/index.d.ts +8 -0
  79. package/dist/tools/index.d.ts.map +1 -0
  80. package/dist/tools/index.js +15 -0
  81. package/dist/tools/index.js.map +1 -0
  82. package/dist/tools/standard-tools.d.ts +121 -0
  83. package/dist/tools/standard-tools.d.ts.map +1 -0
  84. package/dist/tools/standard-tools.js +348 -0
  85. package/dist/tools/standard-tools.js.map +1 -0
  86. 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"}