dialectic 0.2.2 → 0.4.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/README.md +8 -1
- package/dist/agents/role-based-agent.d.ts +7 -6
- package/dist/agents/role-based-agent.d.ts.map +1 -1
- package/dist/agents/role-based-agent.js +14 -14
- package/dist/agents/role-based-agent.js.map +1 -1
- package/dist/cli/commands/debate.d.ts.map +1 -1
- package/dist/cli/commands/debate.js +118 -38
- package/dist/cli/commands/debate.js.map +1 -1
- package/dist/cli/commands/eval.js +7 -7
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +2 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -19
- package/dist/cli/index.js.map +1 -1
- package/dist/core/agent.d.ts +29 -9
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +206 -13
- package/dist/core/agent.js.map +1 -1
- package/dist/core/judge.d.ts +7 -2
- package/dist/core/judge.d.ts.map +1 -1
- package/dist/core/judge.js +215 -6
- package/dist/core/judge.js.map +1 -1
- package/dist/core/orchestrator.d.ts +4 -2
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +21 -19
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/state-manager.d.ts +1 -2
- package/dist/core/state-manager.d.ts.map +1 -1
- package/dist/core/state-manager.js +3 -14
- package/dist/core/state-manager.js.map +1 -1
- package/dist/eval/evaluator-agent.js +2 -2
- package/dist/eval/evaluator-agent.js.map +1 -1
- package/dist/providers/llm-provider.d.ts +24 -0
- package/dist/providers/llm-provider.d.ts.map +1 -1
- package/dist/providers/llm-provider.js +7 -0
- package/dist/providers/llm-provider.js.map +1 -1
- package/dist/providers/openai-provider.d.ts +3 -0
- package/dist/providers/openai-provider.d.ts.map +1 -1
- package/dist/providers/openai-provider.js +70 -9
- package/dist/providers/openai-provider.js.map +1 -1
- package/dist/providers/openrouter-provider.d.ts +3 -0
- package/dist/providers/openrouter-provider.d.ts.map +1 -1
- package/dist/providers/openrouter-provider.js +70 -9
- package/dist/providers/openrouter-provider.js.map +1 -1
- package/dist/tools/context-search-tool.d.ts +12 -0
- package/dist/tools/context-search-tool.d.ts.map +1 -0
- package/dist/tools/context-search-tool.js +70 -0
- package/dist/tools/context-search-tool.js.map +1 -0
- package/dist/tools/tool-implementation.d.ts +11 -0
- package/dist/tools/tool-implementation.d.ts.map +1 -0
- package/dist/tools/tool-implementation.js +34 -0
- package/dist/tools/tool-implementation.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +13 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +41 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/types/agent.types.d.ts +11 -1
- package/dist/types/agent.types.d.ts.map +1 -1
- package/dist/types/agent.types.js +2 -1
- package/dist/types/agent.types.js.map +1 -1
- package/dist/types/debate.types.d.ts +5 -1
- package/dist/types/debate.types.d.ts.map +1 -1
- package/dist/types/debate.types.js.map +1 -1
- package/dist/types/tool.types.d.ts +35 -0
- package/dist/types/tool.types.d.ts.map +1 -0
- package/dist/types/tool.types.js +8 -0
- package/dist/types/tool.types.js.map +1 -0
- package/dist/types/tracing.types.d.ts +30 -0
- package/dist/types/tracing.types.d.ts.map +1 -0
- package/dist/types/tracing.types.js +10 -0
- package/dist/types/tracing.types.js.map +1 -0
- package/dist/utils/common.d.ts +1 -0
- package/dist/utils/common.d.ts.map +1 -1
- package/dist/utils/common.js +11 -2
- package/dist/utils/common.js.map +1 -1
- package/dist/utils/console.d.ts +15 -0
- package/dist/utils/console.d.ts.map +1 -0
- package/dist/utils/console.js +54 -0
- package/dist/utils/console.js.map +1 -0
- package/dist/utils/env-loader.js +2 -2
- package/dist/utils/env-loader.js.map +1 -1
- package/dist/utils/id.d.ts +1 -0
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +10 -0
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +6 -16
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/progress-ui.d.ts +6 -7
- package/dist/utils/progress-ui.d.ts.map +1 -1
- package/dist/utils/progress-ui.js +31 -83
- package/dist/utils/progress-ui.js.map +1 -1
- package/dist/utils/tool-registry-builder.d.ts +4 -0
- package/dist/utils/tool-registry-builder.d.ts.map +1 -0
- package/dist/utils/tool-registry-builder.js +47 -0
- package/dist/utils/tool-registry-builder.js.map +1 -0
- package/dist/utils/tracing-decorator-agent.d.ts +25 -0
- package/dist/utils/tracing-decorator-agent.d.ts.map +1 -0
- package/dist/utils/tracing-decorator-agent.js +185 -0
- package/dist/utils/tracing-decorator-agent.js.map +1 -0
- package/dist/utils/tracing-factory.d.ts +9 -0
- package/dist/utils/tracing-factory.d.ts.map +1 -0
- package/dist/utils/tracing-factory.js +68 -0
- package/dist/utils/tracing-factory.js.map +1 -0
- package/dist/utils/tracing-provider.d.ts +13 -0
- package/dist/utils/tracing-provider.d.ts.map +1 -0
- package/dist/utils/tracing-provider.js +74 -0
- package/dist/utils/tracing-provider.js.map +1 -0
- package/dist/utils/tracing-utils.d.ts +10 -0
- package/dist/utils/tracing-utils.d.ts.map +1 -0
- package/dist/utils/tracing-utils.js +55 -0
- package/dist/utils/tracing-utils.js.map +1 -0
- package/package.json +2 -1
- package/dist/agents/architect-agent.d.ts +0 -15
- package/dist/agents/architect-agent.d.ts.map +0 -1
- package/dist/agents/architect-agent.js +0 -41
- package/dist/agents/architect-agent.js.map +0 -1
- package/dist/agents/performance-agent.d.ts +0 -15
- package/dist/agents/performance-agent.d.ts.map +0 -1
- package/dist/agents/performance-agent.js +0 -41
- package/dist/agents/performance-agent.js.map +0 -1
- package/dist/agents/security-agent.d.ts +0 -15
- package/dist/agents/security-agent.d.ts.map +0 -1
- package/dist/agents/security-agent.js +0 -41
- package/dist/agents/security-agent.js.map +0 -1
|
@@ -2,32 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DebateProgressUI = void 0;
|
|
4
4
|
const debate_types_1 = require("../types/debate.types");
|
|
5
|
-
const
|
|
6
|
-
let chalk;
|
|
7
|
-
try {
|
|
8
|
-
chalk = require('chalk');
|
|
9
|
-
}
|
|
10
|
-
catch {
|
|
11
|
-
chalk = new Proxy({}, {
|
|
12
|
-
get: () => (text) => text
|
|
13
|
-
});
|
|
14
|
-
}
|
|
5
|
+
const console_1 = require("./console");
|
|
15
6
|
const PHASE_LABELS = {
|
|
16
7
|
[debate_types_1.CONTRIBUTION_TYPES.PROPOSAL]: 'Proposals',
|
|
17
8
|
[debate_types_1.CONTRIBUTION_TYPES.CRITIQUE]: 'Critiques',
|
|
18
9
|
[debate_types_1.CONTRIBUTION_TYPES.REFINEMENT]: 'Refinements',
|
|
19
10
|
};
|
|
20
11
|
const SYNTHESIS_LABEL = 'Synthesis';
|
|
21
|
-
const ANSI_MOVE_UP = '\x1b[1A';
|
|
22
|
-
const ANSI_CLEAR_LINE = '\x1b[2K';
|
|
23
|
-
const SPINNER_ICON = '⠋';
|
|
24
|
-
const SUMMARIZATION_SECTION_LABEL = 'Summarization';
|
|
25
|
-
const COLOR_STRUCTURE = chalk.blue;
|
|
26
|
-
const COLOR_SPINNER = chalk.cyan;
|
|
27
12
|
class DebateProgressUI {
|
|
28
13
|
state;
|
|
29
14
|
totalRounds = 0;
|
|
30
|
-
lastOutput = '';
|
|
31
15
|
constructor() {
|
|
32
16
|
this.state = {
|
|
33
17
|
currentRound: 0,
|
|
@@ -40,18 +24,15 @@ class DebateProgressUI {
|
|
|
40
24
|
this.totalRounds = totalRounds;
|
|
41
25
|
}
|
|
42
26
|
async start() {
|
|
43
|
-
this.clearOutput();
|
|
44
27
|
}
|
|
45
|
-
log(message) {
|
|
46
|
-
this.
|
|
47
|
-
|
|
48
|
-
(0, index_1.writeStderr)(text);
|
|
49
|
-
this.updateDisplay();
|
|
28
|
+
log(message, type = console_1.MessageType.INFO) {
|
|
29
|
+
const formattedMessage = this.formatMessageWithRound(message, type);
|
|
30
|
+
this.appendMessage(formattedMessage, type);
|
|
50
31
|
}
|
|
51
32
|
startRound(roundNumber) {
|
|
52
33
|
this.state.currentRound = roundNumber;
|
|
53
34
|
this.state.currentPhase = '';
|
|
54
|
-
this.
|
|
35
|
+
this.appendMessage(`Round ${roundNumber}/${this.totalRounds} starting`, console_1.MessageType.INFO);
|
|
55
36
|
}
|
|
56
37
|
startPhase(phase, expectedAgentCount) {
|
|
57
38
|
const phaseLabel = PHASE_LABELS[phase];
|
|
@@ -59,13 +40,15 @@ class DebateProgressUI {
|
|
|
59
40
|
const phaseKey = `${this.state.currentRound}-${phase}`;
|
|
60
41
|
this.state.phaseProgress.set(phaseKey, { current: 0, total: expectedAgentCount });
|
|
61
42
|
this.state.agentActivity.clear();
|
|
62
|
-
this.
|
|
43
|
+
const message = this.formatMessageWithRound(`${phaseLabel} phase starting`, console_1.MessageType.INFO);
|
|
44
|
+
this.appendMessage(message, console_1.MessageType.INFO);
|
|
63
45
|
}
|
|
64
46
|
startAgentActivity(agentName, activity) {
|
|
65
47
|
const activities = this.state.agentActivity.get(agentName) ?? [];
|
|
66
48
|
activities.push(activity);
|
|
67
49
|
this.state.agentActivity.set(agentName, activities);
|
|
68
|
-
this.
|
|
50
|
+
const message = this.formatMessageWithRound(`${agentName} is ${activity}...`, console_1.MessageType.INFO);
|
|
51
|
+
this.appendMessage(message, console_1.MessageType.INFO);
|
|
69
52
|
}
|
|
70
53
|
completeAgentActivity(agentName, activity) {
|
|
71
54
|
const activities = this.state.agentActivity.get(agentName);
|
|
@@ -91,81 +74,46 @@ class DebateProgressUI {
|
|
|
91
74
|
this.state.phaseProgress.set(phaseKey, progress);
|
|
92
75
|
}
|
|
93
76
|
}
|
|
94
|
-
this.
|
|
77
|
+
const message = this.formatMessageWithRound(`${agentName} completed ${activity}`, console_1.MessageType.SUCCESS);
|
|
78
|
+
this.appendMessage(message, console_1.MessageType.SUCCESS);
|
|
95
79
|
}
|
|
96
|
-
completePhase(
|
|
80
|
+
completePhase(phase) {
|
|
81
|
+
const phaseLabel = PHASE_LABELS[phase];
|
|
97
82
|
this.state.currentPhase = '';
|
|
98
83
|
this.state.agentActivity.clear();
|
|
99
|
-
this.
|
|
84
|
+
const message = this.formatMessageWithRound(`${phaseLabel} phase completed`, console_1.MessageType.SUCCESS);
|
|
85
|
+
this.appendMessage(message, console_1.MessageType.SUCCESS);
|
|
100
86
|
}
|
|
101
87
|
startSynthesis() {
|
|
102
88
|
this.state.currentPhase = SYNTHESIS_LABEL;
|
|
103
89
|
this.state.agentActivity.clear();
|
|
104
|
-
this.
|
|
90
|
+
this.appendMessage('Synthesis starting', console_1.MessageType.INFO);
|
|
105
91
|
}
|
|
106
92
|
completeSynthesis() {
|
|
107
93
|
this.state.currentPhase = '';
|
|
108
|
-
this.
|
|
94
|
+
this.appendMessage('Synthesis completed', console_1.MessageType.SUCCESS);
|
|
109
95
|
}
|
|
110
96
|
async complete() {
|
|
111
|
-
this.
|
|
97
|
+
this.appendMessage('Debate completed', console_1.MessageType.SUCCESS);
|
|
112
98
|
}
|
|
113
|
-
handleError(
|
|
114
|
-
this.
|
|
99
|
+
handleError(error) {
|
|
100
|
+
this.appendMessage(`Error: ${error.message}`, console_1.MessageType.WARNING);
|
|
115
101
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
this.clearOutput();
|
|
120
|
-
(0, index_1.writeStderr)(output);
|
|
121
|
-
this.lastOutput = output;
|
|
102
|
+
formatMessageWithRound(message, _type) {
|
|
103
|
+
if (this.state.currentRound > 0) {
|
|
104
|
+
return `[Round ${this.state.currentRound}] ${message}`;
|
|
122
105
|
}
|
|
106
|
+
return message;
|
|
123
107
|
}
|
|
124
|
-
|
|
125
|
-
if (
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
const lines = [];
|
|
129
|
-
lines.push(COLOR_STRUCTURE(`┌─ Round ${this.state.currentRound}/${this.totalRounds}`));
|
|
130
|
-
if (this.state.currentPhase) {
|
|
131
|
-
const currentPhase = this.state.currentPhase.toLowerCase();
|
|
132
|
-
const phaseType = Object.keys(PHASE_LABELS).find(key => PHASE_LABELS[key].toLowerCase() === currentPhase);
|
|
133
|
-
let phaseText = `${this.state.currentPhase}`;
|
|
134
|
-
if (phaseType) {
|
|
135
|
-
const phaseKey = `${this.state.currentRound}-${phaseType}`;
|
|
136
|
-
const progress = this.state.phaseProgress.get(phaseKey);
|
|
137
|
-
if (progress) {
|
|
138
|
-
phaseText += ` (${progress.current}/${progress.total})`;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
lines.push(COLOR_STRUCTURE('│ ') + phaseText);
|
|
142
|
-
if (this.state.agentActivity.size > 0) {
|
|
143
|
-
this.state.agentActivity.forEach((activities, agentName) => {
|
|
144
|
-
activities.forEach((activity) => {
|
|
145
|
-
lines.push(COLOR_STRUCTURE('│ ') + COLOR_SPINNER(SPINNER_ICON) + ` ${agentName} ${activity}...`);
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
}
|
|
108
|
+
appendMessage(message, type = console_1.MessageType.INFO) {
|
|
109
|
+
if (type === console_1.MessageType.INFO) {
|
|
110
|
+
(0, console_1.logInfo)(message);
|
|
149
111
|
}
|
|
150
|
-
else if (
|
|
151
|
-
|
|
152
|
-
this.state.agentActivity.forEach((activities, agentName) => {
|
|
153
|
-
activities.forEach((activity) => {
|
|
154
|
-
lines.push(COLOR_STRUCTURE('│ ') + COLOR_SPINNER(SPINNER_ICON) + ` ${agentName} ${activity}...`);
|
|
155
|
-
});
|
|
156
|
-
});
|
|
112
|
+
else if (type === console_1.MessageType.SUCCESS) {
|
|
113
|
+
(0, console_1.logSuccess)(message);
|
|
157
114
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
clearOutput() {
|
|
162
|
-
if (this.lastOutput) {
|
|
163
|
-
const lineCount = (this.lastOutput.match(/\n/g) || []).length;
|
|
164
|
-
for (let i = 0; i < lineCount; i++) {
|
|
165
|
-
(0, index_1.writeStderr)(ANSI_MOVE_UP);
|
|
166
|
-
(0, index_1.writeStderr)(ANSI_CLEAR_LINE);
|
|
167
|
-
}
|
|
168
|
-
this.lastOutput = '';
|
|
115
|
+
else if (type === console_1.MessageType.WARNING) {
|
|
116
|
+
(0, console_1.logWarning)(message);
|
|
169
117
|
}
|
|
170
118
|
}
|
|
171
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-ui.js","sourceRoot":"","sources":["../../src/utils/progress-ui.ts"],"names":[],"mappings":";;;AAAA,wDAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"progress-ui.js","sourceRoot":"","sources":["../../src/utils/progress-ui.ts"],"names":[],"mappings":";;;AAAA,wDAA6E;AAC7E,uCAAyE;AAGzE,MAAM,YAAY,GAAG;IACnB,CAAC,iCAAkB,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC1C,CAAC,iCAAkB,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC1C,CAAC,iCAAkB,CAAC,UAAU,CAAC,EAAE,aAAa;CACtC,CAAC;AAEX,MAAM,eAAe,GAAG,WAAW,CAAC;AA8BpC,MAAa,gBAAgB;IACnB,KAAK,CAAgB;IACrB,WAAW,GAAW,CAAC,CAAC;IAEhC;QACE,IAAI,CAAC,KAAK,GAAG;YACX,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,IAAI,GAAG,EAAoB;YAC1C,aAAa,EAAE,IAAI,GAAG,EAAE;SACzB,CAAC;IACJ,CAAC;IAOD,UAAU,CAAC,WAAmB;QAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAMD,KAAK,CAAC,KAAK;IAEX,CAAC;IAQD,GAAG,CAAC,OAAe,EAAE,OAAoB,qBAAW,CAAC,IAAI;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAOD,UAAU,CAAC,WAAmB;QAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,SAAS,WAAW,IAAI,IAAI,CAAC,WAAW,WAAW,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;IAQD,UAAU,CAAC,KAAuB,EAAE,kBAA0B;QAC5D,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC;QACrC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,UAAU,iBAAiB,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAQD,kBAAkB,CAAC,SAAiB,EAAE,QAAgB;QAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,SAAS,OAAO,QAAQ,KAAK,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAC;QAChG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAQD,qBAAqB,CAAC,SAAiB,EAAE,QAAgB;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACb,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAGD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAC9C,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAuB,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAC5C,CAAC;QAElC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,SAAS,cAAc,QAAQ,EAAE,EAAE,qBAAW,CAAC,OAAO,CAAC,CAAC;QACvG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAW,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAOD,aAAa,CAAC,KAAuB;QACnC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,UAAU,kBAAkB,EAAE,qBAAW,CAAC,OAAO,CAAC,CAAC;QAClG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAW,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAKD,cAAc;QACZ,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAKD,iBAAiB;QACf,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,qBAAW,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAMD,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,qBAAW,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAOD,WAAW,CAAC,KAAY;QACtB,IAAI,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,EAAE,qBAAW,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAYO,sBAAsB,CAAC,OAAe,EAAE,KAAkB;QAIhE,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,UAAU,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAQO,aAAa,CAAC,OAAe,EAAE,OAAoB,qBAAW,CAAC,IAAI;QACzE,IAAI,IAAI,KAAK,qBAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,KAAK,qBAAW,CAAC,OAAO,EAAE,CAAC;YACxC,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,KAAK,qBAAW,CAAC,OAAO,EAAE,CAAC;YACxC,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AA7MD,4CA6MC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-registry-builder.d.ts","sourceRoot":"","sources":["../../src/utils/tool-registry-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAiDtD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,CAiCxE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildToolRegistry = buildToolRegistry;
|
|
4
|
+
const tool_registry_1 = require("../tools/tool-registry");
|
|
5
|
+
const context_search_tool_1 = require("../tools/context-search-tool");
|
|
6
|
+
const console_1 = require("./console");
|
|
7
|
+
const AVAILABLE_TOOLS = {
|
|
8
|
+
context_search: {
|
|
9
|
+
schema: {
|
|
10
|
+
name: 'context_search',
|
|
11
|
+
description: 'Search for a term in the debate history. Returns relevant contributions containing the search term.',
|
|
12
|
+
parameters: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {
|
|
15
|
+
term: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
description: 'The search term to find in debate history',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
required: ['term'],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
createImplementation: () => new context_search_tool_1.ContextSearchTool(),
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
function buildToolRegistry(agentConfig) {
|
|
27
|
+
const registry = new tool_registry_1.ToolRegistry();
|
|
28
|
+
if (!agentConfig.tools || agentConfig.tools.length === 0) {
|
|
29
|
+
return registry;
|
|
30
|
+
}
|
|
31
|
+
for (const toolConfig of agentConfig.tools) {
|
|
32
|
+
const toolName = toolConfig.name;
|
|
33
|
+
if (!toolName || toolName.trim() === '') {
|
|
34
|
+
(0, console_1.logWarning)(`Invalid tool name (empty string) configured for agent "${agentConfig.id}". Skipping.`);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
const toolDefinition = AVAILABLE_TOOLS[toolName];
|
|
38
|
+
if (!toolDefinition) {
|
|
39
|
+
(0, console_1.logWarning)(`Unknown tool "${toolName}" configured for agent "${agentConfig.id}". Skipping.`);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const toolImplementation = toolDefinition.createImplementation();
|
|
43
|
+
registry.register(toolImplementation);
|
|
44
|
+
}
|
|
45
|
+
return registry;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=tool-registry-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-registry-builder.js","sourceRoot":"","sources":["../../src/utils/tool-registry-builder.ts"],"names":[],"mappings":";;AAkDA,8CAiCC;AAlFD,0DAAsD;AAGtD,sEAAiE;AACjE,uCAAuC;AAcvC,MAAM,eAAe,GAAmC;IACtD,cAAc,EAAE;QACd,MAAM,EAAE;YACN,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,qGAAqG;YAClH,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2CAA2C;qBACzD;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,uCAAiB,EAAE;KACpD;CACF,CAAC;AAaF,SAAgB,iBAAiB,CAAC,WAAwB;IACxD,MAAM,QAAQ,GAAG,IAAI,4BAAY,EAAE,CAAC;IAGpC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGD,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,IAAA,oBAAU,EAAC,0DAA0D,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;YACnG,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAA,oBAAU,EAAC,iBAAiB,QAAQ,2BAA2B,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;YAC7F,SAAS;QACX,CAAC;QAED,MAAM,kBAAkB,GAAG,cAAc,CAAC,oBAAoB,EAAE,CAAC;QAKjE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Agent, AgentLLMResponse } from '../core/agent';
|
|
2
|
+
import { Proposal, Critique } from '../types/agent.types';
|
|
3
|
+
import { DebateContext, ContextPreparationResult, ClarificationQuestionsResponse, DebateState } from '../types/debate.types';
|
|
4
|
+
import { TracingContext } from '../types/tracing.types';
|
|
5
|
+
import { ToolCall, ToolResult } from '../types/tool.types';
|
|
6
|
+
import { ToolImplementation } from '../tools/tool-implementation';
|
|
7
|
+
export declare class TracingDecoratorAgent extends Agent {
|
|
8
|
+
private readonly wrappedAgent;
|
|
9
|
+
private readonly tracingContext;
|
|
10
|
+
constructor(wrappedAgent: Agent, tracingContext: TracingContext);
|
|
11
|
+
propose(problem: string, context: DebateContext, state?: DebateState): Promise<Proposal>;
|
|
12
|
+
critique(proposal: Proposal, context: DebateContext, state?: DebateState): Promise<Critique>;
|
|
13
|
+
refine(originalProposal: Proposal, critiques: Critique[], context: DebateContext, state?: DebateState): Promise<Proposal>;
|
|
14
|
+
prepareContext(context: DebateContext, roundNumber: number): Promise<ContextPreparationResult>;
|
|
15
|
+
askClarifyingQuestions(problem: string, context: DebateContext): Promise<ClarificationQuestionsResponse>;
|
|
16
|
+
shouldSummarize(context: DebateContext): boolean;
|
|
17
|
+
protected proposeImpl(context: DebateContext, systemPrompt: string, userPrompt: string, state?: DebateState): Promise<Proposal>;
|
|
18
|
+
protected critiqueImpl(context: DebateContext, systemPrompt: string, userPrompt: string, state?: DebateState): Promise<Critique>;
|
|
19
|
+
protected refineImpl(context: DebateContext, systemPrompt: string, userPrompt: string, state?: DebateState): Promise<Proposal>;
|
|
20
|
+
protected callLLM(systemPrompt: string, userPrompt: string, context?: DebateContext, state?: DebateState): Promise<AgentLLMResponse>;
|
|
21
|
+
protected executeTool(tool: ToolImplementation, args: Record<string, unknown>, toolCall: ToolCall, context: DebateContext | undefined, state: DebateState | undefined, toolResultsForThisIteration: ToolResult[], allToolResults: ToolResult[]): void;
|
|
22
|
+
private executeWithSpan;
|
|
23
|
+
private extractRoundNumber;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=tracing-decorator-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing-decorator-agent.d.ts","sourceRoot":"","sources":["../../src/utils/tracing-decorator-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7H,OAAO,EAAE,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAsB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAclE,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,cAAc;IA+B3C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiBxF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiB5F,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkBzH,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAU9F,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAU9G,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;cAchC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;cASrH,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;cAOtH,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;cAQpH,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS1I,SAAS,CAAC,WAAW,CACnB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,2BAA2B,EAAE,UAAU,EAAE,EACzC,cAAc,EAAE,UAAU,EAAE,GAC3B,IAAI;YA0EO,eAAe;IA0D7B,OAAO,CAAC,kBAAkB;CAO3B"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TracingDecoratorAgent = void 0;
|
|
4
|
+
const agent_1 = require("../core/agent");
|
|
5
|
+
const tracing_types_1 = require("../types/tracing.types");
|
|
6
|
+
const console_1 = require("./console");
|
|
7
|
+
const tool_types_1 = require("../types/tool.types");
|
|
8
|
+
const tracing_provider_1 = require("./tracing-provider");
|
|
9
|
+
const tracing_utils_1 = require("./tracing-utils");
|
|
10
|
+
const prompts_1 = require("../agents/prompts");
|
|
11
|
+
class TracingDecoratorAgent extends agent_1.Agent {
|
|
12
|
+
wrappedAgent;
|
|
13
|
+
tracingContext;
|
|
14
|
+
constructor(wrappedAgent, tracingContext) {
|
|
15
|
+
const provider = wrappedAgent.provider;
|
|
16
|
+
const toolRegistry = wrappedAgent.toolRegistry;
|
|
17
|
+
const toolCallLimit = wrappedAgent.toolCallLimit;
|
|
18
|
+
const logger = wrappedAgent.logger;
|
|
19
|
+
super(wrappedAgent.config, provider, toolRegistry, toolCallLimit, logger);
|
|
20
|
+
this.wrappedAgent = wrappedAgent;
|
|
21
|
+
this.tracingContext = tracingContext;
|
|
22
|
+
if (provider instanceof tracing_provider_1.TracingLLMProvider) {
|
|
23
|
+
provider.setAgentId(this.config.id);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async propose(problem, context, state) {
|
|
27
|
+
const spanName = `agent-propose-${this.config.id}`;
|
|
28
|
+
return this.executeWithSpan(spanName, context, async () => {
|
|
29
|
+
const wrappedAgentAny = this.wrappedAgent;
|
|
30
|
+
const systemPrompt = wrappedAgentAny.resolvedSystemPrompt;
|
|
31
|
+
const rolePrompts = wrappedAgentAny.rolePrompts || (0, prompts_1.getPromptsForRole)(this.config.role);
|
|
32
|
+
const userPrompt = rolePrompts.proposePrompt(problem, context, this.config.id, context.includeFullHistory);
|
|
33
|
+
return await this.proposeImpl(context, systemPrompt, userPrompt, state);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async critique(proposal, context, state) {
|
|
37
|
+
const spanName = `agent-critique-${this.config.id}`;
|
|
38
|
+
return this.executeWithSpan(spanName, context, async () => {
|
|
39
|
+
const wrappedAgentAny = this.wrappedAgent;
|
|
40
|
+
const systemPrompt = wrappedAgentAny.resolvedSystemPrompt;
|
|
41
|
+
const rolePrompts = wrappedAgentAny.rolePrompts || (0, prompts_1.getPromptsForRole)(this.config.role);
|
|
42
|
+
const userPrompt = rolePrompts.critiquePrompt(proposal.content, context, this.config.id, context.includeFullHistory);
|
|
43
|
+
return await this.critiqueImpl(context, systemPrompt, userPrompt, state);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async refine(originalProposal, critiques, context, state) {
|
|
47
|
+
const spanName = `agent-refine-${this.config.id}`;
|
|
48
|
+
return this.executeWithSpan(spanName, context, async () => {
|
|
49
|
+
const wrappedAgentAny = this.wrappedAgent;
|
|
50
|
+
const systemPrompt = wrappedAgentAny.resolvedSystemPrompt;
|
|
51
|
+
const rolePrompts = wrappedAgentAny.rolePrompts || (0, prompts_1.getPromptsForRole)(this.config.role);
|
|
52
|
+
const critiquesText = critiques.map((c, i) => `Critique ${i + 1}:\n${c.content}`).join('\n\n');
|
|
53
|
+
const userPrompt = rolePrompts.refinePrompt(originalProposal.content, critiquesText, context, this.config.id, context.includeFullHistory);
|
|
54
|
+
return await this.refineImpl(context, systemPrompt, userPrompt, state);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async prepareContext(context, roundNumber) {
|
|
58
|
+
const spanName = `agent-prepareContext-${this.config.id}`;
|
|
59
|
+
return this.executeWithSpan(spanName, context, async () => {
|
|
60
|
+
return await this.wrappedAgent.prepareContext(context, roundNumber);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async askClarifyingQuestions(problem, context) {
|
|
64
|
+
const spanName = `agent-askClarifyingQuestions-${this.config.id}`;
|
|
65
|
+
return this.executeWithSpan(spanName, context, async () => {
|
|
66
|
+
return await this.wrappedAgent.askClarifyingQuestions(problem, context);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
shouldSummarize(context) {
|
|
70
|
+
return this.wrappedAgent.shouldSummarize(context);
|
|
71
|
+
}
|
|
72
|
+
async proposeImpl(context, systemPrompt, userPrompt, state) {
|
|
73
|
+
return super.proposeImpl(context, systemPrompt, userPrompt, state);
|
|
74
|
+
}
|
|
75
|
+
async critiqueImpl(context, systemPrompt, userPrompt, state) {
|
|
76
|
+
return super.critiqueImpl(context, systemPrompt, userPrompt, state);
|
|
77
|
+
}
|
|
78
|
+
async refineImpl(context, systemPrompt, userPrompt, state) {
|
|
79
|
+
return super.refineImpl(context, systemPrompt, userPrompt, state);
|
|
80
|
+
}
|
|
81
|
+
async callLLM(systemPrompt, userPrompt, context, state) {
|
|
82
|
+
return super.callLLM(systemPrompt, userPrompt, context, state);
|
|
83
|
+
}
|
|
84
|
+
executeTool(tool, args, toolCall, context, state, toolResultsForThisIteration, allToolResults) {
|
|
85
|
+
const spanName = `tool-execution-${toolCall.name}`;
|
|
86
|
+
if (!this.tracingContext) {
|
|
87
|
+
super.executeTool(tool, args, toolCall, context, state, toolResultsForThisIteration, allToolResults);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const toolSpan = (0, tracing_utils_1.getSpanParent)(this.tracingContext, this.config.id).span({
|
|
92
|
+
name: spanName,
|
|
93
|
+
input: args,
|
|
94
|
+
metadata: {
|
|
95
|
+
toolName: toolCall.name,
|
|
96
|
+
agentId: this.config.id,
|
|
97
|
+
debateId: context?.tracingContext?.trace?.id || 'unknown',
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
const resultCountBefore = toolResultsForThisIteration.length;
|
|
101
|
+
super.executeTool(tool, args, toolCall, context, state, toolResultsForThisIteration, allToolResults);
|
|
102
|
+
const result = toolResultsForThisIteration[resultCountBefore];
|
|
103
|
+
if (result) {
|
|
104
|
+
try {
|
|
105
|
+
const resultContent = JSON.parse(result.content);
|
|
106
|
+
if (resultContent.status === tool_types_1.TOOL_RESULT_STATUS.ERROR) {
|
|
107
|
+
toolSpan.end({
|
|
108
|
+
level: tracing_types_1.SPAN_LEVEL.ERROR,
|
|
109
|
+
statusMessage: resultContent.error || 'Tool execution failed',
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
toolSpan.end({
|
|
114
|
+
output: result.content,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (parseError) {
|
|
119
|
+
toolSpan.end({
|
|
120
|
+
output: result.content,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
toolSpan.end();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (tracingError) {
|
|
129
|
+
(0, console_1.logWarning)(`Langfuse tracing failed for tool execution: ${tracingError.message}`);
|
|
130
|
+
super.executeTool(tool, args, toolCall, context, state, toolResultsForThisIteration, allToolResults);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async executeWithSpan(spanName, context, fn) {
|
|
134
|
+
const provider = this.wrappedAgent.provider;
|
|
135
|
+
if (provider instanceof tracing_provider_1.TracingLLMProvider) {
|
|
136
|
+
provider.resetIterationCount();
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const span = this.tracingContext.trace.span({
|
|
140
|
+
name: spanName,
|
|
141
|
+
metadata: {
|
|
142
|
+
agentName: this.config.name,
|
|
143
|
+
agentRole: this.config.role,
|
|
144
|
+
agentId: this.config.id,
|
|
145
|
+
debateId: context.tracingContext?.trace?.id || 'unknown',
|
|
146
|
+
roundNumber: this.extractRoundNumber(context),
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
const previousSpan = this.tracingContext.currentSpans.get(this.config.id);
|
|
150
|
+
this.tracingContext.currentSpans.set(this.config.id, span);
|
|
151
|
+
try {
|
|
152
|
+
const result = await fn();
|
|
153
|
+
span.end();
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
span.end({
|
|
158
|
+
level: tracing_types_1.SPAN_LEVEL.ERROR,
|
|
159
|
+
statusMessage: error.message,
|
|
160
|
+
});
|
|
161
|
+
throw error;
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
if (previousSpan !== undefined) {
|
|
165
|
+
this.tracingContext.currentSpans.set(this.config.id, previousSpan);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
this.tracingContext.currentSpans.delete(this.config.id);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (tracingError) {
|
|
173
|
+
(0, console_1.logWarning)(`Langfuse tracing failed for ${spanName}: ${tracingError.message}`);
|
|
174
|
+
return await fn();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
extractRoundNumber(context) {
|
|
178
|
+
if (context.history && context.history.length > 0) {
|
|
179
|
+
return context.history[context.history.length - 1]?.roundNumber;
|
|
180
|
+
}
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.TracingDecoratorAgent = TracingDecoratorAgent;
|
|
185
|
+
//# sourceMappingURL=tracing-decorator-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing-decorator-agent.js","sourceRoot":"","sources":["../../src/utils/tracing-decorator-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TracingContext, TraceMetadata } from '../types/tracing.types';
|
|
2
|
+
import { DebateConfig } from '../types/debate.types';
|
|
3
|
+
import { Agent } from '../core/agent';
|
|
4
|
+
import { LLMProvider } from '../providers/llm-provider';
|
|
5
|
+
export declare function validateLangfuseConfig(): void;
|
|
6
|
+
export declare function createTracingContext(debateConfig: DebateConfig, traceMetadata: TraceMetadata, traceName: string, tags: string[]): TracingContext | undefined;
|
|
7
|
+
export declare function createTracingProvider(provider: LLMProvider, tracingContext?: TracingContext): LLMProvider;
|
|
8
|
+
export declare function createTracingAgent(agent: Agent, tracingContext?: TracingContext): Agent;
|
|
9
|
+
//# sourceMappingURL=tracing-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing-factory.d.ts","sourceRoot":"","sources":["../../src/utils/tracing-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAiB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAsBxD,wBAAgB,sBAAsB,IAAI,IAAI,CAW7C;AAWD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,GACb,cAAc,GAAG,SAAS,CAuC5B;AASD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,EACrB,cAAc,CAAC,EAAE,cAAc,GAC9B,WAAW,CAMb;AASD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,cAAc,CAAC,EAAE,cAAc,GAC9B,KAAK,CAMP"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateLangfuseConfig = validateLangfuseConfig;
|
|
4
|
+
exports.createTracingContext = createTracingContext;
|
|
5
|
+
exports.createTracingProvider = createTracingProvider;
|
|
6
|
+
exports.createTracingAgent = createTracingAgent;
|
|
7
|
+
const langfuse_1 = require("langfuse");
|
|
8
|
+
const tracing_types_1 = require("../types/tracing.types");
|
|
9
|
+
const tracing_provider_1 = require("./tracing-provider");
|
|
10
|
+
const tracing_decorator_agent_1 = require("./tracing-decorator-agent");
|
|
11
|
+
const console_1 = require("./console");
|
|
12
|
+
const DEFAULT_LANGFUSE_BASE_URL = 'https://cloud.langfuse.com';
|
|
13
|
+
const LANGFUSE_SECRET_KEY_ENV = 'LANGFUSE_SECRET_KEY';
|
|
14
|
+
const LANGFUSE_PUBLIC_KEY_ENV = 'LANGFUSE_PUBLIC_KEY';
|
|
15
|
+
const LANGFUSE_BASE_URL_ENV = 'LANGFUSE_BASE_URL';
|
|
16
|
+
function validateLangfuseConfig() {
|
|
17
|
+
const secretKey = process.env[LANGFUSE_SECRET_KEY_ENV];
|
|
18
|
+
const publicKey = process.env[LANGFUSE_PUBLIC_KEY_ENV];
|
|
19
|
+
if (!secretKey || secretKey.trim() === '') {
|
|
20
|
+
throw new Error(`${LANGFUSE_SECRET_KEY_ENV} is not set or is empty`);
|
|
21
|
+
}
|
|
22
|
+
if (!publicKey || publicKey.trim() === '') {
|
|
23
|
+
throw new Error(`${LANGFUSE_PUBLIC_KEY_ENV} is not set or is empty`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function createTracingContext(debateConfig, traceMetadata, traceName, tags) {
|
|
27
|
+
if (debateConfig.trace !== tracing_types_1.TRACE_OPTIONS.LANGFUSE) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
validateLangfuseConfig();
|
|
32
|
+
const secretKey = process.env[LANGFUSE_SECRET_KEY_ENV];
|
|
33
|
+
const publicKey = process.env[LANGFUSE_PUBLIC_KEY_ENV];
|
|
34
|
+
const baseUrl = process.env[LANGFUSE_BASE_URL_ENV] || DEFAULT_LANGFUSE_BASE_URL;
|
|
35
|
+
const langfuse = new langfuse_1.Langfuse({
|
|
36
|
+
secretKey,
|
|
37
|
+
publicKey,
|
|
38
|
+
baseUrl,
|
|
39
|
+
});
|
|
40
|
+
const trace = langfuse.trace({
|
|
41
|
+
name: traceName,
|
|
42
|
+
metadata: traceMetadata,
|
|
43
|
+
...(tags.length > 0 && { tags }),
|
|
44
|
+
});
|
|
45
|
+
return {
|
|
46
|
+
langfuse,
|
|
47
|
+
trace,
|
|
48
|
+
currentSpans: new Map(),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
(0, console_1.logWarning)(`Failed to create Langfuse tracing context: ${error.message}`);
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function createTracingProvider(provider, tracingContext) {
|
|
57
|
+
if (!tracingContext) {
|
|
58
|
+
return provider;
|
|
59
|
+
}
|
|
60
|
+
return new tracing_provider_1.TracingLLMProvider(provider, tracingContext);
|
|
61
|
+
}
|
|
62
|
+
function createTracingAgent(agent, tracingContext) {
|
|
63
|
+
if (!tracingContext) {
|
|
64
|
+
return agent;
|
|
65
|
+
}
|
|
66
|
+
return new tracing_decorator_agent_1.TracingDecoratorAgent(agent, tracingContext);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=tracing-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing-factory.js","sourceRoot":"","sources":["../../src/utils/tracing-factory.ts"],"names":[],"mappings":";;AA0BA,wDAWC;AAWD,oDA4CC;AASD,sDASC;AASD,gDASC;AAhID,uCAAoC;AACpC,0DAAsF;AAItF,yDAAwD;AACxD,uEAAkE;AAClE,uCAAuC;AAKvC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAK/D,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AACtD,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AACtD,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAOlD,SAAgB,sBAAsB;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAEvD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,uBAAuB,yBAAyB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,uBAAuB,yBAAyB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAWD,SAAgB,oBAAoB,CAClC,YAA0B,EAC1B,aAA4B,EAC5B,SAAiB,EACjB,IAAc;IAGd,IAAI,YAAY,CAAC,KAAK,KAAK,6BAAa,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QAEH,sBAAsB,EAAE,CAAC;QAGzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAE,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAE,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,yBAAyB,CAAC;QAGhF,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC;YAC5B,SAAS;YACT,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QAGH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC3B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,aAAa;YACvB,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;SACjC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,IAAI,GAAG,EAAE;SACxB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAEpB,IAAA,oBAAU,EAAC,8CAA8C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AASD,SAAgB,qBAAqB,CACnC,QAAqB,EACrB,cAA+B;IAE/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,qCAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC1D,CAAC;AASD,SAAgB,kBAAkB,CAChC,KAAY,EACZ,cAA+B;IAE/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,+CAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LLMProvider, CompletionRequest, CompletionResponse } from '../providers/llm-provider';
|
|
2
|
+
import { TracingContext } from '../types/tracing.types';
|
|
3
|
+
export declare class TracingLLMProvider implements LLMProvider {
|
|
4
|
+
private readonly wrappedProvider;
|
|
5
|
+
private readonly tracingContext;
|
|
6
|
+
private iterationCount;
|
|
7
|
+
private agentId?;
|
|
8
|
+
constructor(wrappedProvider: LLMProvider, tracingContext: TracingContext);
|
|
9
|
+
setAgentId(agentId: string): void;
|
|
10
|
+
complete(request: CompletionRequest): Promise<CompletionResponse>;
|
|
11
|
+
resetIterationCount(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=tracing-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing-provider.d.ts","sourceRoot":"","sources":["../../src/utils/tracing-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAWpE,qBAAa,kBAAmB,YAAW,WAAW;IAKlD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc;IALjC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,OAAO,CAAC,CAAS;gBAGN,eAAe,EAAE,WAAW,EAC5B,cAAc,EAAE,cAAc;IASjD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+DvE,mBAAmB,IAAI,IAAI;CAG5B"}
|