@nahisaho/katashiro-orchestrator 1.0.1 → 1.3.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 (37) hide show
  1. package/dist/consensus/AsciiDiagramConverter.d.ts +45 -0
  2. package/dist/consensus/AsciiDiagramConverter.d.ts.map +1 -0
  3. package/dist/consensus/AsciiDiagramConverter.js +460 -0
  4. package/dist/consensus/AsciiDiagramConverter.js.map +1 -0
  5. package/dist/consensus/ConsensusResearchEngine.d.ts +84 -0
  6. package/dist/consensus/ConsensusResearchEngine.d.ts.map +1 -0
  7. package/dist/consensus/ConsensusResearchEngine.js +409 -0
  8. package/dist/consensus/ConsensusResearchEngine.js.map +1 -0
  9. package/dist/consensus/ConsensusSelector.d.ts +63 -0
  10. package/dist/consensus/ConsensusSelector.d.ts.map +1 -0
  11. package/dist/consensus/ConsensusSelector.js +124 -0
  12. package/dist/consensus/ConsensusSelector.js.map +1 -0
  13. package/dist/consensus/ReportPostProcessor.d.ts +51 -0
  14. package/dist/consensus/ReportPostProcessor.d.ts.map +1 -0
  15. package/dist/consensus/ReportPostProcessor.js +162 -0
  16. package/dist/consensus/ReportPostProcessor.js.map +1 -0
  17. package/dist/consensus/ReportScorer.d.ts +81 -0
  18. package/dist/consensus/ReportScorer.d.ts.map +1 -0
  19. package/dist/consensus/ReportScorer.js +292 -0
  20. package/dist/consensus/ReportScorer.js.map +1 -0
  21. package/dist/consensus/ResearchAgent.d.ts +137 -0
  22. package/dist/consensus/ResearchAgent.d.ts.map +1 -0
  23. package/dist/consensus/ResearchAgent.js +319 -0
  24. package/dist/consensus/ResearchAgent.js.map +1 -0
  25. package/dist/consensus/index.d.ts +22 -0
  26. package/dist/consensus/index.d.ts.map +1 -0
  27. package/dist/consensus/index.js +42 -0
  28. package/dist/consensus/index.js.map +1 -0
  29. package/dist/consensus/types.d.ts +409 -0
  30. package/dist/consensus/types.d.ts.map +1 -0
  31. package/dist/consensus/types.js +98 -0
  32. package/dist/consensus/types.js.map +1 -0
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +13 -1
  36. package/dist/index.js.map +1 -1
  37. package/package.json +4 -2
@@ -0,0 +1,45 @@
1
+ /**
2
+ * KATASHIRO v1.3.0 - AsciiDiagramConverter
3
+ * ASCII図を検出してMermaid/Markdownに変換
4
+ * @module @nahisaho/katashiro-orchestrator/consensus
5
+ * @version 1.3.0
6
+ */
7
+ import type { AsciiDiagram } from './types';
8
+ /**
9
+ * ASCII図検出・変換クラス
10
+ * @requirement REQ-1.3.0-VIS-001
11
+ */
12
+ export declare class AsciiDiagramConverter {
13
+ private static readonly TABLE_PATTERNS;
14
+ private static readonly TREE_PATTERNS;
15
+ private static readonly FLOWCHART_PATTERNS;
16
+ /**
17
+ * テキストからASCII図を検出
18
+ * @param text 入力テキスト
19
+ * @returns 検出されたASCII図配列
20
+ */
21
+ detect(text: string): AsciiDiagram[];
22
+ /**
23
+ * ASCII図をMermaidに変換
24
+ * @param diagram ASCII図
25
+ * @returns Mermaid形式の文字列
26
+ */
27
+ convertToMermaid(diagram: AsciiDiagram): string;
28
+ /**
29
+ * ASCII図をMarkdownに変換
30
+ * @param diagram ASCII図
31
+ * @returns Markdown形式の文字列
32
+ */
33
+ convertToMarkdown(diagram: AsciiDiagram): string;
34
+ private detectTable;
35
+ private detectTree;
36
+ private detectBox;
37
+ private detectFlowchart;
38
+ private convertTableToMarkdown;
39
+ private convertTreeToMarkdownList;
40
+ private convertTreeToMermaid;
41
+ private convertFlowchartToMermaid;
42
+ private convertBoxToMermaid;
43
+ private sanitizeNodeId;
44
+ }
45
+ //# sourceMappingURL=AsciiDiagramConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsciiDiagramConverter.d.ts","sourceRoot":"","sources":["../../src/consensus/AsciiDiagramConverter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAOpC;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAKnC;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAOxC;IAEF;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IA4CpC;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAgB/C;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAmBhD,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,UAAU;IA6ClB,OAAO,CAAC,SAAS;IA0CjB,OAAO,CAAC,eAAe;IAmDvB,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,yBAAyB;IAiDjC,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,cAAc;CAQvB"}
@@ -0,0 +1,460 @@
1
+ "use strict";
2
+ /**
3
+ * KATASHIRO v1.3.0 - AsciiDiagramConverter
4
+ * ASCII図を検出してMermaid/Markdownに変換
5
+ * @module @nahisaho/katashiro-orchestrator/consensus
6
+ * @version 1.3.0
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AsciiDiagramConverter = void 0;
10
+ /**
11
+ * ASCII図検出・変換クラス
12
+ * @requirement REQ-1.3.0-VIS-001
13
+ */
14
+ class AsciiDiagramConverter {
15
+ // ASCII テーブル検出パターン
16
+ static TABLE_PATTERNS = {
17
+ // +---+---+ スタイル
18
+ plusStyle: /^\s*\+[-+]+\+\s*$/,
19
+ // |---|---| スタイル
20
+ pipeStyle: /^\s*\|[-|]+\|\s*$/,
21
+ // セル行
22
+ cellRow: /^\s*\|[^|]+\|/,
23
+ };
24
+ // ASCII ツリー検出パターン
25
+ static TREE_PATTERNS = {
26
+ // ├── または └── スタイル
27
+ treeNode: /^[\s]*[├└│┌┐┘┬┴┼─┤].*$/,
28
+ // インデント + - スタイル
29
+ dashNode: /^(\s*)[-*]\s+.+$/,
30
+ };
31
+ // ASCII フローチャート検出パターン
32
+ static FLOWCHART_PATTERNS = {
33
+ // [Node] --> [Node] スタイル
34
+ bracketArrow: /\[([^\]]+)\]\s*(?:-->|->|==>|=>|--)\s*\[([^\]]+)\]/,
35
+ // (Node) --> (Node) スタイル
36
+ parenArrow: /\(([^)]+)\)\s*(?:-->|->|==>|=>|--)\s*\(([^)]+)\)/,
37
+ // Node --> Node スタイル(行全体が矢印)
38
+ simpleArrow: /^\s*\S+\s*(?:-->|->|==>|=>)\s*\S+\s*$/,
39
+ };
40
+ /**
41
+ * テキストからASCII図を検出
42
+ * @param text 入力テキスト
43
+ * @returns 検出されたASCII図配列
44
+ */
45
+ detect(text) {
46
+ const diagrams = [];
47
+ const lines = text.split('\n');
48
+ let i = 0;
49
+ while (i < lines.length) {
50
+ // テーブル検出
51
+ const tableResult = this.detectTable(lines, i);
52
+ if (tableResult) {
53
+ diagrams.push(tableResult.diagram);
54
+ i = tableResult.endLine + 1;
55
+ continue;
56
+ }
57
+ // ツリー検出
58
+ const treeResult = this.detectTree(lines, i);
59
+ if (treeResult) {
60
+ diagrams.push(treeResult.diagram);
61
+ i = treeResult.endLine + 1;
62
+ continue;
63
+ }
64
+ // ボックス検出
65
+ const boxResult = this.detectBox(lines, i);
66
+ if (boxResult) {
67
+ diagrams.push(boxResult.diagram);
68
+ i = boxResult.endLine + 1;
69
+ continue;
70
+ }
71
+ // フローチャート検出
72
+ const flowchartResult = this.detectFlowchart(lines, i);
73
+ if (flowchartResult) {
74
+ diagrams.push(flowchartResult.diagram);
75
+ i = flowchartResult.endLine + 1;
76
+ continue;
77
+ }
78
+ i++;
79
+ }
80
+ return diagrams;
81
+ }
82
+ /**
83
+ * ASCII図をMermaidに変換
84
+ * @param diagram ASCII図
85
+ * @returns Mermaid形式の文字列
86
+ */
87
+ convertToMermaid(diagram) {
88
+ switch (diagram.type) {
89
+ case 'flowchart':
90
+ return this.convertFlowchartToMermaid(diagram.original);
91
+ case 'tree':
92
+ return this.convertTreeToMermaid(diagram.original);
93
+ case 'box':
94
+ return this.convertBoxToMermaid(diagram.original);
95
+ case 'table':
96
+ // テーブルはMarkdownの方が適切
97
+ return this.convertTableToMarkdown(diagram.original);
98
+ default:
99
+ return diagram.original;
100
+ }
101
+ }
102
+ /**
103
+ * ASCII図をMarkdownに変換
104
+ * @param diagram ASCII図
105
+ * @returns Markdown形式の文字列
106
+ */
107
+ convertToMarkdown(diagram) {
108
+ switch (diagram.type) {
109
+ case 'table':
110
+ return this.convertTableToMarkdown(diagram.original);
111
+ case 'tree':
112
+ return this.convertTreeToMarkdownList(diagram.original);
113
+ case 'flowchart':
114
+ case 'box':
115
+ // フローチャートとボックスはMermaidが適切
116
+ return this.convertToMermaid(diagram);
117
+ default:
118
+ return diagram.original;
119
+ }
120
+ }
121
+ // =========================================================================
122
+ // 検出メソッド
123
+ // =========================================================================
124
+ detectTable(lines, startLine) {
125
+ const line = lines[startLine];
126
+ if (!line)
127
+ return null;
128
+ // +---+---+ スタイルのテーブル開始を検出
129
+ if (AsciiDiagramConverter.TABLE_PATTERNS.plusStyle.test(line)) {
130
+ let endLine = startLine;
131
+ // テーブル終了を探す
132
+ for (let i = startLine + 1; i < lines.length; i++) {
133
+ const currentLine = lines[i] || '';
134
+ if (AsciiDiagramConverter.TABLE_PATTERNS.plusStyle.test(currentLine)) {
135
+ endLine = i;
136
+ // 次の行もテーブルの一部かチェック
137
+ const nextLine = lines[i + 1];
138
+ if (nextLine &&
139
+ !AsciiDiagramConverter.TABLE_PATTERNS.plusStyle.test(nextLine) &&
140
+ !AsciiDiagramConverter.TABLE_PATTERNS.cellRow.test(nextLine)) {
141
+ break;
142
+ }
143
+ }
144
+ else if (!AsciiDiagramConverter.TABLE_PATTERNS.cellRow.test(currentLine)) {
145
+ break;
146
+ }
147
+ endLine = i;
148
+ }
149
+ if (endLine > startLine) {
150
+ const original = lines.slice(startLine, endLine + 1).join('\n');
151
+ const startIndex = lines.slice(0, startLine).join('\n').length + (startLine > 0 ? 1 : 0);
152
+ return {
153
+ diagram: {
154
+ type: 'table',
155
+ original,
156
+ startIndex,
157
+ endIndex: startIndex + original.length,
158
+ lineNumber: startLine + 1,
159
+ },
160
+ endLine,
161
+ };
162
+ }
163
+ }
164
+ return null;
165
+ }
166
+ detectTree(lines, startLine) {
167
+ const line = lines[startLine];
168
+ if (!line)
169
+ return null;
170
+ // ツリーノード検出
171
+ if (AsciiDiagramConverter.TREE_PATTERNS.treeNode.test(line)) {
172
+ let endLine = startLine;
173
+ for (let i = startLine + 1; i < lines.length; i++) {
174
+ const currentLine = lines[i] || '';
175
+ if (AsciiDiagramConverter.TREE_PATTERNS.treeNode.test(currentLine) ||
176
+ /^[\s]*[│]\s*$/.test(currentLine) // 縦線のみの行
177
+ ) {
178
+ endLine = i;
179
+ }
180
+ else if (currentLine.trim() === '') {
181
+ // 空行で終了
182
+ break;
183
+ }
184
+ else {
185
+ break;
186
+ }
187
+ }
188
+ if (endLine > startLine) {
189
+ const original = lines.slice(startLine, endLine + 1).join('\n');
190
+ const startIndex = lines.slice(0, startLine).join('\n').length + (startLine > 0 ? 1 : 0);
191
+ return {
192
+ diagram: {
193
+ type: 'tree',
194
+ original,
195
+ startIndex,
196
+ endIndex: startIndex + original.length,
197
+ lineNumber: startLine + 1,
198
+ },
199
+ endLine,
200
+ };
201
+ }
202
+ }
203
+ return null;
204
+ }
205
+ detectBox(lines, startLine) {
206
+ const line = lines[startLine];
207
+ if (!line)
208
+ return null;
209
+ // ┌ で始まるボックス
210
+ if (/^\s*┌/.test(line)) {
211
+ let endLine = startLine;
212
+ for (let i = startLine + 1; i < lines.length; i++) {
213
+ const currentLine = lines[i] || '';
214
+ if (/^\s*└/.test(currentLine)) {
215
+ endLine = i;
216
+ break;
217
+ }
218
+ else if (/^\s*│/.test(currentLine)) {
219
+ endLine = i;
220
+ }
221
+ else {
222
+ break;
223
+ }
224
+ }
225
+ if (endLine > startLine) {
226
+ const original = lines.slice(startLine, endLine + 1).join('\n');
227
+ const startIndex = lines.slice(0, startLine).join('\n').length + (startLine > 0 ? 1 : 0);
228
+ return {
229
+ diagram: {
230
+ type: 'box',
231
+ original,
232
+ startIndex,
233
+ endIndex: startIndex + original.length,
234
+ lineNumber: startLine + 1,
235
+ },
236
+ endLine,
237
+ };
238
+ }
239
+ }
240
+ return null;
241
+ }
242
+ detectFlowchart(lines, startLine) {
243
+ const line = lines[startLine];
244
+ if (!line)
245
+ return null;
246
+ // [Node] --> [Node] パターン
247
+ if (AsciiDiagramConverter.FLOWCHART_PATTERNS.bracketArrow.test(line)) {
248
+ let endLine = startLine;
249
+ for (let i = startLine + 1; i < lines.length; i++) {
250
+ const currentLine = lines[i] || '';
251
+ if (AsciiDiagramConverter.FLOWCHART_PATTERNS.bracketArrow.test(currentLine) ||
252
+ AsciiDiagramConverter.FLOWCHART_PATTERNS.parenArrow.test(currentLine) ||
253
+ /^\s*\|?\s*v?\s*$/.test(currentLine) || // 縦線のみ
254
+ /^\s*$/.test(currentLine) // 空行(フローチャート内の区切り)
255
+ ) {
256
+ // 連続する空行は終了とみなす
257
+ const nextLine = lines[i + 1];
258
+ if (/^\s*$/.test(currentLine) && nextLine !== undefined && /^\s*$/.test(nextLine)) {
259
+ break;
260
+ }
261
+ endLine = i;
262
+ }
263
+ else {
264
+ break;
265
+ }
266
+ }
267
+ const original = lines.slice(startLine, endLine + 1).join('\n');
268
+ const startIndex = lines.slice(0, startLine).join('\n').length + (startLine > 0 ? 1 : 0);
269
+ return {
270
+ diagram: {
271
+ type: 'flowchart',
272
+ original,
273
+ startIndex,
274
+ endIndex: startIndex + original.length,
275
+ lineNumber: startLine + 1,
276
+ },
277
+ endLine,
278
+ };
279
+ }
280
+ return null;
281
+ }
282
+ // =========================================================================
283
+ // 変換メソッド
284
+ // =========================================================================
285
+ convertTableToMarkdown(ascii) {
286
+ const lines = ascii.split('\n').filter((l) => l.trim());
287
+ const dataRows = [];
288
+ for (const line of lines) {
289
+ // +---+---+ 行はスキップ
290
+ if (AsciiDiagramConverter.TABLE_PATTERNS.plusStyle.test(line)) {
291
+ continue;
292
+ }
293
+ // | cell | cell | 行からセルを抽出
294
+ if (line.includes('|')) {
295
+ const cells = line
296
+ .split('|')
297
+ .slice(1, -1) // 最初と最後の空要素を除去
298
+ .map((c) => c.trim());
299
+ if (cells.length > 0 && cells.some((c) => c !== '')) {
300
+ dataRows.push(cells);
301
+ }
302
+ }
303
+ }
304
+ if (dataRows.length === 0)
305
+ return ascii;
306
+ // Markdown テーブル生成
307
+ const result = [];
308
+ const colCount = Math.max(...dataRows.map((r) => r.length));
309
+ // ヘッダー行
310
+ if (dataRows[0]) {
311
+ const header = dataRows[0].map((c) => c || '').concat(Array(colCount - dataRows[0].length).fill(''));
312
+ result.push(`| ${header.join(' | ')} |`);
313
+ result.push(`| ${header.map(() => '---').join(' | ')} |`);
314
+ }
315
+ // データ行
316
+ for (let i = 1; i < dataRows.length; i++) {
317
+ const row = dataRows[i];
318
+ if (row) {
319
+ const cells = row.map((c) => c || '').concat(Array(colCount - row.length).fill(''));
320
+ result.push(`| ${cells.join(' | ')} |`);
321
+ }
322
+ }
323
+ return result.join('\n');
324
+ }
325
+ convertTreeToMarkdownList(ascii) {
326
+ const lines = ascii.split('\n');
327
+ const result = [];
328
+ for (const line of lines) {
329
+ // ツリー記号を除去してインデントレベルを計算
330
+ const match = line.match(/^([\s│]*)[├└─┬┴┼├┤]*\s*(.+)$/);
331
+ if (match) {
332
+ const [, indent, content] = match;
333
+ const level = Math.floor((indent?.replace(/│/g, ' ').length || 0) / 2);
334
+ const cleanContent = content?.trim() || '';
335
+ if (cleanContent) {
336
+ result.push(`${' '.repeat(level)}- ${cleanContent}`);
337
+ }
338
+ }
339
+ }
340
+ return result.join('\n') || ascii;
341
+ }
342
+ convertTreeToMermaid(ascii) {
343
+ const lines = ascii.split('\n');
344
+ const nodes = [];
345
+ const edges = [];
346
+ let nodeId = 0;
347
+ const levelStack = [];
348
+ for (const line of lines) {
349
+ const match = line.match(/^([\s│]*)[├└─┬┴┼├┤]*\s*(.+)$/);
350
+ if (match) {
351
+ const [, indent, content] = match;
352
+ const level = Math.floor((indent?.replace(/│/g, ' ').length || 0) / 2);
353
+ const cleanContent = content?.trim() || '';
354
+ if (cleanContent) {
355
+ const id = `node${nodeId++}`;
356
+ nodes.push({ id, label: cleanContent, level });
357
+ // レベルスタックを更新
358
+ levelStack[level] = id;
359
+ // 親ノードとの接続
360
+ if (level > 0 && levelStack[level - 1]) {
361
+ edges.push({ from: levelStack[level - 1], to: id });
362
+ }
363
+ }
364
+ }
365
+ }
366
+ if (nodes.length === 0)
367
+ return ascii;
368
+ // Mermaid graph生成
369
+ const result = ['```mermaid', 'graph TD'];
370
+ for (const node of nodes) {
371
+ result.push(` ${node.id}[${node.label}]`);
372
+ }
373
+ for (const edge of edges) {
374
+ result.push(` ${edge.from} --> ${edge.to}`);
375
+ }
376
+ result.push('```');
377
+ return result.join('\n');
378
+ }
379
+ convertFlowchartToMermaid(ascii) {
380
+ const lines = ascii.split('\n');
381
+ const edges = [];
382
+ const nodeSet = new Set();
383
+ for (const line of lines) {
384
+ // [Node1] --> [Node2] パターン
385
+ const bracketMatch = line.match(/\[([^\]]+)\]\s*(?:-->|->|==>|=>|--)\s*\[([^\]]+)\]/g);
386
+ if (bracketMatch) {
387
+ for (const match of bracketMatch) {
388
+ const parts = match.match(/\[([^\]]+)\]\s*(?:-->|->|==>|=>|--)\s*\[([^\]]+)\]/);
389
+ if (parts && parts[1] && parts[2]) {
390
+ const from = this.sanitizeNodeId(parts[1]);
391
+ const to = this.sanitizeNodeId(parts[2]);
392
+ edges.push({ from, to });
393
+ nodeSet.add(from);
394
+ nodeSet.add(to);
395
+ }
396
+ }
397
+ }
398
+ // (Node1) --> (Node2) パターン
399
+ const parenMatch = line.match(/\(([^)]+)\)\s*(?:-->|->|==>|=>|--)\s*\(([^)]+)\)/g);
400
+ if (parenMatch) {
401
+ for (const match of parenMatch) {
402
+ const parts = match.match(/\(([^)]+)\)\s*(?:-->|->|==>|=>|--)\s*\(([^)]+)\)/);
403
+ if (parts && parts[1] && parts[2]) {
404
+ const from = this.sanitizeNodeId(parts[1]);
405
+ const to = this.sanitizeNodeId(parts[2]);
406
+ edges.push({ from, to });
407
+ nodeSet.add(from);
408
+ nodeSet.add(to);
409
+ }
410
+ }
411
+ }
412
+ }
413
+ if (edges.length === 0)
414
+ return ascii;
415
+ // Mermaid flowchart生成
416
+ const result = ['```mermaid', 'flowchart TD'];
417
+ for (const edge of edges) {
418
+ result.push(` ${edge.from} --> ${edge.to}`);
419
+ }
420
+ result.push('```');
421
+ return result.join('\n');
422
+ }
423
+ convertBoxToMermaid(ascii) {
424
+ const lines = ascii.split('\n');
425
+ const boxes = [];
426
+ for (const line of lines) {
427
+ // │ content │ パターンからコンテンツを抽出
428
+ const match = line.match(/│\s*(.+?)\s*│/);
429
+ if (match && match[1]) {
430
+ const content = match[1].trim();
431
+ if (content && !/^[-─]+$/.test(content)) {
432
+ boxes.push(content);
433
+ }
434
+ }
435
+ }
436
+ if (boxes.length === 0)
437
+ return ascii;
438
+ // シンプルなボックスとして Mermaid graph生成
439
+ const result = ['```mermaid', 'graph TD'];
440
+ boxes.forEach((box, i) => {
441
+ const id = `box${i}`;
442
+ result.push(` ${id}[${box}]`);
443
+ if (i > 0) {
444
+ result.push(` box${i - 1} --> ${id}`);
445
+ }
446
+ });
447
+ result.push('```');
448
+ return result.join('\n');
449
+ }
450
+ sanitizeNodeId(label) {
451
+ // Mermaidのノード名として使える形式に変換
452
+ return label
453
+ .trim()
454
+ .replace(/[^\w\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FAF]/g, '_')
455
+ .replace(/_+/g, '_')
456
+ .replace(/^_|_$/g, '') || 'node';
457
+ }
458
+ }
459
+ exports.AsciiDiagramConverter = AsciiDiagramConverter;
460
+ //# sourceMappingURL=AsciiDiagramConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsciiDiagramConverter.js","sourceRoot":"","sources":["../../src/consensus/AsciiDiagramConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * KATASHIRO v1.3.0 - ConsensusResearchEngine
3
+ * 反復合議型リサーチワークフローのメインオーケストレーター
4
+ * @module @nahisaho/katashiro-orchestrator/consensus
5
+ * @version 1.3.0
6
+ */
7
+ import { ConsensusResearchConfig, ConsensusResearchResult, ConsensusResearchEventListener } from './types';
8
+ import { ResearchAgentDependencies } from './ResearchAgent';
9
+ /**
10
+ * 合議型リサーチエンジン
11
+ * @requirement REQ-1.2.0-WFL-001 ~ REQ-1.2.0-WFL-005, REQ-1.3.0-INT-001
12
+ */
13
+ export declare class ConsensusResearchEngine {
14
+ private readonly config;
15
+ private readonly agents;
16
+ private readonly scorer;
17
+ private readonly selector;
18
+ private readonly postProcessor;
19
+ private readonly eventEmitter;
20
+ /**
21
+ * コンストラクタ
22
+ * @param config 設定
23
+ * @param deps 依存性(テスト用)
24
+ */
25
+ constructor(config?: Partial<ConsensusResearchConfig>, deps?: ResearchAgentDependencies);
26
+ /**
27
+ * イベントリスナーを登録
28
+ */
29
+ on(listener: ConsensusResearchEventListener): this;
30
+ /**
31
+ * イベントリスナーを解除
32
+ */
33
+ off(listener: ConsensusResearchEventListener): this;
34
+ /**
35
+ * イベントを発行
36
+ */
37
+ private emit;
38
+ /**
39
+ * 反復合議型リサーチを実行
40
+ * @requirement REQ-1.2.0-WFL-001, REQ-1.2.0-WFL-004, REQ-1.2.0-WFL-005
41
+ * @param topic リサーチトピック
42
+ * @param options オプション設定
43
+ * @returns 最終結果
44
+ */
45
+ research(topic: string, options?: Partial<ConsensusResearchConfig>): Promise<ConsensusResearchResult>;
46
+ /**
47
+ * 1イテレーションを実行
48
+ * @requirement REQ-1.2.0-WFL-001, REQ-1.2.0-WFL-002, REQ-1.2.0-WFL-003
49
+ */
50
+ private runIteration;
51
+ /**
52
+ * エージェントを並列実行
53
+ * @requirement REQ-1.2.0-WFL-001, REQ-1.2.0-ERR-001, REQ-1.2.0-ERR-002
54
+ */
55
+ private executeAgentsInParallel;
56
+ /**
57
+ * タイムアウトPromiseを作成
58
+ */
59
+ private createTimeout;
60
+ /**
61
+ * 早期終了を判定
62
+ * @requirement REQ-1.2.0-WFL-004 (AC4: 2連続でスコア改善<5%の場合は早期終了)
63
+ */
64
+ private shouldTerminateEarly;
65
+ /**
66
+ * 次イテレーションのコンテキストを構築
67
+ * @requirement REQ-1.2.0-WFL-001, REQ-1.2.0-WFL-003
68
+ */
69
+ private buildNextContext;
70
+ /**
71
+ * 最終レポートを生成
72
+ * @requirement REQ-1.2.0-WFL-005
73
+ */
74
+ private generateFinalReport;
75
+ /**
76
+ * エグゼクティブサマリーを生成
77
+ */
78
+ private generateExecutiveSummary;
79
+ /**
80
+ * 全イテレーションから主要な発見を抽出
81
+ */
82
+ private extractKeyFindings;
83
+ }
84
+ //# sourceMappingURL=ConsensusResearchEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsensusResearchEngine.d.ts","sourceRoot":"","sources":["../../src/consensus/ConsensusResearchEngine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EAEvB,8BAA8B,EAS/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAiB,yBAAyB,EAA6B,MAAM,iBAAiB,CAAC;AAKtG;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C;;;;OAIG;gBAED,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACzC,IAAI,CAAC,EAAE,yBAAyB;IAiBlC;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI;IAKlD;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI;IAKnD;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;;;;;OAMG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACzC,OAAO,CAAC,uBAAuB,CAAC;IAuEnC;;;OAGG;YACW,YAAY;IAmD1B;;;OAGG;YACW,uBAAuB;IAmErC;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA8E3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAmB3B"}