@cloudwarriors-ai/rlm 0.1.7 → 0.1.9
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/dist/application/handlers/llm-query-handler.d.ts +67 -0
- package/dist/application/handlers/llm-query-handler.d.ts.map +1 -0
- package/dist/application/handlers/llm-query-handler.js +169 -0
- package/dist/application/handlers/llm-query-handler.js.map +1 -0
- package/dist/application/query-handler.d.ts +23 -2
- package/dist/application/query-handler.d.ts.map +1 -1
- package/dist/application/query-handler.js +215 -112
- package/dist/application/query-handler.js.map +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/domain/constants.d.ts +124 -0
- package/dist/domain/constants.d.ts.map +1 -0
- package/dist/domain/constants.js +148 -0
- package/dist/domain/constants.js.map +1 -0
- package/dist/domain/errors/index.d.ts +1 -0
- package/dist/domain/errors/index.d.ts.map +1 -1
- package/dist/domain/errors/index.js +2 -0
- package/dist/domain/errors/index.js.map +1 -1
- package/dist/domain/errors/token-budget-error.d.ts +47 -0
- package/dist/domain/errors/token-budget-error.d.ts.map +1 -0
- package/dist/domain/errors/token-budget-error.js +41 -0
- package/dist/domain/errors/token-budget-error.js.map +1 -0
- package/dist/domain/interfaces/code-executor.d.ts +32 -2
- package/dist/domain/interfaces/code-executor.d.ts.map +1 -1
- package/dist/domain/interfaces/event-emitter.d.ts +55 -1
- package/dist/domain/interfaces/event-emitter.d.ts.map +1 -1
- package/dist/domain/interfaces/llm-provider.d.ts +4 -0
- package/dist/domain/interfaces/llm-provider.d.ts.map +1 -1
- package/dist/domain/services/cost-calculator.d.ts.map +1 -1
- package/dist/domain/services/cost-calculator.js +9 -4
- package/dist/domain/services/cost-calculator.js.map +1 -1
- package/dist/domain/types/config.d.ts +17 -0
- package/dist/domain/types/config.d.ts.map +1 -1
- package/dist/domain/types/config.js +41 -0
- package/dist/domain/types/config.js.map +1 -1
- package/dist/domain/types/index-schema.d.ts +206 -0
- package/dist/domain/types/index-schema.d.ts.map +1 -0
- package/dist/domain/types/index-schema.js +41 -0
- package/dist/domain/types/index-schema.js.map +1 -0
- package/dist/domain/types/index.d.ts +2 -0
- package/dist/domain/types/index.d.ts.map +1 -1
- package/dist/domain/types/index.js +4 -0
- package/dist/domain/types/index.js.map +1 -1
- package/dist/domain/utils/timer.d.ts +34 -0
- package/dist/domain/utils/timer.d.ts.map +1 -0
- package/dist/domain/utils/timer.js +39 -0
- package/dist/domain/utils/timer.js.map +1 -0
- package/dist/factory/create-rlm.d.ts.map +1 -1
- package/dist/factory/create-rlm.js +1 -0
- package/dist/factory/create-rlm.js.map +1 -1
- package/dist/infrastructure/llm/openrouter-provider.d.ts +1 -0
- package/dist/infrastructure/llm/openrouter-provider.d.ts.map +1 -1
- package/dist/infrastructure/llm/openrouter-provider.js +30 -9
- package/dist/infrastructure/llm/openrouter-provider.js.map +1 -1
- package/dist/infrastructure/llm/prompts/index.d.ts +1 -1
- package/dist/infrastructure/llm/prompts/index.d.ts.map +1 -1
- package/dist/infrastructure/llm/prompts/index.js +1 -1
- package/dist/infrastructure/llm/prompts/index.js.map +1 -1
- package/dist/infrastructure/llm/prompts/system-prompt.d.ts +14 -1
- package/dist/infrastructure/llm/prompts/system-prompt.d.ts.map +1 -1
- package/dist/infrastructure/llm/prompts/system-prompt.js +186 -52
- package/dist/infrastructure/llm/prompts/system-prompt.js.map +1 -1
- package/dist/infrastructure/logging/debug-logger.d.ts +29 -0
- package/dist/infrastructure/logging/debug-logger.d.ts.map +1 -0
- package/dist/infrastructure/logging/debug-logger.js +35 -0
- package/dist/infrastructure/logging/debug-logger.js.map +1 -0
- package/dist/infrastructure/sandbox/prelude/rlm_prelude.py +637 -41
- package/dist/infrastructure/sandbox/process-manager.d.ts +1 -0
- package/dist/infrastructure/sandbox/process-manager.d.ts.map +1 -1
- package/dist/infrastructure/sandbox/process-manager.js +19 -6
- package/dist/infrastructure/sandbox/process-manager.js.map +1 -1
- package/dist/infrastructure/sandbox/python-executor.d.ts +6 -2
- package/dist/infrastructure/sandbox/python-executor.d.ts.map +1 -1
- package/dist/infrastructure/sandbox/python-executor.js +138 -5
- package/dist/infrastructure/sandbox/python-executor.js.map +1 -1
- package/package.json +2 -1
- package/src/infrastructure/sandbox/prelude/rlm_prelude.py +637 -41
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { checkLimits
|
|
2
|
-
import { formatSystemPrompt, extractPythonCode, formatErrorRecoveryPrompt, MAX_RECOVERY_ATTEMPTS,
|
|
3
|
-
import { LimitExceededError, SessionCancelledError } from '../domain/errors/index.js';
|
|
1
|
+
import { checkLimits } from '../domain/services/limit-checker.js';
|
|
2
|
+
import { formatSystemPrompt, formatDirectAnswerPrompt, extractPythonCode, formatErrorRecoveryPrompt, MAX_RECOVERY_ATTEMPTS, } from '../infrastructure/llm/prompts/index.js';
|
|
3
|
+
import { LimitExceededError, SessionCancelledError, } from '../domain/errors/index.js';
|
|
4
|
+
import { LLMQueryHandler } from './handlers/llm-query-handler.js';
|
|
5
|
+
import { DEFAULT_MAX_TOKENS_PER_CALL, CODE_PREVIEW_LENGTH_SHORT, OUTPUT_PREVIEW_LENGTH, ERROR_RECOVERY_TEMPERATURE, } from '../domain/constants.js';
|
|
6
|
+
import { createDebugLogger } from '../infrastructure/logging/debug-logger.js';
|
|
7
|
+
import { Timer } from '../domain/utils/timer.js';
|
|
8
|
+
const dbg = createDebugLogger('QH');
|
|
4
9
|
/**
|
|
5
10
|
* Handles execution of RLM queries
|
|
6
11
|
*/
|
|
@@ -18,6 +23,13 @@ export class QueryHandler {
|
|
|
18
23
|
*/
|
|
19
24
|
async execute(session, state, config) {
|
|
20
25
|
const steps = [];
|
|
26
|
+
const executeStart = Date.now();
|
|
27
|
+
// Calculate total context size
|
|
28
|
+
let contextSize = 0;
|
|
29
|
+
for (const [, value] of state.pythonVariables) {
|
|
30
|
+
contextSize += value.length;
|
|
31
|
+
}
|
|
32
|
+
dbg('EXECUTE_START', { session: session.id, depth: state.currentDepth, contextSize, queryLen: session.query.length });
|
|
21
33
|
// Check limits before starting
|
|
22
34
|
const limitCheck = checkLimits(state, config);
|
|
23
35
|
if (!limitCheck.withinLimits) {
|
|
@@ -38,15 +50,32 @@ export class QueryHandler {
|
|
|
38
50
|
steps,
|
|
39
51
|
};
|
|
40
52
|
}
|
|
53
|
+
// For direct answers (depth > 0), return immediately without code execution
|
|
54
|
+
// This avoids validation issues with text content that mentions URLs, APIs, etc.
|
|
55
|
+
if (codeResult.directAnswer) {
|
|
56
|
+
dbg('EXECUTE_END', { session: session.id, depth: state.currentDepth, success: true, durationMs: Date.now() - executeStart, directAnswer: true });
|
|
57
|
+
return {
|
|
58
|
+
answer: codeResult.directAnswer,
|
|
59
|
+
success: true,
|
|
60
|
+
steps,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
41
63
|
// Execute the generated code
|
|
42
64
|
const execResult = await this.executeCode(codeResult.code, session, state, config, steps);
|
|
65
|
+
dbg('EXECUTE_END', { session: session.id, depth: state.currentDepth, success: execResult.success, durationMs: Date.now() - executeStart });
|
|
43
66
|
return execResult;
|
|
44
67
|
}
|
|
45
68
|
/**
|
|
46
69
|
* Generate Python code for the query
|
|
47
70
|
*/
|
|
48
71
|
async generateCode(session, state, config, steps) {
|
|
49
|
-
|
|
72
|
+
// For recursive calls (depth > 0), use direct answer mode
|
|
73
|
+
// This matches the MIT paper's intended behavior where sub-queries
|
|
74
|
+
// return text answers rather than generating more code
|
|
75
|
+
if (state.currentDepth > 0) {
|
|
76
|
+
return this.generateDirectAnswer(session, state, config, steps);
|
|
77
|
+
}
|
|
78
|
+
const timer = new Timer();
|
|
50
79
|
// Build context info for the prompt
|
|
51
80
|
const contextVars = Array.from(state.pythonVariables.entries()).map(([name, value]) => ({
|
|
52
81
|
name,
|
|
@@ -65,24 +94,26 @@ export class QueryHandler {
|
|
|
65
94
|
cost: 0,
|
|
66
95
|
depth: state.currentDepth,
|
|
67
96
|
});
|
|
97
|
+
const llmStart = Date.now();
|
|
98
|
+
dbg('LLM_CALL_START', { depth: state.currentDepth, model: config.model });
|
|
68
99
|
const response = await this.llmProvider.generate(messages, {
|
|
69
100
|
systemPrompt,
|
|
70
101
|
temperature: config.temperature,
|
|
71
|
-
maxTokens:
|
|
102
|
+
maxTokens: DEFAULT_MAX_TOKENS_PER_CALL,
|
|
72
103
|
});
|
|
104
|
+
dbg('LLM_CALL_END', { depth: state.currentDepth, durationMs: Date.now() - llmStart, tokens: response.usage.totalTokens, cost: response.cost });
|
|
73
105
|
// Update state with token usage
|
|
74
106
|
state.totalTokens += response.usage.totalTokens;
|
|
75
107
|
state.totalCostUsd += response.cost;
|
|
76
108
|
state.llmCalls += 1;
|
|
77
|
-
const
|
|
78
|
-
const durationMs = completedAt.getTime() - startedAt.getTime();
|
|
109
|
+
const timing = timer.elapsed();
|
|
79
110
|
steps.push({
|
|
80
111
|
index: steps.length,
|
|
81
112
|
depth: state.currentDepth,
|
|
82
113
|
type: 'llm_call',
|
|
83
|
-
startedAt,
|
|
84
|
-
completedAt,
|
|
85
|
-
durationMs,
|
|
114
|
+
startedAt: timing.startedAt,
|
|
115
|
+
completedAt: timing.completedAt,
|
|
116
|
+
durationMs: timing.durationMs,
|
|
86
117
|
details: {
|
|
87
118
|
type: 'llm_call',
|
|
88
119
|
model: response.model,
|
|
@@ -100,26 +131,130 @@ export class QueryHandler {
|
|
|
100
131
|
error: 'Failed to extract Python code from LLM response',
|
|
101
132
|
};
|
|
102
133
|
}
|
|
134
|
+
// Emit code generation event
|
|
135
|
+
this.eventEmitter.emit({
|
|
136
|
+
type: 'rlm.code.generated',
|
|
137
|
+
sessionId: session.id,
|
|
138
|
+
timestamp: new Date(),
|
|
139
|
+
code,
|
|
140
|
+
depth: state.currentDepth,
|
|
141
|
+
});
|
|
103
142
|
steps.push({
|
|
104
143
|
index: steps.length,
|
|
105
144
|
depth: state.currentDepth,
|
|
106
145
|
type: 'code_generation',
|
|
107
|
-
startedAt,
|
|
108
|
-
completedAt,
|
|
146
|
+
startedAt: timing.startedAt,
|
|
147
|
+
completedAt: timing.completedAt,
|
|
109
148
|
durationMs: 0,
|
|
110
149
|
details: {
|
|
111
150
|
type: 'code_generation',
|
|
112
151
|
codeLength: code.length,
|
|
113
|
-
codePreview: code.slice(0,
|
|
152
|
+
codePreview: code.slice(0, CODE_PREVIEW_LENGTH_SHORT) + (code.length > CODE_PREVIEW_LENGTH_SHORT ? '...' : ''),
|
|
114
153
|
},
|
|
115
154
|
});
|
|
116
155
|
return { success: true, code };
|
|
117
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Generate a direct answer for recursive calls (depth > 0)
|
|
159
|
+
*
|
|
160
|
+
* Unlike generateCode(), this method asks the LLM to provide a direct
|
|
161
|
+
* text answer rather than writing Python code. This matches the MIT paper's
|
|
162
|
+
* intended behavior for llm_query() calls.
|
|
163
|
+
*/
|
|
164
|
+
async generateDirectAnswer(session, state, config, steps) {
|
|
165
|
+
const timer = new Timer();
|
|
166
|
+
dbg('DIRECT_ANSWER_START', { depth: state.currentDepth, queryLen: session.query.length });
|
|
167
|
+
// Build context hint for the prompt
|
|
168
|
+
const contextVars = Array.from(state.pythonVariables.entries()).map(([name, value]) => ({
|
|
169
|
+
name,
|
|
170
|
+
sizeHint: `${value.length} chars, ~${this.llmProvider.estimateTokens(value)} tokens`,
|
|
171
|
+
}));
|
|
172
|
+
const contextHint = contextVars.map((v) => `${v.name}: ${v.sizeHint}`).join(', ');
|
|
173
|
+
// Get the actual context content to include in the prompt
|
|
174
|
+
const contextContent = state.pythonVariables.get('context') ?? '';
|
|
175
|
+
const systemPrompt = formatDirectAnswerPrompt(contextHint, session.query);
|
|
176
|
+
// Include the actual context in the user message
|
|
177
|
+
const messages = [
|
|
178
|
+
{
|
|
179
|
+
role: 'user',
|
|
180
|
+
content: `Here is the context to analyze:\n\n${contextContent}\n\nPlease provide your analysis.`,
|
|
181
|
+
},
|
|
182
|
+
];
|
|
183
|
+
this.eventEmitter.emit({
|
|
184
|
+
type: 'rlm.llm.completed',
|
|
185
|
+
sessionId: session.id,
|
|
186
|
+
timestamp: new Date(),
|
|
187
|
+
model: config.model,
|
|
188
|
+
usage: { promptTokens: 0, completionTokens: 0, totalTokens: 0 },
|
|
189
|
+
cost: 0,
|
|
190
|
+
depth: state.currentDepth,
|
|
191
|
+
});
|
|
192
|
+
const llmStart = Date.now();
|
|
193
|
+
dbg('LLM_DIRECT_CALL_START', { depth: state.currentDepth, model: config.model });
|
|
194
|
+
const response = await this.llmProvider.generate(messages, {
|
|
195
|
+
systemPrompt,
|
|
196
|
+
temperature: config.temperature,
|
|
197
|
+
maxTokens: DEFAULT_MAX_TOKENS_PER_CALL,
|
|
198
|
+
});
|
|
199
|
+
dbg('LLM_DIRECT_CALL_END', {
|
|
200
|
+
depth: state.currentDepth,
|
|
201
|
+
durationMs: Date.now() - llmStart,
|
|
202
|
+
tokens: response.usage.totalTokens,
|
|
203
|
+
cost: response.cost,
|
|
204
|
+
answerLen: response.content.length,
|
|
205
|
+
});
|
|
206
|
+
// Update state with token usage
|
|
207
|
+
state.totalTokens += response.usage.totalTokens;
|
|
208
|
+
state.totalCostUsd += response.cost;
|
|
209
|
+
state.llmCalls += 1;
|
|
210
|
+
const timing = timer.elapsed();
|
|
211
|
+
steps.push({
|
|
212
|
+
index: steps.length,
|
|
213
|
+
depth: state.currentDepth,
|
|
214
|
+
type: 'llm_call',
|
|
215
|
+
startedAt: timing.startedAt,
|
|
216
|
+
completedAt: timing.completedAt,
|
|
217
|
+
durationMs: timing.durationMs,
|
|
218
|
+
details: {
|
|
219
|
+
type: 'llm_call',
|
|
220
|
+
model: response.model,
|
|
221
|
+
promptTokens: response.usage.promptTokens,
|
|
222
|
+
completionTokens: response.usage.completionTokens,
|
|
223
|
+
cost: response.cost,
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
// Emit direct answer event with content for debugging
|
|
227
|
+
this.eventEmitter.emit({
|
|
228
|
+
type: 'rlm.direct_answer.generated',
|
|
229
|
+
sessionId: session.id,
|
|
230
|
+
timestamp: new Date(),
|
|
231
|
+
answerLength: response.content.length,
|
|
232
|
+
depth: state.currentDepth,
|
|
233
|
+
answer: response.content,
|
|
234
|
+
});
|
|
235
|
+
steps.push({
|
|
236
|
+
index: steps.length,
|
|
237
|
+
depth: state.currentDepth,
|
|
238
|
+
type: 'code_generation',
|
|
239
|
+
startedAt: timing.startedAt,
|
|
240
|
+
completedAt: timing.completedAt,
|
|
241
|
+
durationMs: 0,
|
|
242
|
+
details: {
|
|
243
|
+
type: 'code_generation',
|
|
244
|
+
codeLength: response.content.length,
|
|
245
|
+
codePreview: '[Direct answer mode - no code generated]',
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
dbg('DIRECT_ANSWER_END', { depth: state.currentDepth, success: true });
|
|
249
|
+
// Return the answer directly - no need to execute synthetic code
|
|
250
|
+
// This avoids validation issues with text content that mentions URLs, APIs, etc.
|
|
251
|
+
return { success: true, code: '', directAnswer: response.content };
|
|
252
|
+
}
|
|
118
253
|
/**
|
|
119
254
|
* Execute Python code and handle commands
|
|
120
255
|
*/
|
|
121
256
|
async executeCode(code, session, state, config, steps) {
|
|
122
|
-
const
|
|
257
|
+
const timer = new Timer();
|
|
123
258
|
let currentCode = code;
|
|
124
259
|
let recoveryAttempts = 0;
|
|
125
260
|
while (recoveryAttempts <= MAX_RECOVERY_ATTEMPTS) {
|
|
@@ -140,29 +275,29 @@ export class QueryHandler {
|
|
|
140
275
|
continue;
|
|
141
276
|
}
|
|
142
277
|
// Execute code
|
|
143
|
-
const execContext =
|
|
144
|
-
|
|
278
|
+
const execContext = this.createExecutionContext(session, state, config);
|
|
279
|
+
// Handle llm_query commands during execution (fixes deadlock)
|
|
280
|
+
const llmQueryHandler = new LLMQueryHandler({
|
|
281
|
+
llmProvider: this.llmProvider,
|
|
282
|
+
eventEmitter: this.eventEmitter,
|
|
283
|
+
executeRecursive: this.execute.bind(this),
|
|
284
|
+
});
|
|
285
|
+
const onCommand = (command) => llmQueryHandler.handle(command, { session, state, config });
|
|
286
|
+
const result = await this.codeExecutor.execute(currentCode, execContext, onCommand);
|
|
287
|
+
const timing = timer.elapsed();
|
|
288
|
+
// Emit code execution event
|
|
289
|
+
this.eventEmitter.emit({
|
|
290
|
+
type: 'rlm.code.executed',
|
|
145
291
|
sessionId: session.id,
|
|
292
|
+
timestamp: timing.completedAt,
|
|
293
|
+
success: result.success,
|
|
294
|
+
stdout: result.stdout,
|
|
295
|
+
stderr: result.stderr,
|
|
296
|
+
error: result.error,
|
|
297
|
+
result: result.result,
|
|
146
298
|
depth: state.currentDepth,
|
|
147
|
-
timeoutMs: Math.min(config.timeoutMs, 60000), // Max 60s per execution
|
|
148
|
-
};
|
|
149
|
-
const result = await this.codeExecutor.execute(currentCode, execContext);
|
|
150
|
-
const completedAt = new Date();
|
|
151
|
-
const durationMs = completedAt.getTime() - startedAt.getTime();
|
|
152
|
-
steps.push({
|
|
153
|
-
index: steps.length,
|
|
154
|
-
depth: state.currentDepth,
|
|
155
|
-
type: 'code_execution',
|
|
156
|
-
startedAt,
|
|
157
|
-
completedAt,
|
|
158
|
-
durationMs,
|
|
159
|
-
details: {
|
|
160
|
-
type: 'code_execution',
|
|
161
|
-
success: result.success,
|
|
162
|
-
output: result.stdout.slice(0, 500),
|
|
163
|
-
error: result.error,
|
|
164
|
-
},
|
|
165
299
|
});
|
|
300
|
+
this.recordExecutionStep(steps, state, timing, result);
|
|
166
301
|
if (!result.success) {
|
|
167
302
|
if (recoveryAttempts >= MAX_RECOVERY_ATTEMPTS) {
|
|
168
303
|
return {
|
|
@@ -177,21 +312,15 @@ export class QueryHandler {
|
|
|
177
312
|
recoveryAttempts++;
|
|
178
313
|
continue;
|
|
179
314
|
}
|
|
180
|
-
// Process commands from Python
|
|
181
|
-
|
|
182
|
-
if (command.type === 'llm_query') {
|
|
183
|
-
await this.handleLLMQueryCommand(command, session, state, config, steps);
|
|
184
|
-
}
|
|
185
|
-
else if (command.type === 'set_variable') {
|
|
186
|
-
state.pythonVariables.set(command.name, command.value);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
315
|
+
// Process commands from Python (llm_query already handled during execution)
|
|
316
|
+
this.processVariableCommands(state, result.commands);
|
|
189
317
|
// Check if we got a result
|
|
190
318
|
if (result.result) {
|
|
191
319
|
return {
|
|
192
320
|
answer: result.result,
|
|
193
321
|
success: true,
|
|
194
322
|
steps,
|
|
323
|
+
finalAnswerConfidence: result.finalAnswerConfidence,
|
|
195
324
|
};
|
|
196
325
|
}
|
|
197
326
|
// No result set, but execution succeeded
|
|
@@ -199,6 +328,7 @@ export class QueryHandler {
|
|
|
199
328
|
answer: result.stdout || 'No result set',
|
|
200
329
|
success: true,
|
|
201
330
|
steps,
|
|
331
|
+
finalAnswerConfidence: result.finalAnswerConfidence,
|
|
202
332
|
};
|
|
203
333
|
}
|
|
204
334
|
return {
|
|
@@ -209,100 +339,73 @@ export class QueryHandler {
|
|
|
209
339
|
};
|
|
210
340
|
}
|
|
211
341
|
/**
|
|
212
|
-
*
|
|
342
|
+
* Create execution context for Python code execution
|
|
213
343
|
*/
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
// Send error response to Python
|
|
218
|
-
await this.codeExecutor.respondToQuery(JSON.stringify({ error: 'Maximum recursion depth reached' }));
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
// Increment depth for recursive call
|
|
222
|
-
state.currentDepth += 1;
|
|
223
|
-
state.recursiveCalls += 1;
|
|
224
|
-
state.maxDepthReached = Math.max(state.maxDepthReached, state.currentDepth);
|
|
225
|
-
const startedAt = new Date();
|
|
226
|
-
this.eventEmitter.emit({
|
|
227
|
-
type: 'rlm.recursive.started',
|
|
344
|
+
createExecutionContext(session, state, config) {
|
|
345
|
+
return {
|
|
346
|
+
variables: state.pythonVariables,
|
|
228
347
|
sessionId: session.id,
|
|
229
|
-
timestamp: startedAt,
|
|
230
|
-
query: command.query,
|
|
231
348
|
depth: state.currentDepth,
|
|
349
|
+
timeoutMs: config.timeoutMs,
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Record execution step in trace
|
|
354
|
+
*/
|
|
355
|
+
recordExecutionStep(steps, state, timing, result) {
|
|
356
|
+
steps.push({
|
|
357
|
+
index: steps.length,
|
|
358
|
+
depth: state.currentDepth,
|
|
359
|
+
type: 'code_execution',
|
|
360
|
+
startedAt: timing.startedAt,
|
|
361
|
+
completedAt: timing.completedAt,
|
|
362
|
+
durationMs: timing.durationMs,
|
|
363
|
+
details: {
|
|
364
|
+
type: 'code_execution',
|
|
365
|
+
success: result.success,
|
|
366
|
+
output: result.stdout.slice(0, OUTPUT_PREVIEW_LENGTH),
|
|
367
|
+
error: result.error,
|
|
368
|
+
},
|
|
232
369
|
});
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
// Update state
|
|
243
|
-
state.totalTokens += response.usage.totalTokens;
|
|
244
|
-
state.totalCostUsd += response.cost;
|
|
245
|
-
state.llmCalls += 1;
|
|
246
|
-
const completedAt = new Date();
|
|
247
|
-
const durationMs = completedAt.getTime() - startedAt.getTime();
|
|
248
|
-
steps.push({
|
|
249
|
-
index: steps.length,
|
|
250
|
-
depth: state.currentDepth,
|
|
251
|
-
type: 'recursive_call',
|
|
252
|
-
startedAt,
|
|
253
|
-
completedAt,
|
|
254
|
-
durationMs,
|
|
255
|
-
details: {
|
|
256
|
-
type: 'recursive_call',
|
|
257
|
-
query: command.query.slice(0, 100),
|
|
258
|
-
contextSize: contextContent.length,
|
|
259
|
-
depth: state.currentDepth,
|
|
260
|
-
},
|
|
261
|
-
});
|
|
262
|
-
this.eventEmitter.emit({
|
|
263
|
-
type: 'rlm.recursive.completed',
|
|
264
|
-
sessionId: session.id,
|
|
265
|
-
timestamp: completedAt,
|
|
266
|
-
depth: state.currentDepth,
|
|
267
|
-
resultLength: response.content.length,
|
|
268
|
-
});
|
|
269
|
-
// Send response back to Python
|
|
270
|
-
await this.codeExecutor.respondToQuery(JSON.stringify({ result: response.content }));
|
|
271
|
-
}
|
|
272
|
-
catch (error) {
|
|
273
|
-
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
274
|
-
await this.codeExecutor.respondToQuery(JSON.stringify({ error: errorMessage }));
|
|
275
|
-
}
|
|
276
|
-
finally {
|
|
277
|
-
// Decrement depth after recursive call
|
|
278
|
-
state.currentDepth -= 1;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Process set_variable commands from execution result
|
|
373
|
+
*/
|
|
374
|
+
processVariableCommands(state, commands) {
|
|
375
|
+
for (const command of commands) {
|
|
376
|
+
if (command.type === 'set_variable' && command.name && command.value !== undefined) {
|
|
377
|
+
state.pythonVariables.set(command.name, command.value);
|
|
378
|
+
}
|
|
279
379
|
}
|
|
280
380
|
}
|
|
281
381
|
/**
|
|
282
382
|
* Attempt to recover from an error by asking the LLM to fix the code
|
|
283
383
|
*/
|
|
284
384
|
async recoverFromError(previousCode, error, traceback, session, state, config, steps) {
|
|
285
|
-
const
|
|
385
|
+
const timer = new Timer();
|
|
286
386
|
this.eventEmitter.emit({
|
|
287
387
|
type: 'rlm.recovery.started',
|
|
288
388
|
sessionId: session.id,
|
|
289
|
-
timestamp: startedAt,
|
|
389
|
+
timestamp: timer.startedAt,
|
|
390
|
+
error,
|
|
391
|
+
traceback,
|
|
392
|
+
previousCode: previousCode.slice(0, OUTPUT_PREVIEW_LENGTH),
|
|
290
393
|
});
|
|
291
394
|
const prompt = formatErrorRecoveryPrompt(previousCode, error, traceback);
|
|
292
395
|
const messages = [{ role: 'user', content: prompt }];
|
|
293
396
|
const response = await this.llmProvider.generate(messages, {
|
|
294
|
-
temperature:
|
|
295
|
-
maxTokens:
|
|
397
|
+
temperature: ERROR_RECOVERY_TEMPERATURE,
|
|
398
|
+
maxTokens: DEFAULT_MAX_TOKENS_PER_CALL,
|
|
296
399
|
});
|
|
297
400
|
// Update state
|
|
298
401
|
state.totalTokens += response.usage.totalTokens;
|
|
299
402
|
state.totalCostUsd += response.cost;
|
|
300
403
|
state.llmCalls += 1;
|
|
301
|
-
const
|
|
404
|
+
const timing = timer.elapsed();
|
|
302
405
|
this.eventEmitter.emit({
|
|
303
406
|
type: 'rlm.recovery.completed',
|
|
304
407
|
sessionId: session.id,
|
|
305
|
-
timestamp: completedAt,
|
|
408
|
+
timestamp: timing.completedAt,
|
|
306
409
|
});
|
|
307
410
|
const fixedCode = extractPythonCode(response.content);
|
|
308
411
|
return fixedCode ?? previousCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-handler.js","sourceRoot":"","sources":["../../src/application/query-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-handler.js","sourceRoot":"","sources":["../../src/application/query-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain constants for RLM
|
|
3
|
+
*
|
|
4
|
+
* Centralizes magic numbers and configuration defaults
|
|
5
|
+
* to improve maintainability and make tuning easier.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Maximum characters per llm_query() call (~125K tokens)
|
|
9
|
+
* Per MIT CSAIL paper on Recursive Language Models
|
|
10
|
+
*/
|
|
11
|
+
export declare const LLM_QUERY_MAX_CHARS = 500000;
|
|
12
|
+
/**
|
|
13
|
+
* Default max tokens per LLM call for code/answer generation
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_MAX_TOKENS_PER_CALL = 4000;
|
|
16
|
+
/**
|
|
17
|
+
* Characters per token estimate for English text
|
|
18
|
+
* This is a simple heuristic; real tokenization varies by model
|
|
19
|
+
*/
|
|
20
|
+
export declare const CHARS_PER_TOKEN_ESTIMATE = 4;
|
|
21
|
+
/**
|
|
22
|
+
* Default request timeout in milliseconds for LLM API calls
|
|
23
|
+
*/
|
|
24
|
+
export declare const DEFAULT_REQUEST_TIMEOUT_MS = 60000;
|
|
25
|
+
/**
|
|
26
|
+
* Default max retries on transient errors
|
|
27
|
+
*/
|
|
28
|
+
export declare const DEFAULT_MAX_RETRIES = 3;
|
|
29
|
+
/**
|
|
30
|
+
* Default retry-after seconds when rate limited (if not specified by server)
|
|
31
|
+
*/
|
|
32
|
+
export declare const DEFAULT_RETRY_AFTER_SECONDS = 60;
|
|
33
|
+
/**
|
|
34
|
+
* Base delay for exponential backoff in milliseconds
|
|
35
|
+
*/
|
|
36
|
+
export declare const BACKOFF_BASE_MS = 1000;
|
|
37
|
+
/**
|
|
38
|
+
* Health check timeout in milliseconds
|
|
39
|
+
*/
|
|
40
|
+
export declare const HEALTH_CHECK_TIMEOUT_MS = 5000;
|
|
41
|
+
/**
|
|
42
|
+
* Default Python execution timeout in milliseconds
|
|
43
|
+
*/
|
|
44
|
+
export declare const DEFAULT_PYTHON_TIMEOUT_MS = 30000;
|
|
45
|
+
/**
|
|
46
|
+
* Code preview truncation length (short)
|
|
47
|
+
*/
|
|
48
|
+
export declare const CODE_PREVIEW_LENGTH_SHORT = 200;
|
|
49
|
+
/**
|
|
50
|
+
* Output preview truncation length (medium)
|
|
51
|
+
*/
|
|
52
|
+
export declare const OUTPUT_PREVIEW_LENGTH = 500;
|
|
53
|
+
/**
|
|
54
|
+
* Token threshold for cost estimation (roughly 100K tokens per call)
|
|
55
|
+
*/
|
|
56
|
+
export declare const COST_ESTIMATE_TOKEN_THRESHOLD = 100000;
|
|
57
|
+
/**
|
|
58
|
+
* Average output tokens for cost estimation
|
|
59
|
+
*/
|
|
60
|
+
export declare const COST_ESTIMATE_AVG_OUTPUT_TOKENS = 2000;
|
|
61
|
+
/**
|
|
62
|
+
* Minimum cost multiplier for cost estimation range
|
|
63
|
+
*/
|
|
64
|
+
export declare const COST_ESTIMATE_MIN_MULTIPLIER = 0.5;
|
|
65
|
+
/**
|
|
66
|
+
* Maximum cost multiplier for cost estimation range
|
|
67
|
+
*/
|
|
68
|
+
export declare const COST_ESTIMATE_MAX_MULTIPLIER = 2;
|
|
69
|
+
/**
|
|
70
|
+
* Temperature for error recovery prompts (lower for more focused fixes)
|
|
71
|
+
*/
|
|
72
|
+
export declare const ERROR_RECOVERY_TEMPERATURE = 0.2;
|
|
73
|
+
/**
|
|
74
|
+
* Maximum event listeners per emitter
|
|
75
|
+
*/
|
|
76
|
+
export declare const MAX_EVENT_LISTENERS = 100;
|
|
77
|
+
/**
|
|
78
|
+
* Threshold for using temp file instead of stdin (10MB)
|
|
79
|
+
* Large payloads can block stdin buffer
|
|
80
|
+
*/
|
|
81
|
+
export declare const STDIN_SIZE_THRESHOLD: number;
|
|
82
|
+
/**
|
|
83
|
+
* Maximum concurrent queries in llm_query_batch to avoid resource exhaustion.
|
|
84
|
+
* Each recursive call spawns a Python process + makes LLM API calls.
|
|
85
|
+
* 5 concurrent provides ~5x speedup while staying safe for most systems.
|
|
86
|
+
*/
|
|
87
|
+
export declare const MAX_CONCURRENT_BATCH_QUERIES = 5;
|
|
88
|
+
/**
|
|
89
|
+
* Default OpenRouter API base URL
|
|
90
|
+
*/
|
|
91
|
+
export declare const DEFAULT_OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
|
|
92
|
+
/**
|
|
93
|
+
* Default site name for OpenRouter analytics
|
|
94
|
+
*/
|
|
95
|
+
export declare const DEFAULT_SITE_NAME = "RLM";
|
|
96
|
+
/**
|
|
97
|
+
* Protocol marker for initialization via stdin
|
|
98
|
+
*/
|
|
99
|
+
export declare const PROTOCOL_INIT = "__INIT__";
|
|
100
|
+
/**
|
|
101
|
+
* Protocol marker for initialization via temp file
|
|
102
|
+
*/
|
|
103
|
+
export declare const PROTOCOL_INIT_FILE = "__INIT_FILE__";
|
|
104
|
+
/**
|
|
105
|
+
* Protocol marker for command output
|
|
106
|
+
*/
|
|
107
|
+
export declare const PROTOCOL_COMMAND = "__COMMAND__";
|
|
108
|
+
/**
|
|
109
|
+
* Protocol marker for response input
|
|
110
|
+
*/
|
|
111
|
+
export declare const PROTOCOL_RESPONSE = "__RESPONSE__";
|
|
112
|
+
/**
|
|
113
|
+
* Protocol marker for completion
|
|
114
|
+
*/
|
|
115
|
+
export declare const PROTOCOL_DONE = "__DONE__";
|
|
116
|
+
/**
|
|
117
|
+
* Protocol marker for errors
|
|
118
|
+
*/
|
|
119
|
+
export declare const PROTOCOL_ERROR = "__ERROR__";
|
|
120
|
+
/**
|
|
121
|
+
* Protocol marker for warnings
|
|
122
|
+
*/
|
|
123
|
+
export declare const PROTOCOL_WARNING = "__WARNING__";
|
|
124
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/domain/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAM1C;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAM/C;;GAEG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAMzC;;GAEG;AACH,eAAO,MAAM,6BAA6B,SAAU,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAM9C;;GAEG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAM9C;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAM9C;;GAEG;AACH,eAAO,MAAM,2BAA2B,iCAAiC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAMvC;;GAEG;AACH,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBAAgB,CAAC"}
|