@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 @@
1
+ {"version":3,"file":"CascadingAgent.d.ts","sourceRoot":"","sources":["../../src/cascading/CascadingAgent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,sBAAsB,EAItB,WAAW,EAEZ,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC5H;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CACrH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAC5H;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe;IACf,QAAQ,EAAE,sBAAsB,CAAC;IACjC,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6B;gBAEtC,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,0BAA0B;IAK1E;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4CnE;;OAEG;IACH,OAAO,CAAC,UAAU;IAkClB;;OAEG;YACW,aAAa;IAW3B;;OAEG;YACW,cAAc;IA2B5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;YACW,eAAe;IAe7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA2ClC;;OAEG;IACH,OAAO,CAAC,UAAU;IAoBlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkCnB;;OAEG;IACH,OAAO,CAAC,cAAc;CAiDvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,sBAAsB,EAAE,EACpC,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrE,cAAc,EAAE,CAYlB"}
@@ -0,0 +1,368 @@
1
+ "use strict";
2
+ /**
3
+ * KATASHIRO v1.4.0 - Cascading Agent
4
+ *
5
+ * カスケード型リサーチのエージェント
6
+ * 各エージェントは特定の役割(official/news/analysis/academic/community)を持ち、
7
+ * 前ステップの結果を参照しながら調査を実行する
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CascadingAgent = void 0;
11
+ exports.createCascadingAgents = createCascadingAgents;
12
+ const types_js_1 = require("./types.js");
13
+ /**
14
+ * カスケードエージェント
15
+ */
16
+ class CascadingAgent {
17
+ config;
18
+ deps;
19
+ constructor(config, deps) {
20
+ this.config = config;
21
+ this.deps = deps;
22
+ }
23
+ /**
24
+ * エージェントIDを取得
25
+ */
26
+ get id() {
27
+ return this.config.id;
28
+ }
29
+ /**
30
+ * エージェントの役割を取得
31
+ */
32
+ get role() {
33
+ return this.config.role;
34
+ }
35
+ /**
36
+ * リサーチを実行
37
+ */
38
+ async research(context) {
39
+ const startTime = Date.now();
40
+ try {
41
+ // 1. 検索クエリを構築
42
+ const query = this.buildQuery(context);
43
+ // 2. 検索実行
44
+ const searchResults = await this.executeSearch(query);
45
+ // 3. コンテンツ取得
46
+ const contents = await this.scrapeContents(searchResults);
47
+ // 4. 発見事項を抽出
48
+ const findings = await this.extractFindings(contents, context);
49
+ // 5. ギャップを分析
50
+ const gaps = this.analyzeGaps(context, findings);
51
+ // 6. レポートを生成
52
+ const report = this.generateReport(context, findings, contents, gaps);
53
+ return {
54
+ ...report,
55
+ durationMs: Date.now() - startTime,
56
+ timestamp: new Date().toISOString(),
57
+ };
58
+ }
59
+ catch (error) {
60
+ // エラー時はエラーレポートを返す
61
+ return {
62
+ agentId: this.config.id,
63
+ role: this.config.role,
64
+ stepNumber: context.stepNumber,
65
+ content: '',
66
+ findings: [],
67
+ sources: [],
68
+ gaps: [],
69
+ durationMs: Date.now() - startTime,
70
+ timestamp: new Date().toISOString(),
71
+ error: error instanceof Error ? error.message : String(error),
72
+ };
73
+ }
74
+ }
75
+ /**
76
+ * 検索クエリを構築
77
+ */
78
+ buildQuery(context) {
79
+ const parts = [context.topic];
80
+ // ステップの検索修飾子を追加
81
+ if (context.queryModifiers.length > 0 && context.queryModifiers[0]) {
82
+ parts.push(context.queryModifiers[0]);
83
+ }
84
+ // エージェント固有の修飾子を追加
85
+ if (this.config.strategy.queryModifiers.length > 0 && this.config.strategy.queryModifiers[0]) {
86
+ parts.push(this.config.strategy.queryModifiers[0]);
87
+ }
88
+ // 前ステップの結果に基づいて追加のコンテキストを付与
89
+ if (context.stepNumber > 1 && context.previousStepResult) {
90
+ // ギャップがあれば、それに関連する検索を行う
91
+ if (context.identifiedGaps.length > 0 && context.stepFocus === 'gap' && context.identifiedGaps[0]) {
92
+ parts.push(context.identifiedGaps[0]);
93
+ }
94
+ // 重要エンティティがあれば追加
95
+ if (context.keyEntities.length > 0 && context.stepFocus === 'detail' && context.keyEntities[0]) {
96
+ parts.push(context.keyEntities[0]);
97
+ }
98
+ // 未解決の疑問があれば追加
99
+ if (context.unresolvedQuestions.length > 0 && context.stepFocus === 'verify' && context.unresolvedQuestions[0]) {
100
+ parts.push(context.unresolvedQuestions[0]);
101
+ }
102
+ }
103
+ return parts.join(' ');
104
+ }
105
+ /**
106
+ * 検索を実行
107
+ */
108
+ async executeSearch(query) {
109
+ try {
110
+ const results = await this.deps.searchClient.search(query, {
111
+ maxResults: this.config.maxResults,
112
+ });
113
+ return results;
114
+ }
115
+ catch {
116
+ return [];
117
+ }
118
+ }
119
+ /**
120
+ * コンテンツをスクレイピング
121
+ */
122
+ async scrapeContents(searchResults) {
123
+ const contents = [];
124
+ // 上位5件のみスクレイピング
125
+ const targets = searchResults.slice(0, 5);
126
+ for (const result of targets) {
127
+ try {
128
+ const scraped = await this.deps.scraper.scrape(result.url);
129
+ if (scraped.ok) {
130
+ contents.push({
131
+ url: result.url,
132
+ title: scraped.value.title || result.title,
133
+ content: scraped.value.content,
134
+ credibility: this.estimateCredibility(result.url),
135
+ });
136
+ }
137
+ }
138
+ catch {
139
+ // スクレイピング失敗は無視して続行
140
+ }
141
+ }
142
+ return contents;
143
+ }
144
+ /**
145
+ * URLから信頼度を推定
146
+ */
147
+ estimateCredibility(url) {
148
+ try {
149
+ const domain = new URL(url).hostname.toLowerCase();
150
+ // 公式・政府系
151
+ if (domain.endsWith('.go.jp') || domain.endsWith('.gov')) {
152
+ return 0.95;
153
+ }
154
+ // 教育機関
155
+ if (domain.endsWith('.ac.jp') || domain.endsWith('.edu')) {
156
+ return 0.9;
157
+ }
158
+ // 大手メディア
159
+ const majorMedia = ['nikkei.com', 'asahi.com', 'yomiuri.co.jp', 'reuters.com', 'bbc.com'];
160
+ if (majorMedia.some(m => domain.includes(m))) {
161
+ return 0.85;
162
+ }
163
+ // Wikipedia
164
+ if (domain.includes('wikipedia.org')) {
165
+ return 0.75;
166
+ }
167
+ // その他
168
+ return 0.6;
169
+ }
170
+ catch {
171
+ return 0.5;
172
+ }
173
+ }
174
+ /**
175
+ * 発見事項を抽出
176
+ */
177
+ async extractFindings(contents, context) {
178
+ const findings = [];
179
+ for (const content of contents) {
180
+ // コンテンツから発見事項を抽出
181
+ const extractedFindings = this.extractFindingsFromContent(content, context);
182
+ findings.push(...extractedFindings);
183
+ }
184
+ return findings;
185
+ }
186
+ /**
187
+ * コンテンツから発見事項を抽出
188
+ */
189
+ extractFindingsFromContent(content, context) {
190
+ const findings = [];
191
+ // コンテンツを段落に分割
192
+ const paragraphs = content.content
193
+ .split(/\n\n+/)
194
+ .map(p => p.trim())
195
+ .filter(p => p.length > 50 && p.length < 1000);
196
+ // トピックに関連する段落を抽出(最大3つ)
197
+ const topicLower = context.topic.toLowerCase();
198
+ const relevantParagraphs = paragraphs
199
+ .filter(p => p.toLowerCase().includes(topicLower) || this.isRelevant(p, context))
200
+ .slice(0, 3);
201
+ for (const paragraph of relevantParagraphs) {
202
+ const category = this.categorizeContent(paragraph);
203
+ const source = {
204
+ url: content.url,
205
+ title: content.title,
206
+ fetchedAt: new Date().toISOString(),
207
+ credibility: content.credibility,
208
+ domain: this.extractDomain(content.url),
209
+ };
210
+ findings.push({
211
+ id: (0, types_js_1.generateFindingId)(context.stepNumber, this.config.id),
212
+ content: paragraph,
213
+ source,
214
+ confidence: content.credibility * 0.8 + 0.2 * (category === 'fact' ? 1 : 0.7),
215
+ stepNumber: context.stepNumber,
216
+ agentId: this.config.id,
217
+ category,
218
+ timestamp: new Date().toISOString(),
219
+ });
220
+ }
221
+ return findings;
222
+ }
223
+ /**
224
+ * コンテンツがトピックに関連しているか判定
225
+ */
226
+ isRelevant(text, context) {
227
+ const textLower = text.toLowerCase();
228
+ // キーエンティティとの一致
229
+ if (context.keyEntities.some(e => textLower.includes(e.toLowerCase()))) {
230
+ return true;
231
+ }
232
+ // ステップフォーカスに関連するキーワード
233
+ const focusKeywords = {
234
+ overview: ['概要', '基本', '特徴', '背景'],
235
+ detail: ['仕組み', '方法', '技術', 'プロセス'],
236
+ gap: ['課題', '問題', '懸念', '批判'],
237
+ verify: ['実績', '事例', '証拠', '評価'],
238
+ integrate: ['結論', 'まとめ', '展望', '将来'],
239
+ };
240
+ return focusKeywords[context.stepFocus].some(k => textLower.includes(k));
241
+ }
242
+ /**
243
+ * コンテンツをカテゴリ分類
244
+ */
245
+ categorizeContent(text) {
246
+ // 事実を示すパターン
247
+ if (/\d+年|\d+%|発表した|報告された|調査によると/.test(text)) {
248
+ return 'fact';
249
+ }
250
+ // 質問パターン
251
+ if (/\?|疑問|不明/.test(text)) {
252
+ return 'question';
253
+ }
254
+ // 分析パターン
255
+ if (/分析|考察|推測|可能性/.test(text)) {
256
+ return 'analysis';
257
+ }
258
+ // 意見パターン
259
+ if (/思う|考える|べき|だろう/.test(text)) {
260
+ return 'opinion';
261
+ }
262
+ return 'fact';
263
+ }
264
+ /**
265
+ * URLからドメインを抽出
266
+ */
267
+ extractDomain(url) {
268
+ try {
269
+ return new URL(url).hostname;
270
+ }
271
+ catch {
272
+ return 'unknown';
273
+ }
274
+ }
275
+ /**
276
+ * ギャップを分析
277
+ */
278
+ analyzeGaps(context, findings) {
279
+ const gaps = [];
280
+ // 前ステップで特定されたギャップのうち、まだ解決されていないものを確認
281
+ if (context.identifiedGaps.length > 0) {
282
+ for (const gap of context.identifiedGaps) {
283
+ const gapLower = gap.toLowerCase();
284
+ const addressed = findings.some(f => f.content.toLowerCase().includes(gapLower));
285
+ if (!addressed) {
286
+ // まだ解決されていないギャップ
287
+ }
288
+ }
289
+ }
290
+ // 新たなギャップを発見
291
+ // 例: 質問カテゴリの発見事項からギャップを抽出
292
+ const questions = findings.filter(f => f.category === 'question');
293
+ for (const q of questions) {
294
+ if (q.content.length < 200) {
295
+ gaps.push(q.content);
296
+ }
297
+ }
298
+ // エージェントの役割に応じたギャップ検出
299
+ if (this.config.role === 'official' && findings.length === 0) {
300
+ gaps.push(`${context.topic}に関する公式情報が不足`);
301
+ }
302
+ if (this.config.role === 'academic' && findings.length === 0) {
303
+ gaps.push(`${context.topic}に関する学術的な裏付けが不足`);
304
+ }
305
+ return gaps.slice(0, 3); // 最大3つのギャップ
306
+ }
307
+ /**
308
+ * レポートを生成
309
+ */
310
+ generateReport(context, findings, contents, gaps) {
311
+ const roleLabel = (0, types_js_1.getAgentRoleLabel)(this.config.role);
312
+ const focusLabel = (0, types_js_1.getStepFocusLabel)(context.stepFocus);
313
+ // ソースを作成
314
+ const sources = contents.map(c => ({
315
+ url: c.url,
316
+ title: c.title,
317
+ fetchedAt: new Date().toISOString(),
318
+ credibility: c.credibility,
319
+ domain: this.extractDomain(c.url),
320
+ }));
321
+ // レポート本文を生成
322
+ let reportContent = `## ${roleLabel}エージェントレポート (Step ${context.stepNumber}: ${focusLabel})\n\n`;
323
+ if (findings.length > 0) {
324
+ reportContent += `### 主な発見事項\n\n`;
325
+ for (const finding of findings.slice(0, 5)) {
326
+ reportContent += `- ${finding.content.slice(0, 200)}...\n`;
327
+ reportContent += ` - ソース: ${finding.source.title}\n`;
328
+ reportContent += ` - 信頼度: ${(finding.confidence * 100).toFixed(0)}%\n\n`;
329
+ }
330
+ }
331
+ else {
332
+ reportContent += `このステップでは${roleLabel}に関する新しい発見事項はありませんでした。\n\n`;
333
+ }
334
+ if (gaps.length > 0) {
335
+ reportContent += `### 特定されたギャップ\n\n`;
336
+ for (const gap of gaps) {
337
+ reportContent += `- ${gap}\n`;
338
+ }
339
+ }
340
+ return {
341
+ agentId: this.config.id,
342
+ role: this.config.role,
343
+ stepNumber: context.stepNumber,
344
+ content: reportContent,
345
+ findings,
346
+ sources,
347
+ gaps,
348
+ };
349
+ }
350
+ }
351
+ exports.CascadingAgent = CascadingAgent;
352
+ /**
353
+ * エージェントファクトリー
354
+ */
355
+ function createCascadingAgents(strategies, deps, options) {
356
+ return strategies.map((strategy, index) => {
357
+ const config = {
358
+ id: `agent-${strategy.role}-${index + 1}`,
359
+ role: strategy.role,
360
+ strategy,
361
+ timeoutMs: options.timeoutMs,
362
+ maxRetries: options.maxRetries,
363
+ maxResults: options.maxResults,
364
+ };
365
+ return new CascadingAgent(config, deps);
366
+ });
367
+ }
368
+ //# sourceMappingURL=CascadingAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CascadingAgent.js","sourceRoot":"","sources":["../../src/cascading/CascadingAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * KATASHIRO v1.4.0 - Cascading Research Engine
3
+ *
4
+ * カスケード型リサーチのメインエンジン
5
+ * 5ステップ × 5エージェントのワークフローを実行
6
+ */
7
+ import type { CascadingResearchConfig, CascadingResearchResult, CascadingResearchEventListener } from './types.js';
8
+ import { type CascadingAgentDependencies } from './CascadingAgent.js';
9
+ /**
10
+ * エンジンの状態
11
+ */
12
+ export type EngineState = 'idle' | 'running' | 'completed' | 'error' | 'aborted';
13
+ /**
14
+ * CascadingResearchEngineの依存性
15
+ */
16
+ export interface CascadingResearchEngineDependencies extends CascadingAgentDependencies {
17
+ /** ポストプロセッサ(オプション) */
18
+ postProcessor?: {
19
+ process: (report: string) => {
20
+ processedReport: string;
21
+ conversions: any[];
22
+ };
23
+ };
24
+ }
25
+ /**
26
+ * カスケード型リサーチエンジン
27
+ */
28
+ export declare class CascadingResearchEngine {
29
+ private readonly config;
30
+ private readonly deps;
31
+ private readonly eventListeners;
32
+ private state;
33
+ private abortRequested;
34
+ constructor(deps: CascadingResearchEngineDependencies, config?: Partial<CascadingResearchConfig>);
35
+ /**
36
+ * イベントリスナーを登録
37
+ */
38
+ on(listener: CascadingResearchEventListener): () => void;
39
+ /**
40
+ * イベントを発行
41
+ */
42
+ private emit;
43
+ /**
44
+ * 現在の状態を取得
45
+ */
46
+ getState(): EngineState;
47
+ /**
48
+ * リサーチを中断
49
+ */
50
+ abort(): void;
51
+ /**
52
+ * カスケード型リサーチを実行
53
+ */
54
+ research(topic: string, customConfig?: Partial<CascadingResearchConfig>): Promise<CascadingResearchResult>;
55
+ /**
56
+ * エージェントを作成
57
+ */
58
+ private createAgents;
59
+ /**
60
+ * ステップコンテキストを構築
61
+ */
62
+ private buildStepContext;
63
+ /**
64
+ * キーエンティティを抽出
65
+ */
66
+ private extractKeyEntities;
67
+ /**
68
+ * テキストをトークン化
69
+ */
70
+ private tokenize;
71
+ /**
72
+ * 早期終了判定
73
+ */
74
+ private shouldTerminateEarly;
75
+ }
76
+ /**
77
+ * シンプルな依存性を使用してエンジンを作成するヘルパー
78
+ */
79
+ export declare function createCascadingResearchEngine(searchClient: CascadingAgentDependencies['searchClient'], scraper: CascadingAgentDependencies['scraper'], config?: Partial<CascadingResearchConfig>): CascadingResearchEngine;
80
+ /**
81
+ * 設定のバリデーション
82
+ */
83
+ export declare function validateConfig(config: Partial<CascadingResearchConfig>): {
84
+ valid: boolean;
85
+ errors: string[];
86
+ };
87
+ //# sourceMappingURL=CascadingResearchEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CascadingResearchEngine.d.ts","sourceRoot":"","sources":["../../src/cascading/CascadingResearchEngine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EAEvB,8BAA8B,EAI/B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAyC,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAI7G;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,mCAAoC,SAAQ,0BAA0B;IACrF,sBAAsB;IACtB,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;YAAE,eAAe,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,GAAG,EAAE,CAAA;SAAE,CAAC;KAC9E,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IACvE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,cAAc,CAAkB;gBAGtC,IAAI,EAAE,mCAAmC,EACzC,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAM/C;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,8BAA8B,GAAG,MAAM,IAAI;IAUxD;;OAEG;IACH,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAC9C,OAAO,CAAC,uBAAuB,CAAC;IA+InC;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA+B7B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,0BAA0B,CAAC,cAAc,CAAC,EACxD,OAAO,EAAE,0BAA0B,CAAC,SAAS,CAAC,EAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACxC,uBAAuB,CAKzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG;IACxE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAqCA"}