@nahisaho/katashiro-orchestrator 1.0.0 → 1.2.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.
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+ /**
3
+ * KATASHIRO v1.2.0 - ResearchAgent
4
+ * リサーチパイプラインを実行するエージェント
5
+ * @module @nahisaho/katashiro-orchestrator/consensus
6
+ * @version 1.2.0
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ResearchAgent = void 0;
10
+ exports.createDefaultDependencies = createDefaultDependencies;
11
+ const types_1 = require("./types");
12
+ /**
13
+ * リサーチエージェント
14
+ * @requirement REQ-1.2.0-AGT-001, REQ-1.2.0-AGT-002
15
+ */
16
+ class ResearchAgent {
17
+ _agentId;
18
+ _strategy;
19
+ deps;
20
+ /**
21
+ * コンストラクタ
22
+ * @param agentId エージェントID
23
+ * @param strategy エージェント戦略
24
+ * @param deps 依存性
25
+ */
26
+ constructor(agentId, deps, strategy) {
27
+ this._agentId = agentId;
28
+ const defaultStrategy = types_1.DEFAULT_AGENT_STRATEGIES[agentId - 1] ?? types_1.DEFAULT_AGENT_STRATEGIES[0];
29
+ this._strategy = strategy ?? defaultStrategy;
30
+ this.deps = deps;
31
+ }
32
+ /**
33
+ * エージェントIDを取得
34
+ */
35
+ get agentId() {
36
+ return this._agentId;
37
+ }
38
+ /**
39
+ * 戦略を取得
40
+ */
41
+ get strategy() {
42
+ return this._strategy;
43
+ }
44
+ /**
45
+ * リサーチパイプラインを実行
46
+ * @requirement REQ-1.2.0-AGT-001
47
+ * @param context イテレーションコンテキスト
48
+ * @returns エージェントレポート
49
+ */
50
+ async execute(context) {
51
+ const startTime = Date.now();
52
+ const reportId = `report-${this._agentId}-${context.iteration}-${Date.now()}`;
53
+ // 1. 検索クエリ構築(戦略に基づく)
54
+ const query = this.buildSearchQuery(context.topic, context);
55
+ // 2. 検索実行
56
+ const searchResults = await this.search(query);
57
+ // 3. スクレイピング(カバー済みソースを除外)
58
+ const urlsToScrape = searchResults
59
+ .map((r) => r.url)
60
+ .filter((url) => !context.coveredSources.includes(url))
61
+ .slice(0, this._strategy.maxResultsPerAgent || 5);
62
+ const scrapedContents = await this.scrape(urlsToScrape);
63
+ // 4. 分析
64
+ const analysis = await this.analyze(scrapedContents);
65
+ // 5. エンティティ抽出
66
+ const entities = await this.extractEntities(scrapedContents);
67
+ // 6. レポート生成
68
+ const reportContent = await this.generateReport(context.topic, analysis, scrapedContents, entities, context);
69
+ // 7. ソース参照情報を構築
70
+ const sources = scrapedContents.map((c) => ({
71
+ url: c.url,
72
+ title: c.title || c.url,
73
+ fetchedAt: new Date().toISOString(),
74
+ reliabilityScore: this.estimateSourceReliability(c.url),
75
+ }));
76
+ return {
77
+ agentId: this._agentId,
78
+ reportId,
79
+ content: reportContent,
80
+ sources,
81
+ strategy: this._strategy,
82
+ generatedAt: new Date().toISOString(),
83
+ durationMs: Date.now() - startTime,
84
+ };
85
+ }
86
+ /**
87
+ * エージェント戦略に基づいて検索クエリを構築
88
+ * @requirement REQ-1.2.0-AGT-002
89
+ */
90
+ buildSearchQuery(topic, context) {
91
+ const modifiers = this._strategy.queryModifiers;
92
+ // 初回イテレーションは広範な検索
93
+ if (context.isInitial) {
94
+ return `${topic} ${modifiers.join(' ')}`;
95
+ }
96
+ // 2回目以降は深掘りエリアにフォーカス
97
+ const focusArea = context.areasToDeepen[this._agentId % context.areasToDeepen.length] || '';
98
+ return `${topic} ${focusArea} ${modifiers.join(' ')}`;
99
+ }
100
+ /**
101
+ * 検索を実行
102
+ */
103
+ async search(query) {
104
+ try {
105
+ return await this.deps.searchClient.search(query, {
106
+ maxResults: this._strategy.maxResultsPerAgent,
107
+ });
108
+ }
109
+ catch (error) {
110
+ console.error(`Search failed for agent ${this._agentId}:`, error);
111
+ return [];
112
+ }
113
+ }
114
+ /**
115
+ * URLリストをスクレイピング
116
+ */
117
+ async scrape(urls) {
118
+ const results = [];
119
+ for (const url of urls) {
120
+ try {
121
+ const result = await this.deps.scraper.scrape(url);
122
+ if (result.ok) {
123
+ results.push(result.value);
124
+ }
125
+ }
126
+ catch (error) {
127
+ console.error(`Scrape failed for ${url}:`, error);
128
+ }
129
+ }
130
+ return results;
131
+ }
132
+ /**
133
+ * コンテンツを分析
134
+ */
135
+ async analyze(contents) {
136
+ const analyses = [];
137
+ for (const content of contents) {
138
+ try {
139
+ const analysis = await this.deps.analyzer.analyze(content.content);
140
+ analyses.push(analysis);
141
+ }
142
+ catch (error) {
143
+ console.error(`Analysis failed:`, error);
144
+ }
145
+ }
146
+ return analyses;
147
+ }
148
+ /**
149
+ * エンティティを抽出
150
+ */
151
+ async extractEntities(contents) {
152
+ const combinedText = contents.map((c) => c.content).join('\n\n');
153
+ try {
154
+ return await this.deps.extractor.extract(combinedText);
155
+ }
156
+ catch (error) {
157
+ console.error(`Entity extraction failed:`, error);
158
+ return { persons: [], organizations: [], locations: [], all: [] };
159
+ }
160
+ }
161
+ /**
162
+ * レポートを生成
163
+ */
164
+ async generateReport(topic, analyses, contents, entities, context) {
165
+ // キーワードを集約
166
+ const allKeywords = Array.from(new Set(analyses.flatMap((a) => a.keywords)));
167
+ // エンティティサマリー
168
+ const entitySummary = [
169
+ entities.persons.length > 0 ? `人物: ${entities.persons.slice(0, 5).join(', ')}` : '',
170
+ entities.organizations.length > 0 ? `組織: ${entities.organizations.slice(0, 5).join(', ')}` : '',
171
+ entities.locations.length > 0 ? `場所: ${entities.locations.slice(0, 5).join(', ')}` : '',
172
+ ]
173
+ .filter(Boolean)
174
+ .join('\n');
175
+ // 前回のコンセンサスがある場合は参照
176
+ const previousContext = context.previousConsensus
177
+ ? `\n\n## 前回の調査結果を踏まえて\n\n${context.unresolvedQuestions.map((q) => `- ${q}`).join('\n')}`
178
+ : '';
179
+ // コンテンツサマリー
180
+ const contentSummary = contents
181
+ .slice(0, 5)
182
+ .map((c) => {
183
+ const preview = c.content.slice(0, 500).replace(/\n+/g, ' ');
184
+ return `### ${c.title || c.url}\n\n${preview}...`;
185
+ })
186
+ .join('\n\n');
187
+ try {
188
+ return await this.deps.reportGenerator.generate({
189
+ title: `${topic} - Agent ${this._agentId} Report (Iteration ${context.iteration})`,
190
+ sections: [
191
+ {
192
+ heading: '概要',
193
+ content: `トピック「${topic}」に関する調査結果です。${contents.length}件のソースを分析しました。`,
194
+ },
195
+ {
196
+ heading: '主要なキーワード',
197
+ content: allKeywords.slice(0, 20).join(', ') || 'キーワードが抽出できませんでした',
198
+ },
199
+ {
200
+ heading: '関連エンティティ',
201
+ content: entitySummary || 'エンティティが抽出できませんでした',
202
+ },
203
+ {
204
+ heading: '調査内容',
205
+ content: contentSummary || '調査内容がありません',
206
+ },
207
+ ...(previousContext
208
+ ? [{ heading: '深掘り事項', content: previousContext }]
209
+ : []),
210
+ {
211
+ heading: '参照ソース',
212
+ content: contents.map((c) => `- [${c.title || c.url}](${c.url})`).join('\n') ||
213
+ '参照ソースがありません',
214
+ },
215
+ ],
216
+ format: 'markdown',
217
+ });
218
+ }
219
+ catch (error) {
220
+ // フォールバック: 簡易レポート
221
+ console.error(`Report generation failed:`, error);
222
+ return `# ${topic} - Agent ${this._agentId} Report
223
+
224
+ ## 概要
225
+ ${contents.length}件のソースを分析しました。
226
+
227
+ ## キーワード
228
+ ${allKeywords.slice(0, 10).join(', ')}
229
+
230
+ ## エンティティ
231
+ ${entitySummary}
232
+
233
+ ## ソース
234
+ ${contents.map((c) => `- ${c.url}`).join('\n')}
235
+ `;
236
+ }
237
+ }
238
+ /**
239
+ * ソースURLから信頼性スコアを推定
240
+ * @requirement REQ-1.2.0-WFL-002
241
+ */
242
+ estimateSourceReliability(url) {
243
+ try {
244
+ const domain = new URL(url).hostname.toLowerCase();
245
+ // 公式・政府系(高信頼)
246
+ if (/\.gov(\.[a-z]{2})?$|\.go\.jp$/.test(domain))
247
+ return 0.95;
248
+ // 学術系(高信頼)
249
+ if (/\.edu(\.[a-z]{2})?$|\.ac\.jp$/.test(domain))
250
+ return 0.9;
251
+ // 大手ニュースメディア(中〜高信頼)
252
+ const trustedNews = [
253
+ 'reuters.com',
254
+ 'bloomberg.com',
255
+ 'nikkei.com',
256
+ 'nhk.or.jp',
257
+ 'bbc.com',
258
+ ];
259
+ if (trustedNews.some((d) => domain.includes(d)))
260
+ return 0.85;
261
+ // 公式企業サイト(中信頼)
262
+ if (/\.co\.jp$|\.com$/.test(domain) && !domain.includes('blog'))
263
+ return 0.7;
264
+ // ブログ・個人サイト(低〜中信頼)
265
+ if (/blog|note\.com|qiita\.com|zenn\.dev/.test(domain))
266
+ return 0.5;
267
+ // その他(デフォルト)
268
+ return 0.6;
269
+ }
270
+ catch {
271
+ return 0.5;
272
+ }
273
+ }
274
+ }
275
+ exports.ResearchAgent = ResearchAgent;
276
+ /**
277
+ * デフォルト依存性を作成するファクトリ
278
+ * 実際のKATASHIROモジュールを使用
279
+ */
280
+ function createDefaultDependencies() {
281
+ // 遅延インポートで依存性を解決
282
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
283
+ const { WebSearchClient, WebScraper } = require('@nahisaho/katashiro-collector');
284
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
285
+ const { TextAnalyzer, EntityExtractor } = require('@nahisaho/katashiro-analyzer');
286
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
287
+ const { ReportGenerator } = require('@nahisaho/katashiro-generator');
288
+ const searchClient = new WebSearchClient();
289
+ const scraper = new WebScraper();
290
+ const analyzer = new TextAnalyzer();
291
+ const extractor = new EntityExtractor();
292
+ const reportGenerator = new ReportGenerator();
293
+ return {
294
+ searchClient: {
295
+ search: (query, options) => searchClient.search(query, options),
296
+ },
297
+ scraper: {
298
+ scrape: async (url) => {
299
+ try {
300
+ const result = await scraper.scrape(url);
301
+ return { ok: true, value: result };
302
+ }
303
+ catch (error) {
304
+ return { ok: false, error: error };
305
+ }
306
+ },
307
+ },
308
+ analyzer: {
309
+ analyze: (text) => analyzer.analyze(text),
310
+ },
311
+ extractor: {
312
+ extract: (text) => extractor.extract(text),
313
+ },
314
+ reportGenerator: {
315
+ generate: (config) => reportGenerator.generate(config),
316
+ },
317
+ };
318
+ }
319
+ //# sourceMappingURL=ResearchAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResearchAgent.js","sourceRoot":"","sources":["../../src/consensus/ResearchAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * KATASHIRO Consensus Research Module
3
+ *
4
+ * 反復合議型リサーチワークフロー(Iterative Consensus Research Workflow)
5
+ * - 3エージェント × 3イテレーションの多視点調査
6
+ * - レポートスコアリングと矛盾検出
7
+ * - コンセンサスベースの最終レポート生成
8
+ *
9
+ * @packageDocumentation
10
+ * @module consensus
11
+ * @since v1.2.0
12
+ */
13
+ export type { ConsensusResearchConfig, SearchConfig, ReportScore, AgentReport, ConflictDetail, ConflictStatement, ConsensusSelection, SourceReference, AgentStrategy, SourceType, IterationResult, IterationContext, ConsensusResearchResult, ConsensusResearchMetadata, ConsensusResearchEvent, ResearchStartedEvent, IterationStartedEvent, AgentStartedEvent, AgentCompletedEvent, ScoringCompletedEvent, ConsensusSelectedEvent, IterationCompletedEvent, ResearchCompletedEvent, } from './types.js';
14
+ export { DEFAULT_CONSENSUS_CONFIG, DEFAULT_AGENT_STRATEGIES, ConsensusResearchError, ConsensusResearchErrorCode, } from './types.js';
15
+ export { ReportScorer } from './ReportScorer.js';
16
+ export { ConsensusSelector } from './ConsensusSelector.js';
17
+ export { ResearchAgent } from './ResearchAgent.js';
18
+ export { ConsensusResearchEngine } from './ConsensusResearchEngine.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/consensus/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,YAAY,EAEV,uBAAuB,EACvB,YAAY,EAGZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAGf,aAAa,EACb,UAAU,EAGV,eAAe,EACf,gBAAgB,EAGhB,uBAAuB,EACvB,yBAAyB,EAGzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * KATASHIRO Consensus Research Module
4
+ *
5
+ * 反復合議型リサーチワークフロー(Iterative Consensus Research Workflow)
6
+ * - 3エージェント × 3イテレーションの多視点調査
7
+ * - レポートスコアリングと矛盾検出
8
+ * - コンセンサスベースの最終レポート生成
9
+ *
10
+ * @packageDocumentation
11
+ * @module consensus
12
+ * @since v1.2.0
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ConsensusResearchEngine = exports.ResearchAgent = exports.ConsensusSelector = exports.ReportScorer = exports.ConsensusResearchErrorCode = exports.ConsensusResearchError = exports.DEFAULT_AGENT_STRATEGIES = exports.DEFAULT_CONSENSUS_CONFIG = void 0;
16
+ // =============================================================================
17
+ // Constants
18
+ // =============================================================================
19
+ var types_js_1 = require("./types.js");
20
+ Object.defineProperty(exports, "DEFAULT_CONSENSUS_CONFIG", { enumerable: true, get: function () { return types_js_1.DEFAULT_CONSENSUS_CONFIG; } });
21
+ Object.defineProperty(exports, "DEFAULT_AGENT_STRATEGIES", { enumerable: true, get: function () { return types_js_1.DEFAULT_AGENT_STRATEGIES; } });
22
+ Object.defineProperty(exports, "ConsensusResearchError", { enumerable: true, get: function () { return types_js_1.ConsensusResearchError; } });
23
+ Object.defineProperty(exports, "ConsensusResearchErrorCode", { enumerable: true, get: function () { return types_js_1.ConsensusResearchErrorCode; } });
24
+ // =============================================================================
25
+ // Core Classes
26
+ // =============================================================================
27
+ var ReportScorer_js_1 = require("./ReportScorer.js");
28
+ Object.defineProperty(exports, "ReportScorer", { enumerable: true, get: function () { return ReportScorer_js_1.ReportScorer; } });
29
+ var ConsensusSelector_js_1 = require("./ConsensusSelector.js");
30
+ Object.defineProperty(exports, "ConsensusSelector", { enumerable: true, get: function () { return ConsensusSelector_js_1.ConsensusSelector; } });
31
+ var ResearchAgent_js_1 = require("./ResearchAgent.js");
32
+ Object.defineProperty(exports, "ResearchAgent", { enumerable: true, get: function () { return ResearchAgent_js_1.ResearchAgent; } });
33
+ var ConsensusResearchEngine_js_1 = require("./ConsensusResearchEngine.js");
34
+ Object.defineProperty(exports, "ConsensusResearchEngine", { enumerable: true, get: function () { return ConsensusResearchEngine_js_1.ConsensusResearchEngine; } });
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consensus/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AA2CH,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,uCAKoB;AAJlB,oHAAA,wBAAwB,OAAA;AACxB,oHAAA,wBAAwB,OAAA;AACxB,kHAAA,sBAAsB,OAAA;AACtB,sHAAA,0BAA0B,OAAA;AAG5B,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAC1B,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA"}