@cogitator-ai/self-modifying 17.0.11 → 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.d.ts +2 -0
- package/dist/architecture-evolution/capability-analyzer.d.ts.map +1 -1
- package/dist/architecture-evolution/capability-analyzer.js +4 -2
- package/dist/architecture-evolution/capability-analyzer.js.map +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.d.ts +2 -0
- package/dist/architecture-evolution/parameter-optimizer.d.ts.map +1 -1
- package/dist/architecture-evolution/parameter-optimizer.js +7 -4
- package/dist/architecture-evolution/parameter-optimizer.js.map +1 -1
- 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 +21 -12
- package/dist/self-modifying-agent.js.map +1 -1
- package/dist/tool-generation/gap-analyzer.d.ts +2 -0
- package/dist/tool-generation/gap-analyzer.d.ts.map +1 -1
- package/dist/tool-generation/gap-analyzer.js +4 -2
- package/dist/tool-generation/gap-analyzer.js.map +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 +2 -0
- package/dist/tool-generation/tool-generator.d.ts.map +1 -1
- package/dist/tool-generation/tool-generator.js +8 -11
- 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.d.ts +2 -0
- package/dist/tool-generation/tool-validator.d.ts.map +1 -1
- package/dist/tool-generation/tool-validator.js +5 -3
- package/dist/tool-generation/tool-validator.js.map +1 -1
- 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/architecture-evolution/capability-analyzer.ts +4 -1
- package/src/architecture-evolution/parameter-optimizer.ts +5 -1
- package/src/constraints/modification-validator.ts +4 -1
- package/src/meta-reasoning/meta-reasoner.ts +3 -1
- package/src/self-modifying-agent.ts +25 -16
- package/src/tool-generation/gap-analyzer.ts +4 -1
- package/src/tool-generation/prompts.ts +55 -98
- package/src/tool-generation/tool-generator.ts +6 -8
- package/src/tool-generation/tool-sandbox.ts +2 -1
- package/src/tool-generation/tool-validator.ts +4 -1
- package/src/utils/index.ts +24 -4
|
@@ -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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"}
|
|
@@ -2,6 +2,7 @@ import type { GeneratedTool, ToolValidationResult, LLMBackend, ToolSelfGeneratio
|
|
|
2
2
|
export interface ToolValidatorOptions {
|
|
3
3
|
llm?: LLMBackend;
|
|
4
4
|
config: ToolSelfGenerationConfig;
|
|
5
|
+
model?: string;
|
|
5
6
|
}
|
|
6
7
|
interface ValidationRule {
|
|
7
8
|
id: string;
|
|
@@ -12,6 +13,7 @@ interface ValidationRule {
|
|
|
12
13
|
export declare class ToolValidator {
|
|
13
14
|
private readonly llm?;
|
|
14
15
|
private readonly config;
|
|
16
|
+
private readonly model;
|
|
15
17
|
private readonly sandbox;
|
|
16
18
|
private readonly customRules;
|
|
17
19
|
constructor(options: ToolValidatorOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-validator.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-validator.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;CAC7D;AAyHD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAExC,OAAO,EAAE,oBAAoB;IAOnC,QAAQ,CACZ,IAAI,EAAE,aAAa,EACnB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GACrF,OAAO,CAAC,oBAAoB,CAAC;IAuEhC,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAInC,OAAO,CAAC,iBAAiB;YAsBX,gBAAgB;IAsC9B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,cAAc;YAuBR,OAAO;CAUtB"}
|
|
@@ -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',
|
|
@@ -139,11 +139,13 @@ const STATIC_VALIDATION_RULES = [
|
|
|
139
139
|
export class ToolValidator {
|
|
140
140
|
llm;
|
|
141
141
|
config;
|
|
142
|
+
model;
|
|
142
143
|
sandbox;
|
|
143
144
|
customRules = [];
|
|
144
145
|
constructor(options) {
|
|
145
146
|
this.llm = options.llm;
|
|
146
147
|
this.config = options.config;
|
|
148
|
+
this.model = options.model ?? 'default';
|
|
147
149
|
this.sandbox = new ToolSandbox(options.config.sandboxConfig);
|
|
148
150
|
}
|
|
149
151
|
async validate(tool, testCases) {
|
|
@@ -295,7 +297,7 @@ Be thorough but practical - focus on real issues.`,
|
|
|
295
297
|
if (this.llm.complete) {
|
|
296
298
|
return this.llm.complete({ messages, temperature });
|
|
297
299
|
}
|
|
298
|
-
return this.llm.chat({ model:
|
|
300
|
+
return this.llm.chat({ model: this.model, messages, temperature });
|
|
299
301
|
}
|
|
300
302
|
}
|
|
301
303
|
//# sourceMappingURL=tool-validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-validator.js","sourceRoot":"","sources":["../../src/tool-generation/tool-validator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-validator.js","sourceRoot":"","sources":["../../src/tool-generation/tool-validator.ts"],"names":[],"mappings":"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"}
|
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', () => {
|
|
@@ -4,6 +4,7 @@ import { buildTaskProfilePrompt, parseTaskProfileResponse } from './prompts';
|
|
|
4
4
|
export interface CapabilityAnalyzerOptions {
|
|
5
5
|
llm?: LLMBackend;
|
|
6
6
|
enableLLMAnalysis?: boolean;
|
|
7
|
+
model?: string;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
interface DomainKeywords {
|
|
@@ -126,12 +127,14 @@ const COMPLEXITY_INDICATORS = {
|
|
|
126
127
|
export class CapabilityAnalyzer {
|
|
127
128
|
private readonly llm?: LLMBackend;
|
|
128
129
|
private readonly enableLLMAnalysis: boolean;
|
|
130
|
+
private readonly model: string;
|
|
129
131
|
private readonly profileCache = new Map<string, { profile: TaskProfile; timestamp: number }>();
|
|
130
132
|
private readonly cacheTTL = 60000;
|
|
131
133
|
|
|
132
134
|
constructor(options: CapabilityAnalyzerOptions = {}) {
|
|
133
135
|
this.llm = options.llm;
|
|
134
136
|
this.enableLLMAnalysis = options.enableLLMAnalysis ?? false;
|
|
137
|
+
this.model = options.model ?? 'default';
|
|
135
138
|
}
|
|
136
139
|
|
|
137
140
|
async analyzeTask(
|
|
@@ -199,7 +202,7 @@ export class CapabilityAnalyzer {
|
|
|
199
202
|
temperature: 0.2,
|
|
200
203
|
})
|
|
201
204
|
: await llm.chat({
|
|
202
|
-
model:
|
|
205
|
+
model: this.model,
|
|
203
206
|
messages: [
|
|
204
207
|
{
|
|
205
208
|
role: 'system',
|
|
@@ -19,6 +19,7 @@ export interface ParameterOptimizerOptions {
|
|
|
19
19
|
llm: LLMBackend;
|
|
20
20
|
config: ArchitectureEvolutionConfig;
|
|
21
21
|
baseConfig: ArchitectureConfig;
|
|
22
|
+
model?: string;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export interface OptimizationResult {
|
|
@@ -41,6 +42,7 @@ interface HistoricalRecord {
|
|
|
41
42
|
export class ParameterOptimizer {
|
|
42
43
|
private readonly llm: LLMBackend;
|
|
43
44
|
private readonly config: ArchitectureEvolutionConfig;
|
|
45
|
+
private readonly model: string;
|
|
44
46
|
private readonly baseConfig: ArchitectureConfig;
|
|
45
47
|
private readonly capabilityAnalyzer: CapabilityAnalyzer;
|
|
46
48
|
private readonly evolutionStrategy: EvolutionStrategy;
|
|
@@ -54,11 +56,13 @@ export class ParameterOptimizer {
|
|
|
54
56
|
constructor(options: ParameterOptimizerOptions) {
|
|
55
57
|
this.llm = options.llm;
|
|
56
58
|
this.config = options.config;
|
|
59
|
+
this.model = options.model ?? 'default';
|
|
57
60
|
this.baseConfig = options.baseConfig;
|
|
58
61
|
|
|
59
62
|
this.capabilityAnalyzer = new CapabilityAnalyzer({
|
|
60
63
|
llm: options.llm,
|
|
61
64
|
enableLLMAnalysis: true,
|
|
65
|
+
model: options.model,
|
|
62
66
|
});
|
|
63
67
|
|
|
64
68
|
this.evolutionStrategy = new EvolutionStrategy({
|
|
@@ -488,7 +492,7 @@ export class ParameterOptimizer {
|
|
|
488
492
|
if (this.llm.complete) {
|
|
489
493
|
return this.llm.complete({ messages, temperature });
|
|
490
494
|
}
|
|
491
|
-
return this.llm.chat({ model:
|
|
495
|
+
return this.llm.chat({ model: this.model, messages, temperature });
|
|
492
496
|
}
|
|
493
497
|
|
|
494
498
|
getCandidates(): EvolutionCandidate[] {
|
|
@@ -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;
|
|
@@ -70,18 +70,23 @@ export class SelfModifyingAgent {
|
|
|
70
70
|
this.config = this.mergeConfig(options.config);
|
|
71
71
|
|
|
72
72
|
const toolGenConfig = this.config.toolGeneration;
|
|
73
|
-
|
|
74
|
-
this.
|
|
73
|
+
const agentModel = this.agent.model;
|
|
74
|
+
this.gapAnalyzer = new GapAnalyzer({ llm: this.llm, config: toolGenConfig, model: agentModel });
|
|
75
|
+
this.toolGenerator = new ToolGenerator({
|
|
76
|
+
llm: this.llm,
|
|
77
|
+
config: toolGenConfig,
|
|
78
|
+
model: agentModel,
|
|
79
|
+
});
|
|
75
80
|
this.toolStore = new InMemoryGeneratedToolStore();
|
|
76
81
|
|
|
77
82
|
this.metaReasoner = new MetaReasoner({
|
|
78
83
|
llm: this.llm,
|
|
79
|
-
model: 'default',
|
|
84
|
+
model: agentModel ?? 'default',
|
|
80
85
|
config: this.config.metaReasoning,
|
|
81
86
|
});
|
|
82
87
|
|
|
83
88
|
const baseArchConfig: ArchitectureConfig = {
|
|
84
|
-
model: 'default',
|
|
89
|
+
model: agentModel ?? 'default',
|
|
85
90
|
temperature: 0.7,
|
|
86
91
|
maxTokens: 4096,
|
|
87
92
|
toolStrategy: 'sequential',
|
|
@@ -92,11 +97,13 @@ export class SelfModifyingAgent {
|
|
|
92
97
|
llm: this.llm,
|
|
93
98
|
config: this.config.architectureEvolution,
|
|
94
99
|
baseConfig: baseArchConfig,
|
|
100
|
+
model: agentModel,
|
|
95
101
|
});
|
|
96
102
|
|
|
97
103
|
this.capabilityAnalyzer = new CapabilityAnalyzer({
|
|
98
104
|
llm: this.llm,
|
|
99
105
|
enableLLMAnalysis: true,
|
|
106
|
+
model: agentModel,
|
|
100
107
|
});
|
|
101
108
|
|
|
102
109
|
this.modificationValidator = new ModificationValidator({
|
|
@@ -429,7 +436,10 @@ export class SelfModifyingAgent {
|
|
|
429
436
|
...defaults.architectureEvolution,
|
|
430
437
|
...partial.architectureEvolution,
|
|
431
438
|
strategy: partial.architectureEvolution?.strategy
|
|
432
|
-
? {
|
|
439
|
+
? {
|
|
440
|
+
...defaults.architectureEvolution.strategy,
|
|
441
|
+
...partial.architectureEvolution.strategy,
|
|
442
|
+
}
|
|
433
443
|
: defaults.architectureEvolution.strategy,
|
|
434
444
|
},
|
|
435
445
|
constraints: { ...defaults.constraints, ...partial.constraints },
|
|
@@ -671,17 +681,16 @@ export class SelfModifyingAgent {
|
|
|
671
681
|
}
|
|
672
682
|
|
|
673
683
|
private buildToolSchemas(tools: Tool[]): ToolSchema[] {
|
|
674
|
-
return tools
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
});
|
|
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
|
+
});
|
|
685
694
|
}
|
|
686
695
|
|
|
687
696
|
private estimateConfidence(output: string): number {
|
|
@@ -10,16 +10,19 @@ import { buildGapAnalysisPrompt, parseGapAnalysisResponse } from './prompts';
|
|
|
10
10
|
export interface GapAnalyzerOptions {
|
|
11
11
|
llm: LLMBackend;
|
|
12
12
|
config: ToolSelfGenerationConfig;
|
|
13
|
+
model?: string;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export class GapAnalyzer {
|
|
16
17
|
private readonly llm: LLMBackend;
|
|
17
18
|
private readonly config: ToolSelfGenerationConfig;
|
|
19
|
+
private readonly model: string;
|
|
18
20
|
private readonly analysisCache = new Map<string, GapAnalysisResult>();
|
|
19
21
|
|
|
20
22
|
constructor(options: GapAnalyzerOptions) {
|
|
21
23
|
this.llm = options.llm;
|
|
22
24
|
this.config = options.config;
|
|
25
|
+
this.model = options.model ?? 'default';
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
async analyze(
|
|
@@ -233,6 +236,6 @@ Consider tool composition before suggesting new tools.`,
|
|
|
233
236
|
if (this.llm.complete) {
|
|
234
237
|
return this.llm.complete({ messages, temperature });
|
|
235
238
|
}
|
|
236
|
-
return this.llm.chat({ model:
|
|
239
|
+
return this.llm.chat({ model: this.model, messages, temperature });
|
|
237
240
|
}
|
|
238
241
|
}
|