@cogitator-ai/self-modifying 17.0.13 → 17.0.16
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 +3 -3
- package/dist/architecture-evolution/capability-analyzer.js +1 -1
- package/dist/architecture-evolution/index.d.ts +4 -4
- package/dist/architecture-evolution/index.js +4 -4
- package/dist/architecture-evolution/parameter-optimizer.js +3 -3
- package/dist/architecture-evolution/prompts.js +1 -1
- package/dist/constraints/index.d.ts +3 -3
- package/dist/constraints/index.js +3 -3
- package/dist/constraints/modification-validator.d.ts.map +1 -1
- package/dist/constraints/modification-validator.js +1 -1
- package/dist/constraints/modification-validator.js.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.js +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/meta-reasoning/index.d.ts +4 -4
- package/dist/meta-reasoning/index.js +4 -4
- package/dist/meta-reasoning/meta-reasoner.d.ts +1 -1
- package/dist/meta-reasoning/meta-reasoner.d.ts.map +1 -1
- package/dist/meta-reasoning/meta-reasoner.js +4 -4
- package/dist/meta-reasoning/meta-reasoner.js.map +1 -1
- package/dist/self-modifying-agent.d.ts.map +1 -1
- package/dist/self-modifying-agent.js +15 -9
- package/dist/self-modifying-agent.js.map +1 -1
- package/dist/tool-generation/gap-analyzer.js +1 -1
- package/dist/tool-generation/index.d.ts +6 -6
- package/dist/tool-generation/index.js +6 -6
- package/dist/tool-generation/prompts.d.ts +3 -3
- package/dist/tool-generation/prompts.d.ts.map +1 -1
- package/dist/tool-generation/prompts.js +51 -93
- package/dist/tool-generation/prompts.js.map +1 -1
- package/dist/tool-generation/tool-generator.d.ts.map +1 -1
- package/dist/tool-generation/tool-generator.js +4 -10
- package/dist/tool-generation/tool-generator.js.map +1 -1
- package/dist/tool-generation/tool-sandbox.d.ts.map +1 -1
- package/dist/tool-generation/tool-sandbox.js.map +1 -1
- package/dist/tool-generation/tool-validator.js +2 -2
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +23 -5
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/self-modifying-agent.test.ts +24 -20
- package/src/__tests__/utils.test.ts +22 -1
- package/src/constraints/modification-validator.ts +4 -1
- package/src/meta-reasoning/meta-reasoner.ts +3 -1
- package/src/self-modifying-agent.ts +19 -13
- package/src/tool-generation/prompts.ts +55 -98
- package/src/tool-generation/tool-generator.ts +1 -7
- package/src/tool-generation/tool-sandbox.ts +2 -1
- package/src/utils/index.ts +24 -4
|
@@ -1,25 +1,13 @@
|
|
|
1
|
-
import { extractJson } from '../utils';
|
|
2
|
-
export const TOOL_GENERATION_SYSTEM_PROMPT = `You
|
|
3
|
-
Your task is to generate safe, efficient tool implementations.
|
|
1
|
+
import { extractJson } from '../utils/index.js';
|
|
2
|
+
export const TOOL_GENERATION_SYSTEM_PROMPT = `You generate JavaScript tools. Respond with ONLY a JSON object, no other text.
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
4. Never generate code that accesses file system, network, or system resources
|
|
10
|
-
5. Always include proper error handling with try-catch
|
|
11
|
-
6. The implementation MUST define an async function called "execute" that takes a params object and returns a result
|
|
12
|
-
7. Do NOT use: eval, Function, import, require, process, global, fetch, setTimeout, setInterval, constructor
|
|
4
|
+
Rules:
|
|
5
|
+
- Plain JavaScript only, no TypeScript
|
|
6
|
+
- No require/import/eval/process/fetch
|
|
7
|
+
- Must have an async function called "execute"
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
{
|
|
17
|
-
"name": "tool_name",
|
|
18
|
-
"description": "Clear description of what the tool does",
|
|
19
|
-
"implementation": "async function execute(params) { ... }",
|
|
20
|
-
"parameters": { "type": "object", "properties": {...}, "required": [...] },
|
|
21
|
-
"reasoning": "Why this implementation was chosen"
|
|
22
|
-
}`;
|
|
9
|
+
Example response:
|
|
10
|
+
{"name":"add","description":"Add two numbers","implementation":"async function execute(params) { try { return params.a + params.b; } catch(e) { return 0; } }","parameters":{"type":"object","properties":{"a":{"type":"number"},"b":{"type":"number"}},"required":["a","b"]},"reasoning":"Simple addition"}`;
|
|
23
11
|
export function buildGapAnalysisPrompt(userIntent, availableTools, failedAttempts) {
|
|
24
12
|
const toolList = availableTools.map((t) => `- ${t.name}: ${t.description}`).join('\n');
|
|
25
13
|
const failureContext = failedAttempts?.length
|
|
@@ -52,58 +40,13 @@ Respond with a JSON object:
|
|
|
52
40
|
"alternativeApproach": "If gaps exist but can still proceed, explain how"
|
|
53
41
|
}`;
|
|
54
42
|
}
|
|
55
|
-
export function buildToolGenerationPrompt(gap,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- NO network requests
|
|
60
|
-
- NO eval() or Function constructor
|
|
61
|
-
- NO dynamic imports
|
|
62
|
-
- NO process or child_process access
|
|
63
|
-
- ONLY pure computation`,
|
|
64
|
-
moderate: `
|
|
65
|
-
- File system access ONLY if explicitly requested
|
|
66
|
-
- Network requests ONLY to whitelisted domains
|
|
67
|
-
- NO eval() or Function constructor
|
|
68
|
-
- NO dynamic imports`,
|
|
69
|
-
permissive: `
|
|
70
|
-
- File system access allowed with path validation
|
|
71
|
-
- Network requests allowed
|
|
72
|
-
- NO eval() or Function constructor`,
|
|
73
|
-
};
|
|
74
|
-
const security = constraints?.securityLevel || 'strict';
|
|
75
|
-
const maxLines = constraints?.maxLines || 100;
|
|
76
|
-
return `Generate a plain JavaScript tool implementation for the following capability gap.
|
|
77
|
-
|
|
78
|
-
CAPABILITY GAP:
|
|
79
|
-
- Description: ${gap.description}
|
|
80
|
-
- Required: ${gap.requiredCapability}
|
|
81
|
-
- Suggested name: ${gap.suggestedToolName}
|
|
82
|
-
- Complexity: ${gap.complexity}
|
|
83
|
-
|
|
84
|
-
EXISTING TOOLS (avoid duplication):
|
|
85
|
-
${existingTools.map((t) => `- ${t.name}: ${t.description}`).join('\n')}
|
|
43
|
+
export function buildToolGenerationPrompt(gap, _existingTools, _constraints) {
|
|
44
|
+
return `Create a tool named "${gap.suggestedToolName}".
|
|
45
|
+
Task: ${gap.description}
|
|
46
|
+
Formula/Logic: ${gap.requiredCapability}
|
|
86
47
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
- Security level: ${security}
|
|
90
|
-
- MUST use plain JavaScript (ES2020+), NO TypeScript syntax, NO type annotations, NO interfaces
|
|
91
|
-
- The "implementation" field must define an async function called "execute" that takes a plain object "params"
|
|
92
|
-
${securityRules[security]}
|
|
93
|
-
${constraints?.allowedModules ? `- Allowed modules: ${constraints.allowedModules.join(', ')}` : ''}
|
|
94
|
-
|
|
95
|
-
Generate a complete, self-contained tool following this exact structure:
|
|
96
|
-
{
|
|
97
|
-
"name": "${gap.suggestedToolName}",
|
|
98
|
-
"description": "Clear description",
|
|
99
|
-
"implementation": "async function execute(params) { ... }",
|
|
100
|
-
"parameters": {
|
|
101
|
-
"type": "object",
|
|
102
|
-
"properties": { ... },
|
|
103
|
-
"required": [ ... ]
|
|
104
|
-
},
|
|
105
|
-
"reasoning": "Implementation rationale"
|
|
106
|
-
}`;
|
|
48
|
+
Respond with ONLY this JSON (no other text):
|
|
49
|
+
{"name":"${gap.suggestedToolName}","description":"${gap.description}","implementation":"async function execute(params) { try { /* YOUR CODE HERE */ } catch(e) { throw e; } }","parameters":{"type":"object","properties":{/* DEFINE PARAMS */},"required":[/* REQUIRED PARAMS */]},"reasoning":"explanation"}`;
|
|
107
50
|
}
|
|
108
51
|
export function buildToolValidationPrompt(tool, testCases) {
|
|
109
52
|
return `Validate the following generated tool for correctness, safety, and edge cases.
|
|
@@ -207,31 +150,46 @@ export function parseGapAnalysisResponse(response) {
|
|
|
207
150
|
}
|
|
208
151
|
export function parseToolGenerationResponse(response) {
|
|
209
152
|
const json = extractJson(response);
|
|
210
|
-
if (
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
return null;
|
|
153
|
+
if (json) {
|
|
154
|
+
try {
|
|
155
|
+
const parsed = JSON.parse(json);
|
|
156
|
+
if (parsed.name && parsed.implementation) {
|
|
157
|
+
return buildToolFromParsed(parsed);
|
|
158
|
+
}
|
|
217
159
|
}
|
|
218
|
-
|
|
219
|
-
id: `gen_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
|
|
220
|
-
name: String(parsed.name),
|
|
221
|
-
description: String(parsed.description || ''),
|
|
222
|
-
implementation: String(parsed.implementation),
|
|
223
|
-
parameters: parsed.parameters || { type: 'object', properties: {} },
|
|
224
|
-
createdAt: new Date(),
|
|
225
|
-
version: 1,
|
|
226
|
-
status: 'pending_validation',
|
|
227
|
-
metadata: {
|
|
228
|
-
reasoning: parsed.reasoning ? String(parsed.reasoning) : undefined,
|
|
229
|
-
},
|
|
230
|
-
};
|
|
160
|
+
catch { }
|
|
231
161
|
}
|
|
232
|
-
|
|
233
|
-
|
|
162
|
+
const fnRegex = /(?:async\s+)?function\s+execute\s*\([^)]*\)\s*\{[\s\S]*?\n\}/;
|
|
163
|
+
const fnMatch = fnRegex.exec(response);
|
|
164
|
+
if (fnMatch) {
|
|
165
|
+
const nameRegex = /["']?name["']?\s*[:=]\s*["']([^"']+)["']/;
|
|
166
|
+
const nameMatch = nameRegex.exec(response);
|
|
167
|
+
return buildToolFromParsed({
|
|
168
|
+
name: nameMatch?.[1] ?? 'generated_tool',
|
|
169
|
+
description: '',
|
|
170
|
+
implementation: fnMatch[0],
|
|
171
|
+
parameters: { type: 'object', properties: {} },
|
|
172
|
+
});
|
|
234
173
|
}
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
function buildToolFromParsed(parsed) {
|
|
177
|
+
return {
|
|
178
|
+
id: `gen_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
|
|
179
|
+
name: String(parsed.name),
|
|
180
|
+
description: String(parsed.description || ''),
|
|
181
|
+
implementation: String(parsed.implementation),
|
|
182
|
+
parameters: parsed.parameters || {
|
|
183
|
+
type: 'object',
|
|
184
|
+
properties: {},
|
|
185
|
+
},
|
|
186
|
+
createdAt: new Date(),
|
|
187
|
+
version: 1,
|
|
188
|
+
status: 'pending_validation',
|
|
189
|
+
metadata: {
|
|
190
|
+
reasoning: parsed.reasoning ? String(parsed.reasoning) : undefined,
|
|
191
|
+
},
|
|
192
|
+
};
|
|
235
193
|
}
|
|
236
194
|
export function parseValidationResponse(response) {
|
|
237
195
|
const json = extractJson(response);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tool-generation/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,6BAA6B,GAAG
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tool-generation/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-generator.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAW7B,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,EAAE,oBAAoB;IAYnC,QAAQ,CACZ,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,IAAI,EAAE,EACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAC9D,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-generator.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAW7B,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,EAAE,oBAAoB;IAYnC,QAAQ,CACZ,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,IAAI,EAAE,EACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAC9D,OAAO,CAAC,gBAAgB,CAAC;IAgEtB,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAelB,eAAe;YAoCf,OAAO;IA+BrB,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;YA4BtC,OAAO;CAStB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { ToolValidator } from './tool-validator';
|
|
3
|
-
import { ToolSandbox } from './tool-sandbox';
|
|
4
|
-
import { TOOL_GENERATION_SYSTEM_PROMPT, buildToolGenerationPrompt, buildToolImprovementPrompt, parseToolGenerationResponse, } from './prompts';
|
|
2
|
+
import { ToolValidator } from './tool-validator.js';
|
|
3
|
+
import { ToolSandbox } from './tool-sandbox.js';
|
|
4
|
+
import { TOOL_GENERATION_SYSTEM_PROMPT, buildToolGenerationPrompt, buildToolImprovementPrompt, parseToolGenerationResponse, } from './prompts.js';
|
|
5
5
|
export class ToolGenerator {
|
|
6
6
|
llm;
|
|
7
7
|
config;
|
|
@@ -34,13 +34,7 @@ export class ToolGenerator {
|
|
|
34
34
|
currentTool = await this.improve(currentTool, validationResult, iterations);
|
|
35
35
|
}
|
|
36
36
|
if (!currentTool) {
|
|
37
|
-
|
|
38
|
-
tool: null,
|
|
39
|
-
validationResult: null,
|
|
40
|
-
iterations,
|
|
41
|
-
success: false,
|
|
42
|
-
error: 'Failed to generate tool implementation',
|
|
43
|
-
};
|
|
37
|
+
continue;
|
|
44
38
|
}
|
|
45
39
|
validationResult = await this.validator.validate(currentTool, testCases);
|
|
46
40
|
if (validationResult.isValid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-generator.js","sourceRoot":"","sources":["../../src/tool-generation/tool-generator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAgB,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AAgBnB,MAAM,OAAO,aAAa;IACP,GAAG,CAAa;IAChB,MAAM,CAA2B;IACjC,KAAK,CAAS;IACd,SAAS,CAAgB;IACzB,OAAO,CAAc;IAEtC,YAAY,OAA6B;QACvC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,GAAkB,EAClB,aAAqB,EACrB,SAA+D;QAE/D,IAAI,WAAW,GAAyB,IAAI,CAAC;QAC7C,IAAI,gBAAgB,GAAgC,IAAI,CAAC;QACzD,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAE5D,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;YAClC,UAAU,EAAE,CAAC;YAEb,IAAI,CAAC;gBACH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBACzB,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,gBAAgB,EAAE,CAAC;oBAC5B,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;gBAC9E,CAAC;gBAED,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,
|
|
1
|
+
{"version":3,"file":"tool-generator.js","sourceRoot":"","sources":["../../src/tool-generation/tool-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-sandbox.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/F,eAAO,MAAM,sBAAsB,EAAE,iBAMpC,CAAC;AAyBF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAEzB,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAI7C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuCzE,aAAa,CACjB,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GACpF,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,KAAK,CAAC;YACb,KAAK,EAAE,OAAO,CAAC;YACf,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,OAAO,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;KACJ,CAAC;IAqCF,OAAO,CAAC,sBAAsB;IAgD9B,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,kBAAkB;YAgBZ,kBAAkB;YAgClB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"tool-sandbox.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/F,eAAO,MAAM,sBAAsB,EAAE,iBAMpC,CAAC;AAyBF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAEzB,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAI7C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuCzE,aAAa,CACjB,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GACpF,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,KAAK,CAAC;YACb,KAAK,EAAE,OAAO,CAAC;YACf,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,OAAO,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;KACJ,CAAC;IAqCF,OAAO,CAAC,sBAAsB;IAgD9B,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,kBAAkB;YAgBZ,kBAAkB;YAgClB,kBAAkB;IA2ChC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,SAAS;CAsBlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-sandbox.js","sourceRoot":"","sources":["../../src/tool-generation/tool-sandbox.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-sandbox.js","sourceRoot":"","sources":["../../src/tool-generation/tool-sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ToolSandbox } from './tool-sandbox';
|
|
2
|
-
import { buildToolValidationPrompt, parseValidationResponse } from './prompts';
|
|
1
|
+
import { ToolSandbox } from './tool-sandbox.js';
|
|
2
|
+
import { buildToolValidationPrompt, parseValidationResponse } from './prompts.js';
|
|
3
3
|
const STATIC_VALIDATION_RULES = [
|
|
4
4
|
{
|
|
5
5
|
id: 'no_eval',
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0DvD"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
export { llmChat } from './llm-helper';
|
|
1
|
+
export { llmChat } from './llm-helper.js';
|
|
2
2
|
export function extractJson(text) {
|
|
3
|
-
|
|
3
|
+
let cleaned = text;
|
|
4
|
+
const codeBlockRegex = /```(?:json)?\s*\n?([\s\S]*?)```/;
|
|
5
|
+
const codeBlockMatch = codeBlockRegex.exec(cleaned);
|
|
6
|
+
if (codeBlockMatch) {
|
|
7
|
+
cleaned = codeBlockMatch[1].trim();
|
|
8
|
+
}
|
|
9
|
+
const start = cleaned.indexOf('{');
|
|
4
10
|
if (start === -1)
|
|
5
11
|
return null;
|
|
6
12
|
let depth = 0;
|
|
7
13
|
let inString = false;
|
|
8
14
|
let escape = false;
|
|
9
|
-
for (let i = start; i <
|
|
10
|
-
const ch =
|
|
15
|
+
for (let i = start; i < cleaned.length; i++) {
|
|
16
|
+
const ch = cleaned[i];
|
|
11
17
|
if (escape) {
|
|
12
18
|
escape = false;
|
|
13
19
|
continue;
|
|
@@ -27,10 +33,22 @@ export function extractJson(text) {
|
|
|
27
33
|
else if (ch === '}') {
|
|
28
34
|
depth--;
|
|
29
35
|
if (depth === 0) {
|
|
30
|
-
return
|
|
36
|
+
return cleaned.slice(start, i + 1);
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
39
|
}
|
|
40
|
+
if (depth > 0) {
|
|
41
|
+
let repaired = cleaned.slice(start);
|
|
42
|
+
repaired = repaired.replace(/,\s*$/, '');
|
|
43
|
+
repaired += '}'.repeat(depth);
|
|
44
|
+
try {
|
|
45
|
+
JSON.parse(repaired);
|
|
46
|
+
return repaired;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
34
52
|
return null;
|
|
35
53
|
}
|
|
36
54
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,MAAM,cAAc,GAAG,iCAAiC,CAAC;IACzD,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,KAAK,CAAC;YACf,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,QAAQ;YAAE,SAAS;QAEvB,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACpB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -41,10 +41,11 @@ describe('SelfModifyingAgent tool execution', () => {
|
|
|
41
41
|
const calculator = createMockTool('calculator', { result: 42 });
|
|
42
42
|
|
|
43
43
|
const mockLLM: Partial<LLMBackend> = {
|
|
44
|
-
chat: vi
|
|
45
|
-
.
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
chat: vi
|
|
45
|
+
.fn()
|
|
46
|
+
.mockResolvedValueOnce(
|
|
47
|
+
chatResponse('', [{ id: 'call_1', name: 'calculator', arguments: { input: '6*7' } }])
|
|
48
|
+
)
|
|
48
49
|
.mockResolvedValueOnce(chatResponse('The answer is 42.')),
|
|
49
50
|
};
|
|
50
51
|
|
|
@@ -66,7 +67,7 @@ describe('SelfModifyingAgent tool execution', () => {
|
|
|
66
67
|
expect(calculator.execute).toHaveBeenCalledOnce();
|
|
67
68
|
expect(calculator.execute).toHaveBeenCalledWith(
|
|
68
69
|
{ input: '6*7' },
|
|
69
|
-
expect.objectContaining({ agentId: 'test-agent' })
|
|
70
|
+
expect.objectContaining({ agentId: 'test-agent' })
|
|
70
71
|
);
|
|
71
72
|
|
|
72
73
|
const chatCalls = vi.mocked(mockLLM.chat!).mock.calls;
|
|
@@ -80,13 +81,14 @@ describe('SelfModifyingAgent tool execution', () => {
|
|
|
80
81
|
const format = createMockTool('format', { text: 'formatted result' });
|
|
81
82
|
|
|
82
83
|
const mockLLM: Partial<LLMBackend> = {
|
|
83
|
-
chat: vi
|
|
84
|
-
.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
chat: vi
|
|
85
|
+
.fn()
|
|
86
|
+
.mockResolvedValueOnce(
|
|
87
|
+
chatResponse('', [{ id: 'call_1', name: 'search', arguments: { input: 'test' } }])
|
|
88
|
+
)
|
|
89
|
+
.mockResolvedValueOnce(
|
|
90
|
+
chatResponse('', [{ id: 'call_2', name: 'format', arguments: { input: 'found it' } }])
|
|
91
|
+
)
|
|
90
92
|
.mockResolvedValueOnce(chatResponse('Here is your formatted result.')),
|
|
91
93
|
};
|
|
92
94
|
|
|
@@ -115,10 +117,11 @@ describe('SelfModifyingAgent tool execution', () => {
|
|
|
115
117
|
(failTool.execute as ReturnType<typeof vi.fn>).mockRejectedValue(new Error('tool crashed'));
|
|
116
118
|
|
|
117
119
|
const mockLLM: Partial<LLMBackend> = {
|
|
118
|
-
chat: vi
|
|
119
|
-
.
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
chat: vi
|
|
121
|
+
.fn()
|
|
122
|
+
.mockResolvedValueOnce(
|
|
123
|
+
chatResponse('', [{ id: 'call_1', name: 'broken', arguments: { input: 'test' } }])
|
|
124
|
+
)
|
|
122
125
|
.mockResolvedValueOnce(chatResponse('The tool failed but I can help anyway.')),
|
|
123
126
|
};
|
|
124
127
|
|
|
@@ -144,10 +147,11 @@ describe('SelfModifyingAgent tool execution', () => {
|
|
|
144
147
|
|
|
145
148
|
it('handles unknown tool calls', async () => {
|
|
146
149
|
const mockLLM: Partial<LLMBackend> = {
|
|
147
|
-
chat: vi
|
|
148
|
-
.
|
|
149
|
-
|
|
150
|
-
|
|
150
|
+
chat: vi
|
|
151
|
+
.fn()
|
|
152
|
+
.mockResolvedValueOnce(
|
|
153
|
+
chatResponse('', [{ id: 'call_1', name: 'nonexistent', arguments: { input: 'x' } }])
|
|
154
|
+
)
|
|
151
155
|
.mockResolvedValueOnce(chatResponse('I could not find that tool.')),
|
|
152
156
|
};
|
|
153
157
|
|
|
@@ -8,7 +8,9 @@ describe('extractJson', () => {
|
|
|
8
8
|
});
|
|
9
9
|
|
|
10
10
|
it('extracts JSON from surrounding text', () => {
|
|
11
|
-
const result = extractJson(
|
|
11
|
+
const result = extractJson(
|
|
12
|
+
'Here is the result: {"onTrack": true, "confidence": 0.8} and that is it.'
|
|
13
|
+
);
|
|
12
14
|
expect(result).toBe('{"onTrack": true, "confidence": 0.8}');
|
|
13
15
|
});
|
|
14
16
|
|
|
@@ -53,6 +55,25 @@ describe('extractJson', () => {
|
|
|
53
55
|
const result = extractJson('{"items": [1, 2, {"nested": true}]}');
|
|
54
56
|
expect(JSON.parse(result!)).toEqual({ items: [1, 2, { nested: true }] });
|
|
55
57
|
});
|
|
58
|
+
|
|
59
|
+
it('extracts JSON from markdown code blocks', () => {
|
|
60
|
+
const input = 'Here is the tool:\n```json\n{"name": "calc", "implementation": "code"}\n```';
|
|
61
|
+
const result = extractJson(input);
|
|
62
|
+
expect(JSON.parse(result!)).toEqual({ name: 'calc', implementation: 'code' });
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it('repairs unclosed JSON by adding missing braces', () => {
|
|
66
|
+
const input = '{"name": "test", "value": 42';
|
|
67
|
+
const result = extractJson(input);
|
|
68
|
+
expect(result).not.toBeNull();
|
|
69
|
+
expect(JSON.parse(result!)).toEqual({ name: 'test', value: 42 });
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('returns null for unrepairable JSON', () => {
|
|
73
|
+
const input = '{"name": "test", "bad: ';
|
|
74
|
+
const result = extractJson(input);
|
|
75
|
+
expect(result).toBeNull();
|
|
76
|
+
});
|
|
56
77
|
});
|
|
57
78
|
|
|
58
79
|
describe('llmChat', () => {
|
|
@@ -92,7 +92,10 @@ export class ModificationValidator {
|
|
|
92
92
|
return this.evaluateExpression(rule, request.payload as Record<string, unknown>);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
return this.evaluateExpression(
|
|
95
|
+
return this.evaluateExpression(
|
|
96
|
+
rule.expression ?? '',
|
|
97
|
+
request.payload as Record<string, unknown>
|
|
98
|
+
);
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
private evaluateExpression(expression: string, context: Record<string, unknown>): boolean {
|
|
@@ -112,7 +112,9 @@ export class MetaReasoner {
|
|
|
112
112
|
return context.stagnationCount >= this.config.triggerOnProgressStall;
|
|
113
113
|
|
|
114
114
|
case 'periodic':
|
|
115
|
-
return
|
|
115
|
+
return (
|
|
116
|
+
context.iteration > 0 && context.iteration % this.config.triggerAfterIterations === 0
|
|
117
|
+
);
|
|
116
118
|
|
|
117
119
|
case 'tool_call_failed':
|
|
118
120
|
return true;
|
|
@@ -72,7 +72,11 @@ export class SelfModifyingAgent {
|
|
|
72
72
|
const toolGenConfig = this.config.toolGeneration;
|
|
73
73
|
const agentModel = this.agent.model;
|
|
74
74
|
this.gapAnalyzer = new GapAnalyzer({ llm: this.llm, config: toolGenConfig, model: agentModel });
|
|
75
|
-
this.toolGenerator = new ToolGenerator({
|
|
75
|
+
this.toolGenerator = new ToolGenerator({
|
|
76
|
+
llm: this.llm,
|
|
77
|
+
config: toolGenConfig,
|
|
78
|
+
model: agentModel,
|
|
79
|
+
});
|
|
76
80
|
this.toolStore = new InMemoryGeneratedToolStore();
|
|
77
81
|
|
|
78
82
|
this.metaReasoner = new MetaReasoner({
|
|
@@ -432,7 +436,10 @@ export class SelfModifyingAgent {
|
|
|
432
436
|
...defaults.architectureEvolution,
|
|
433
437
|
...partial.architectureEvolution,
|
|
434
438
|
strategy: partial.architectureEvolution?.strategy
|
|
435
|
-
? {
|
|
439
|
+
? {
|
|
440
|
+
...defaults.architectureEvolution.strategy,
|
|
441
|
+
...partial.architectureEvolution.strategy,
|
|
442
|
+
}
|
|
436
443
|
: defaults.architectureEvolution.strategy,
|
|
437
444
|
},
|
|
438
445
|
constraints: { ...defaults.constraints, ...partial.constraints },
|
|
@@ -674,17 +681,16 @@ export class SelfModifyingAgent {
|
|
|
674
681
|
}
|
|
675
682
|
|
|
676
683
|
private buildToolSchemas(tools: Tool[]): ToolSchema[] {
|
|
677
|
-
return tools
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
});
|
|
684
|
+
return tools.map((t) => {
|
|
685
|
+
if (typeof t.toJSON === 'function') {
|
|
686
|
+
return t.toJSON() as ToolSchema;
|
|
687
|
+
}
|
|
688
|
+
return {
|
|
689
|
+
name: t.name,
|
|
690
|
+
description: t.description,
|
|
691
|
+
parameters: { type: 'object' as const, properties: {} },
|
|
692
|
+
};
|
|
693
|
+
});
|
|
688
694
|
}
|
|
689
695
|
|
|
690
696
|
private estimateConfidence(output: string): number {
|