@yuaone/core 0.1.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 +663 -0
- package/README.md +15 -0
- package/dist/__tests__/context-manager.test.d.ts +6 -0
- package/dist/__tests__/context-manager.test.d.ts.map +1 -0
- package/dist/__tests__/context-manager.test.js +220 -0
- package/dist/__tests__/context-manager.test.js.map +1 -0
- package/dist/__tests__/governor.test.d.ts +6 -0
- package/dist/__tests__/governor.test.d.ts.map +1 -0
- package/dist/__tests__/governor.test.js +210 -0
- package/dist/__tests__/governor.test.js.map +1 -0
- package/dist/__tests__/model-router.test.d.ts +6 -0
- package/dist/__tests__/model-router.test.d.ts.map +1 -0
- package/dist/__tests__/model-router.test.js +329 -0
- package/dist/__tests__/model-router.test.js.map +1 -0
- package/dist/agent-logger.d.ts +384 -0
- package/dist/agent-logger.d.ts.map +1 -0
- package/dist/agent-logger.js +820 -0
- package/dist/agent-logger.js.map +1 -0
- package/dist/agent-loop.d.ts +163 -0
- package/dist/agent-loop.d.ts.map +1 -0
- package/dist/agent-loop.js +609 -0
- package/dist/agent-loop.js.map +1 -0
- package/dist/agent-modes.d.ts +85 -0
- package/dist/agent-modes.d.ts.map +1 -0
- package/dist/agent-modes.js +418 -0
- package/dist/agent-modes.js.map +1 -0
- package/dist/approval.d.ts +137 -0
- package/dist/approval.d.ts.map +1 -0
- package/dist/approval.js +299 -0
- package/dist/approval.js.map +1 -0
- package/dist/async-completion-queue.d.ts +56 -0
- package/dist/async-completion-queue.d.ts.map +1 -0
- package/dist/async-completion-queue.js +77 -0
- package/dist/async-completion-queue.js.map +1 -0
- package/dist/auto-fix.d.ts +174 -0
- package/dist/auto-fix.d.ts.map +1 -0
- package/dist/auto-fix.js +319 -0
- package/dist/auto-fix.js.map +1 -0
- package/dist/codebase-context.d.ts +396 -0
- package/dist/codebase-context.d.ts.map +1 -0
- package/dist/codebase-context.js +1260 -0
- package/dist/codebase-context.js.map +1 -0
- package/dist/conflict-resolver.d.ts +191 -0
- package/dist/conflict-resolver.d.ts.map +1 -0
- package/dist/conflict-resolver.js +524 -0
- package/dist/conflict-resolver.js.map +1 -0
- package/dist/constants.d.ts +52 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +141 -0
- package/dist/constants.js.map +1 -0
- package/dist/context-budget.d.ts +435 -0
- package/dist/context-budget.d.ts.map +1 -0
- package/dist/context-budget.js +903 -0
- package/dist/context-budget.js.map +1 -0
- package/dist/context-compressor.d.ts +143 -0
- package/dist/context-compressor.d.ts.map +1 -0
- package/dist/context-compressor.js +511 -0
- package/dist/context-compressor.js.map +1 -0
- package/dist/context-manager.d.ts +112 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +247 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/continuous-reflection.d.ts +267 -0
- package/dist/continuous-reflection.d.ts.map +1 -0
- package/dist/continuous-reflection.js +338 -0
- package/dist/continuous-reflection.js.map +1 -0
- package/dist/cross-file-refactor.d.ts +352 -0
- package/dist/cross-file-refactor.d.ts.map +1 -0
- package/dist/cross-file-refactor.js +1544 -0
- package/dist/cross-file-refactor.js.map +1 -0
- package/dist/dag-orchestrator.d.ts +138 -0
- package/dist/dag-orchestrator.d.ts.map +1 -0
- package/dist/dag-orchestrator.js +379 -0
- package/dist/dag-orchestrator.js.map +1 -0
- package/dist/debate-orchestrator.d.ts +301 -0
- package/dist/debate-orchestrator.d.ts.map +1 -0
- package/dist/debate-orchestrator.js +719 -0
- package/dist/debate-orchestrator.js.map +1 -0
- package/dist/dependency-analyzer.d.ts +113 -0
- package/dist/dependency-analyzer.d.ts.map +1 -0
- package/dist/dependency-analyzer.js +444 -0
- package/dist/dependency-analyzer.js.map +1 -0
- package/dist/design-loop.d.ts +59 -0
- package/dist/design-loop.d.ts.map +1 -0
- package/dist/design-loop.js +344 -0
- package/dist/design-loop.js.map +1 -0
- package/dist/doc-intelligence.d.ts +383 -0
- package/dist/doc-intelligence.d.ts.map +1 -0
- package/dist/doc-intelligence.js +1307 -0
- package/dist/doc-intelligence.js.map +1 -0
- package/dist/dynamic-role-generator.d.ts +76 -0
- package/dist/dynamic-role-generator.d.ts.map +1 -0
- package/dist/dynamic-role-generator.js +194 -0
- package/dist/dynamic-role-generator.js.map +1 -0
- package/dist/errors.d.ts +69 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +102 -0
- package/dist/errors.js.map +1 -0
- package/dist/event-bus.d.ts +159 -0
- package/dist/event-bus.d.ts.map +1 -0
- package/dist/event-bus.js +305 -0
- package/dist/event-bus.js.map +1 -0
- package/dist/execution-engine.d.ts +425 -0
- package/dist/execution-engine.d.ts.map +1 -0
- package/dist/execution-engine.js +1555 -0
- package/dist/execution-engine.js.map +1 -0
- package/dist/git-intelligence.d.ts +306 -0
- package/dist/git-intelligence.d.ts.map +1 -0
- package/dist/git-intelligence.js +1099 -0
- package/dist/git-intelligence.js.map +1 -0
- package/dist/governor.d.ts +77 -0
- package/dist/governor.d.ts.map +1 -0
- package/dist/governor.js +161 -0
- package/dist/governor.js.map +1 -0
- package/dist/hierarchical-planner.d.ts +313 -0
- package/dist/hierarchical-planner.d.ts.map +1 -0
- package/dist/hierarchical-planner.js +981 -0
- package/dist/hierarchical-planner.js.map +1 -0
- package/dist/index.d.ts +121 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +123 -0
- package/dist/index.js.map +1 -0
- package/dist/intent-inference.d.ts +103 -0
- package/dist/intent-inference.d.ts.map +1 -0
- package/dist/intent-inference.js +605 -0
- package/dist/intent-inference.js.map +1 -0
- package/dist/interrupt-manager.d.ts +143 -0
- package/dist/interrupt-manager.d.ts.map +1 -0
- package/dist/interrupt-manager.js +196 -0
- package/dist/interrupt-manager.js.map +1 -0
- package/dist/kernel.d.ts +564 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +1419 -0
- package/dist/kernel.js.map +1 -0
- package/dist/language-support.d.ts +232 -0
- package/dist/language-support.d.ts.map +1 -0
- package/dist/language-support.js +1134 -0
- package/dist/language-support.js.map +1 -0
- package/dist/llm-client.d.ts +82 -0
- package/dist/llm-client.d.ts.map +1 -0
- package/dist/llm-client.js +475 -0
- package/dist/llm-client.js.map +1 -0
- package/dist/mcp-client.d.ts +232 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +718 -0
- package/dist/mcp-client.js.map +1 -0
- package/dist/memory-manager.d.ts +200 -0
- package/dist/memory-manager.d.ts.map +1 -0
- package/dist/memory-manager.js +568 -0
- package/dist/memory-manager.js.map +1 -0
- package/dist/memory.d.ts +87 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +341 -0
- package/dist/memory.js.map +1 -0
- package/dist/model-router.d.ts +245 -0
- package/dist/model-router.d.ts.map +1 -0
- package/dist/model-router.js +632 -0
- package/dist/model-router.js.map +1 -0
- package/dist/parallel-executor.d.ts +125 -0
- package/dist/parallel-executor.d.ts.map +1 -0
- package/dist/parallel-executor.js +201 -0
- package/dist/parallel-executor.js.map +1 -0
- package/dist/perf-optimizer.d.ts +212 -0
- package/dist/perf-optimizer.d.ts.map +1 -0
- package/dist/perf-optimizer.js +721 -0
- package/dist/perf-optimizer.js.map +1 -0
- package/dist/persona.d.ts +305 -0
- package/dist/persona.d.ts.map +1 -0
- package/dist/persona.js +887 -0
- package/dist/persona.js.map +1 -0
- package/dist/planner.d.ts +70 -0
- package/dist/planner.d.ts.map +1 -0
- package/dist/planner.js +264 -0
- package/dist/planner.js.map +1 -0
- package/dist/qa-pipeline.d.ts +365 -0
- package/dist/qa-pipeline.d.ts.map +1 -0
- package/dist/qa-pipeline.js +1352 -0
- package/dist/qa-pipeline.js.map +1 -0
- package/dist/reasoning-adapter.d.ts +116 -0
- package/dist/reasoning-adapter.d.ts.map +1 -0
- package/dist/reasoning-adapter.js +187 -0
- package/dist/reasoning-adapter.js.map +1 -0
- package/dist/role-registry.d.ts +55 -0
- package/dist/role-registry.d.ts.map +1 -0
- package/dist/role-registry.js +192 -0
- package/dist/role-registry.js.map +1 -0
- package/dist/sandbox-tiers.d.ts +327 -0
- package/dist/sandbox-tiers.d.ts.map +1 -0
- package/dist/sandbox-tiers.js +928 -0
- package/dist/sandbox-tiers.js.map +1 -0
- package/dist/security-scanner.d.ts +222 -0
- package/dist/security-scanner.d.ts.map +1 -0
- package/dist/security-scanner.js +1129 -0
- package/dist/security-scanner.js.map +1 -0
- package/dist/security.d.ts +93 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +393 -0
- package/dist/security.js.map +1 -0
- package/dist/self-reflection.d.ts +397 -0
- package/dist/self-reflection.d.ts.map +1 -0
- package/dist/self-reflection.js +908 -0
- package/dist/self-reflection.js.map +1 -0
- package/dist/session-persistence.d.ts +191 -0
- package/dist/session-persistence.d.ts.map +1 -0
- package/dist/session-persistence.js +395 -0
- package/dist/session-persistence.js.map +1 -0
- package/dist/speculative-executor.d.ts +210 -0
- package/dist/speculative-executor.d.ts.map +1 -0
- package/dist/speculative-executor.js +618 -0
- package/dist/speculative-executor.js.map +1 -0
- package/dist/state-machine.d.ts +289 -0
- package/dist/state-machine.d.ts.map +1 -0
- package/dist/state-machine.js +695 -0
- package/dist/state-machine.js.map +1 -0
- package/dist/sub-agent.d.ts +177 -0
- package/dist/sub-agent.d.ts.map +1 -0
- package/dist/sub-agent.js +303 -0
- package/dist/sub-agent.js.map +1 -0
- package/dist/system-prompt.d.ts +26 -0
- package/dist/system-prompt.d.ts.map +1 -0
- package/dist/system-prompt.js +84 -0
- package/dist/system-prompt.js.map +1 -0
- package/dist/test-intelligence.d.ts +439 -0
- package/dist/test-intelligence.d.ts.map +1 -0
- package/dist/test-intelligence.js +1165 -0
- package/dist/test-intelligence.js.map +1 -0
- package/dist/types.d.ts +632 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/vector-index.d.ts +314 -0
- package/dist/vector-index.d.ts.map +1 -0
- package/dist/vector-index.js +618 -0
- package/dist/vector-index.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module debate-orchestrator
|
|
3
|
+
* @description Multi-Agent Debate system for YUAN.
|
|
4
|
+
*
|
|
5
|
+
* Implements a Coder -> Reviewer -> Coder -> Verifier loop:
|
|
6
|
+
* 1. Coder Agent generates code to solve the task
|
|
7
|
+
* 2. Reviewer Agent reviews the code, finds issues
|
|
8
|
+
* 3. Coder Agent addresses the review feedback
|
|
9
|
+
* 4. Verifier Agent runs tests/builds and makes final judgment
|
|
10
|
+
*
|
|
11
|
+
* This significantly reduces hallucination and improves code quality
|
|
12
|
+
* by having adversarial agents check each other's work.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const orchestrator = DebateOrchestrator.create({
|
|
17
|
+
* projectPath: "/home/user/project",
|
|
18
|
+
* maxRounds: 3,
|
|
19
|
+
* qualityThreshold: 80,
|
|
20
|
+
* byokConfig: { provider: "openai", apiKey: "sk-..." },
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* orchestrator.on("debate:round:start", ({ round }) => {
|
|
24
|
+
* console.log(`Round ${round} starting...`);
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* const result = await orchestrator.debate(
|
|
28
|
+
* "Implement a rate limiter middleware",
|
|
29
|
+
* "Express.js project with TypeScript",
|
|
30
|
+
* );
|
|
31
|
+
*
|
|
32
|
+
* if (result.success) {
|
|
33
|
+
* console.log(`Passed with score ${result.finalScore}`);
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
import { EventEmitter } from "node:events";
|
|
38
|
+
import type { BYOKConfig, ToolExecutor } from "./types.js";
|
|
39
|
+
/** Configuration for a debate session */
|
|
40
|
+
export interface DebateConfig {
|
|
41
|
+
/** Maximum debate rounds (coder->reviewer cycles). Default: 3 */
|
|
42
|
+
maxRounds: number;
|
|
43
|
+
/** Minimum quality score to pass (0-100). Default: 80 */
|
|
44
|
+
qualityThreshold: number;
|
|
45
|
+
/** LLM model for coder agent */
|
|
46
|
+
coderModel?: string;
|
|
47
|
+
/** LLM model for reviewer agent (can be different for diversity) */
|
|
48
|
+
reviewerModel?: string;
|
|
49
|
+
/** LLM model for verifier agent */
|
|
50
|
+
verifierModel?: string;
|
|
51
|
+
/** Whether to run verification (build/test) between rounds. Default: true */
|
|
52
|
+
verifyBetweenRounds: boolean;
|
|
53
|
+
/** Project path for file operations */
|
|
54
|
+
projectPath: string;
|
|
55
|
+
/** Tool executor for running tools (build, test, etc.) */
|
|
56
|
+
toolExecutor?: ToolExecutor;
|
|
57
|
+
/** BYOK config for LLM calls */
|
|
58
|
+
byokConfig?: BYOKConfig;
|
|
59
|
+
/** Abort signal for cancellation */
|
|
60
|
+
abortSignal?: AbortSignal;
|
|
61
|
+
/** Maximum tokens per LLM call. Default: 16384 */
|
|
62
|
+
maxTokensPerCall: number;
|
|
63
|
+
/** Total token budget for the entire debate. Default: 200000 */
|
|
64
|
+
totalTokenBudget: number;
|
|
65
|
+
}
|
|
66
|
+
/** Role within the debate */
|
|
67
|
+
export type DebateRole = "coder" | "reviewer" | "verifier";
|
|
68
|
+
/** A single round of debate */
|
|
69
|
+
export interface DebateRound {
|
|
70
|
+
/** Round number (1-based) */
|
|
71
|
+
round: number;
|
|
72
|
+
/** What the coder produced */
|
|
73
|
+
coderOutput: string;
|
|
74
|
+
/** Reviewer's critique text */
|
|
75
|
+
reviewerFeedback: string;
|
|
76
|
+
/** Structured issues found by reviewer */
|
|
77
|
+
issues: ReviewIssue[];
|
|
78
|
+
/** Coder's revised output after receiving feedback */
|
|
79
|
+
coderRevision?: string;
|
|
80
|
+
/** Verifier's result (if verification ran this round) */
|
|
81
|
+
verifierResult?: VerifierResult;
|
|
82
|
+
}
|
|
83
|
+
/** A structured issue found during review */
|
|
84
|
+
export interface ReviewIssue {
|
|
85
|
+
/** How severe the issue is */
|
|
86
|
+
severity: "critical" | "major" | "minor" | "suggestion";
|
|
87
|
+
/** File path where the issue was found */
|
|
88
|
+
file?: string;
|
|
89
|
+
/** Line number of the issue */
|
|
90
|
+
line?: number;
|
|
91
|
+
/** Description of the issue */
|
|
92
|
+
description: string;
|
|
93
|
+
/** Suggested fix */
|
|
94
|
+
suggestion?: string;
|
|
95
|
+
}
|
|
96
|
+
/** Result from the verifier agent */
|
|
97
|
+
export interface VerifierResult {
|
|
98
|
+
/** Whether overall verification passed */
|
|
99
|
+
passed: boolean;
|
|
100
|
+
/** Quality score 0-100 */
|
|
101
|
+
score: number;
|
|
102
|
+
/** Whether the build step passed */
|
|
103
|
+
buildPassed: boolean;
|
|
104
|
+
/** Whether the test step passed */
|
|
105
|
+
testsPassed: boolean;
|
|
106
|
+
/** Whether the security check passed */
|
|
107
|
+
securityPassed: boolean;
|
|
108
|
+
/** Detailed explanation */
|
|
109
|
+
details: string;
|
|
110
|
+
}
|
|
111
|
+
/** Final result of the entire debate session */
|
|
112
|
+
export interface DebateResult {
|
|
113
|
+
/** Whether the debate concluded successfully */
|
|
114
|
+
success: boolean;
|
|
115
|
+
/** All rounds of the debate */
|
|
116
|
+
rounds: DebateRound[];
|
|
117
|
+
/** Final quality score */
|
|
118
|
+
finalScore: number;
|
|
119
|
+
/** Total tokens consumed across all roles */
|
|
120
|
+
totalTokensUsed: number;
|
|
121
|
+
/** Files that were changed during the debate */
|
|
122
|
+
changedFiles: string[];
|
|
123
|
+
/** Human-readable summary of the debate outcome */
|
|
124
|
+
summary: string;
|
|
125
|
+
}
|
|
126
|
+
/** Token usage tracked per role */
|
|
127
|
+
interface RoleTokenUsage {
|
|
128
|
+
coder: {
|
|
129
|
+
input: number;
|
|
130
|
+
output: number;
|
|
131
|
+
};
|
|
132
|
+
reviewer: {
|
|
133
|
+
input: number;
|
|
134
|
+
output: number;
|
|
135
|
+
};
|
|
136
|
+
verifier: {
|
|
137
|
+
input: number;
|
|
138
|
+
output: number;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/** Events emitted by the DebateOrchestrator */
|
|
142
|
+
export interface DebateOrchestratorEvents {
|
|
143
|
+
"debate:start": [payload: {
|
|
144
|
+
task: string;
|
|
145
|
+
maxRounds: number;
|
|
146
|
+
}];
|
|
147
|
+
"debate:round:start": [payload: {
|
|
148
|
+
round: number;
|
|
149
|
+
}];
|
|
150
|
+
"debate:round:end": [payload: {
|
|
151
|
+
round: number;
|
|
152
|
+
issueCount: number;
|
|
153
|
+
}];
|
|
154
|
+
"debate:coder": [payload: {
|
|
155
|
+
round: number;
|
|
156
|
+
output: string;
|
|
157
|
+
}];
|
|
158
|
+
"debate:reviewer": [payload: {
|
|
159
|
+
round: number;
|
|
160
|
+
issueCount: number;
|
|
161
|
+
hasCritical: boolean;
|
|
162
|
+
}];
|
|
163
|
+
"debate:revision": [payload: {
|
|
164
|
+
round: number;
|
|
165
|
+
output: string;
|
|
166
|
+
}];
|
|
167
|
+
"debate:verifier": [payload: {
|
|
168
|
+
round: number;
|
|
169
|
+
score: number;
|
|
170
|
+
passed: boolean;
|
|
171
|
+
}];
|
|
172
|
+
"debate:pass": [payload: {
|
|
173
|
+
round: number;
|
|
174
|
+
score: number;
|
|
175
|
+
}];
|
|
176
|
+
"debate:fail": [payload: {
|
|
177
|
+
finalScore: number;
|
|
178
|
+
reason: string;
|
|
179
|
+
}];
|
|
180
|
+
"debate:token_usage": [payload: {
|
|
181
|
+
role: DebateRole;
|
|
182
|
+
input: number;
|
|
183
|
+
output: number;
|
|
184
|
+
}];
|
|
185
|
+
"debate:abort": [payload: {
|
|
186
|
+
reason: string;
|
|
187
|
+
}];
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* DebateOrchestrator — Multi-agent debate loop for code quality improvement.
|
|
191
|
+
*
|
|
192
|
+
* Creates adversarial Coder/Reviewer/Verifier agents that check each other's work,
|
|
193
|
+
* significantly reducing hallucination and improving code quality.
|
|
194
|
+
*
|
|
195
|
+
* Uses EventEmitter for observability so callers can track progress in real-time.
|
|
196
|
+
*/
|
|
197
|
+
export declare class DebateOrchestrator extends EventEmitter {
|
|
198
|
+
private readonly config;
|
|
199
|
+
private rounds;
|
|
200
|
+
private totalTokens;
|
|
201
|
+
private readonly roleTokens;
|
|
202
|
+
private readonly changedFiles;
|
|
203
|
+
constructor(config: Partial<DebateConfig> & {
|
|
204
|
+
projectPath: string;
|
|
205
|
+
});
|
|
206
|
+
/**
|
|
207
|
+
* Run a debate session for a given task.
|
|
208
|
+
*
|
|
209
|
+
* The debate proceeds through rounds of Coder -> Reviewer -> Revision -> Verifier
|
|
210
|
+
* until the quality threshold is met or max rounds are exhausted.
|
|
211
|
+
*
|
|
212
|
+
* @param task - The coding task description
|
|
213
|
+
* @param context - Additional context (file contents, plan, etc.)
|
|
214
|
+
* @returns DebateResult with all rounds and final score
|
|
215
|
+
*/
|
|
216
|
+
debate(task: string, context?: string): Promise<DebateResult>;
|
|
217
|
+
/**
|
|
218
|
+
* Coder Agent: Generates code to solve the task.
|
|
219
|
+
* Uses system prompt that emphasizes correctness, completeness, and clean code.
|
|
220
|
+
*/
|
|
221
|
+
private runCoder;
|
|
222
|
+
/**
|
|
223
|
+
* Reviewer Agent: Critically reviews the coder's output.
|
|
224
|
+
* Uses system prompt that emphasizes finding bugs, security issues, edge cases.
|
|
225
|
+
* Returns structured feedback with severity levels.
|
|
226
|
+
*/
|
|
227
|
+
private runReviewer;
|
|
228
|
+
/**
|
|
229
|
+
* Coder Agent (revision): Addresses reviewer feedback.
|
|
230
|
+
* Given the original code and reviewer issues, produces improved code.
|
|
231
|
+
*/
|
|
232
|
+
private runCoderRevision;
|
|
233
|
+
/**
|
|
234
|
+
* Verifier Agent: Runs objective checks (build, test, security scan)
|
|
235
|
+
* and provides a holistic quality assessment via LLM.
|
|
236
|
+
*/
|
|
237
|
+
private runVerifier;
|
|
238
|
+
/**
|
|
239
|
+
* Call the LLM with a system prompt and user message.
|
|
240
|
+
* Tracks token usage per role and total.
|
|
241
|
+
*/
|
|
242
|
+
private callLLM;
|
|
243
|
+
/**
|
|
244
|
+
* Safely execute a tool via the tool executor.
|
|
245
|
+
* Returns a success/failure result, never throws.
|
|
246
|
+
*/
|
|
247
|
+
private runToolSafe;
|
|
248
|
+
/**
|
|
249
|
+
* Parse the reviewer's JSON response into structured feedback + issues.
|
|
250
|
+
* Handles malformed JSON gracefully.
|
|
251
|
+
*/
|
|
252
|
+
private parseReviewerResponse;
|
|
253
|
+
/**
|
|
254
|
+
* Parse raw issue objects into typed ReviewIssue[].
|
|
255
|
+
*/
|
|
256
|
+
private parseIssues;
|
|
257
|
+
/**
|
|
258
|
+
* Parse the verifier's JSON response into a VerifierResult.
|
|
259
|
+
* Handles malformed JSON gracefully.
|
|
260
|
+
*/
|
|
261
|
+
private parseVerifierResponse;
|
|
262
|
+
/**
|
|
263
|
+
* Extract JSON from a response that might contain markdown fencing or extra text.
|
|
264
|
+
*/
|
|
265
|
+
private extractJson;
|
|
266
|
+
/**
|
|
267
|
+
* Build context for the next round, incorporating previous round's results.
|
|
268
|
+
*/
|
|
269
|
+
private buildNextRoundContext;
|
|
270
|
+
/**
|
|
271
|
+
* Build the final DebateResult from all rounds and the final verification.
|
|
272
|
+
*/
|
|
273
|
+
private buildResult;
|
|
274
|
+
/**
|
|
275
|
+
* Extract file paths mentioned in code output (e.g., "src/foo.ts").
|
|
276
|
+
*/
|
|
277
|
+
private extractFilePaths;
|
|
278
|
+
/** Reset per-role token usage counters */
|
|
279
|
+
private resetRoleTokens;
|
|
280
|
+
/** Truncate text to a maximum length */
|
|
281
|
+
private truncate;
|
|
282
|
+
/** Get the current total token usage */
|
|
283
|
+
getTotalTokensUsed(): number;
|
|
284
|
+
/** Get token usage broken down by role */
|
|
285
|
+
getRoleTokenUsage(): Readonly<RoleTokenUsage>;
|
|
286
|
+
/** Get all rounds from the current/last debate */
|
|
287
|
+
getRounds(): readonly DebateRound[];
|
|
288
|
+
/** Get the current config */
|
|
289
|
+
getConfig(): Readonly<DebateConfig>;
|
|
290
|
+
/**
|
|
291
|
+
* Create a new DebateOrchestrator with the given config.
|
|
292
|
+
*
|
|
293
|
+
* @param config - Debate configuration (projectPath is required, rest have defaults)
|
|
294
|
+
* @returns A new DebateOrchestrator instance
|
|
295
|
+
*/
|
|
296
|
+
static create(config: Partial<DebateConfig> & {
|
|
297
|
+
projectPath: string;
|
|
298
|
+
}): DebateOrchestrator;
|
|
299
|
+
}
|
|
300
|
+
export {};
|
|
301
|
+
//# sourceMappingURL=debate-orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debate-orchestrator.d.ts","sourceRoot":"","sources":["../src/debate-orchestrator.ts"],"names":[],"mappings":"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"}
|