@cogitator-ai/self-modifying 19.3.0 → 19.3.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/tool-generation/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG9F,eAAO,MAAM,6BAA6B,6uBASiW,CAAC;AAsB5Y,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5D,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CAuCR;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3D,WAAW,CAAC,EAAE;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,GACA,MAAM,CAiDR;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,MAAM,CA+BR;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,aAAa,EACnB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,MAAM,GAChB,MAAM,CAqCR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAoCA;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAuClF;AA4DD,gDAAgD;AAChD,MAAM,WAAW,UAAW,SAAQ,oBAAoB;IACtD,kEAAkE;IAClE,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAClD;AAID,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+B3E"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/tool-generation/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI9F,eAAO,MAAM,6BAA6B,6uBASiW,CAAC;AAsB5Y,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5D,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CAuCR;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3D,WAAW,CAAC,EAAE;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,GACA,MAAM,CAiDR;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,MAAM,CA+BR;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,aAAa,EACnB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,MAAM,GAChB,MAAM,CAqCR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAoCA;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAuClF;AAoFD,gDAAgD;AAChD,MAAM,WAAW,UAAW,SAAQ,oBAAoB;IACtD,kEAAkE;IAClE,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAClD;AAID,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+B3E"}
@@ -1,3 +1,4 @@
1
+ import { Script } from 'node:vm';
1
2
  import { extractJson } from '../utils/index.js';
2
3
  export const TOOL_GENERATION_SYSTEM_PROMPT = `You generate JavaScript tools. Respond with ONLY a JSON object, no other text.
3
4
 
@@ -214,10 +215,10 @@ export function parseToolGenerationResponse(response) {
214
215
  }
215
216
  catch { }
216
217
  }
217
- const fnRegex = /(?:async\s+)?function\s+execute\s*\([^)]*\)\s*\{[\s\S]*\}/;
218
- const fnMatch = fnRegex.exec(response);
219
- if (fnMatch) {
220
- let impl = fnMatch[0];
218
+ const fnHeader = /(?:async\s+)?function\s+execute\s*\([^()]*\)\s*\{/.exec(response);
219
+ const lastBrace = response.lastIndexOf('}');
220
+ if (fnHeader && lastBrace >= fnHeader.index + fnHeader[0].length) {
221
+ let impl = response.slice(fnHeader.index, lastBrace + 1);
221
222
  let braceDepth = 0;
222
223
  let endIdx = impl.length;
223
224
  const firstBrace = impl.indexOf('{');
@@ -278,6 +279,31 @@ function parseExamples(value) {
278
279
  return [{ input: entry }];
279
280
  });
280
281
  }
282
+ function compiles(code) {
283
+ try {
284
+ new Script(`(async function () {\n${code}\n})`);
285
+ return true;
286
+ }
287
+ catch {
288
+ return false;
289
+ }
290
+ }
291
+ /**
292
+ * Some models escape the code twice, so it arrives on one line with literal `\n` and `\"`
293
+ * sequences that do not compile. Such code is unescaped once, and kept as is when that does not
294
+ * make it compile.
295
+ */
296
+ function repairEscapedImplementation(code) {
297
+ if (code.includes('\n') || !/\\[nrt"]/.test(code) || compiles(code))
298
+ return code;
299
+ try {
300
+ const unescaped = JSON.parse(`"${code}"`);
301
+ return typeof unescaped === 'string' && compiles(unescaped) ? unescaped : code;
302
+ }
303
+ catch {
304
+ return code;
305
+ }
306
+ }
281
307
  function buildToolFromParsed(parsed) {
282
308
  const examples = parseExamples(parsed.examples);
283
309
  const metadata = {};
@@ -289,7 +315,7 @@ function buildToolFromParsed(parsed) {
289
315
  id: `gen_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
290
316
  name: sanitizeToolName(String(parsed.name)),
291
317
  description: typeof parsed.description === 'string' ? parsed.description.trim() : '',
292
- implementation: String(parsed.implementation),
318
+ implementation: repairEscapedImplementation(String(parsed.implementation)),
293
319
  parameters: normalizeParameters(parsed.parameters),
294
320
  createdAt: new Date(),
295
321
  version: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tool-generation/prompts.ts"],"names":[],"mappings":"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"}
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-sandbox.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-sandbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/F,eAAO,MAAM,sBAAsB,EAAE,iBAMpC,CAAC;AA2IF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAI7C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKzE,aAAa,CACjB,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,eAAe,EAAE,GAC3B,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;YAuCY,GAAG;IAgCjB,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,eAAe;YA8FT,kBAAkB;CAmDjC;AA4BD,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEzD"}
1
+ {"version":3,"file":"tool-sandbox.d.ts","sourceRoot":"","sources":["../../src/tool-generation/tool-sandbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE/F,eAAO,MAAM,sBAAsB,EAAE,iBAMpC,CAAC;AAuJF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAI7C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKzE,aAAa,CACjB,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,eAAe,EAAE,GAC3B,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;YAuCY,GAAG;IAgCjB,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,eAAe;YA8FT,kBAAkB;CAmDjC;AA4BD,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEzD"}
@@ -81,10 +81,22 @@ const context = vm.createContext(Object.create(null), {
81
81
  codeGeneration: { strings: false, wasm: false },
82
82
  });
83
83
 
84
- let started = false;
84
+ let script;
85
85
  try {
86
+ script = new vm.Script(runner);
87
+ } catch (err) {
88
+ parentPort.postMessage({
89
+ success: false,
90
+ thrown: false,
91
+ error: 'Tool code does not compile: ' + (err && typeof err.message === 'string' ? err.message : String(err)),
92
+ logs: [],
93
+ });
94
+ }
95
+
96
+ let started = false;
97
+ if (script) try {
86
98
  vm.runInContext(BOOTSTRAP, context);
87
- vm.runInContext(runner, context, { timeout });
99
+ script.runInContext(context, { timeout });
88
100
  started = true;
89
101
  } catch (err) {
90
102
  const timedOut = err && err.code === 'ERR_SCRIPT_EXECUTION_TIMEOUT';
@@ -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 +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,CAkFvD"}
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,CAmFvD"}
@@ -1,10 +1,11 @@
1
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();
4
+ const fenceStart = text.indexOf('```');
5
+ const fenceEnd = fenceStart === -1 ? -1 : text.indexOf('```', fenceStart + 3);
6
+ if (fenceEnd !== -1) {
7
+ const bodyStart = text.startsWith('json', fenceStart + 3) ? fenceStart + 7 : fenceStart + 3;
8
+ cleaned = text.slice(bodyStart, fenceEnd).trim();
8
9
  }
9
10
  const objectStart = cleaned.indexOf('{');
10
11
  const arrayStart = cleaned.indexOf('[');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/self-modifying",
3
- "version": "19.3.0",
3
+ "version": "19.3.2",
4
4
  "description": "Self-modifying agent capabilities for Cogitator - tool generation, meta-reasoning, architecture evolution",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "node": ">=22.12.0"
21
21
  },
22
22
  "dependencies": {
23
- "@cogitator-ai/types": "0.30.0",
23
+ "@cogitator-ai/types": "0.31.0",
24
24
  "nanoid": "^6.0.1",
25
25
  "zod": "^4.6.5"
26
26
  },
@@ -134,6 +134,18 @@ describe('ToolSandbox.testWithCases', () => {
134
134
 
135
135
  expect(results.map((r) => r.passed)).toEqual([true, true, true, false, false]);
136
136
  });
137
+
138
+ it('does not count code that fails to compile as an error thrown by the tool', async () => {
139
+ const tool = makeTool(String.raw`async function execute(params) {\n return params.text;\n}`);
140
+
141
+ const { results } = await sandbox.testWithCases(tool, [
142
+ { input: { text: 'a' }, allowThrow: true },
143
+ { input: { text: 'a' }, shouldThrow: true },
144
+ ]);
145
+
146
+ expect(results.map((r) => r.passed)).toEqual([false, false]);
147
+ expect(results[0]?.error).toMatch(/^Tool code does not compile/);
148
+ });
137
149
  });
138
150
 
139
151
  describe('ToolSandbox without isolation', () => {
@@ -498,4 +498,26 @@ describe('Parsing functions', () => {
498
498
  expect(parsed).not.toBeNull();
499
499
  expect(parsed?.name).toBe('calculator');
500
500
  });
501
+
502
+ it('unescapes an implementation the model escaped twice', () => {
503
+ const escaped = String.raw`async function execute(params) {\n if (!params.text) throw new Error(\"text is required\");\n return params.text.split('').reverse().join('');\n}`;
504
+
505
+ const parsed = parseToolGenerationResponse(
506
+ JSON.stringify({ name: 'reverse_string', implementation: escaped })
507
+ );
508
+
509
+ expect(parsed?.implementation).toBe(
510
+ "async function execute(params) {\n if (!params.text) throw new Error(\"text is required\");\n return params.text.split('').reverse().join('');\n}"
511
+ );
512
+ });
513
+
514
+ it('keeps escape sequences that belong to valid code', () => {
515
+ const implementation = String.raw`async function execute(p) { return p.text.split('\n').length; }`;
516
+
517
+ const parsed = parseToolGenerationResponse(
518
+ JSON.stringify({ name: 'count_lines', implementation })
519
+ );
520
+
521
+ expect(parsed?.implementation).toBe(implementation);
522
+ });
501
523
  });
@@ -1,4 +1,5 @@
1
1
  import type { CapabilityGap, GeneratedTool, ToolValidationResult } from '@cogitator-ai/types';
2
+ import { Script } from 'node:vm';
2
3
  import { extractJson } from '../utils';
3
4
 
4
5
  export const TOOL_GENERATION_SYSTEM_PROMPT = `You generate JavaScript tools. Respond with ONLY a JSON object, no other text.
@@ -271,10 +272,10 @@ export function parseToolGenerationResponse(response: string): GeneratedTool | n
271
272
  } catch {}
272
273
  }
273
274
 
274
- const fnRegex = /(?:async\s+)?function\s+execute\s*\([^)]*\)\s*\{[\s\S]*\}/;
275
- const fnMatch = fnRegex.exec(response);
276
- if (fnMatch) {
277
- let impl = fnMatch[0];
275
+ const fnHeader = /(?:async\s+)?function\s+execute\s*\([^()]*\)\s*\{/.exec(response);
276
+ const lastBrace = response.lastIndexOf('}');
277
+ if (fnHeader && lastBrace >= fnHeader.index + fnHeader[0].length) {
278
+ let impl = response.slice(fnHeader.index, lastBrace + 1);
278
279
  let braceDepth = 0;
279
280
  let endIdx = impl.length;
280
281
  const firstBrace = impl.indexOf('{');
@@ -340,6 +341,30 @@ function parseExamples(value: unknown): Array<{ input: Record<string, unknown> }
340
341
  });
341
342
  }
342
343
 
344
+ function compiles(code: string): boolean {
345
+ try {
346
+ new Script(`(async function () {\n${code}\n})`);
347
+ return true;
348
+ } catch {
349
+ return false;
350
+ }
351
+ }
352
+
353
+ /**
354
+ * Some models escape the code twice, so it arrives on one line with literal `\n` and `\"`
355
+ * sequences that do not compile. Such code is unescaped once, and kept as is when that does not
356
+ * make it compile.
357
+ */
358
+ function repairEscapedImplementation(code: string): string {
359
+ if (code.includes('\n') || !/\\[nrt"]/.test(code) || compiles(code)) return code;
360
+ try {
361
+ const unescaped: unknown = JSON.parse(`"${code}"`);
362
+ return typeof unescaped === 'string' && compiles(unescaped) ? unescaped : code;
363
+ } catch {
364
+ return code;
365
+ }
366
+ }
367
+
343
368
  function buildToolFromParsed(parsed: Record<string, unknown>): GeneratedTool {
344
369
  const examples = parseExamples(parsed.examples);
345
370
  const metadata: Record<string, unknown> = {};
@@ -350,7 +375,7 @@ function buildToolFromParsed(parsed: Record<string, unknown>): GeneratedTool {
350
375
  id: `gen_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
351
376
  name: sanitizeToolName(String(parsed.name)),
352
377
  description: typeof parsed.description === 'string' ? parsed.description.trim() : '',
353
- implementation: String(parsed.implementation),
378
+ implementation: repairEscapedImplementation(String(parsed.implementation)),
354
379
  parameters: normalizeParameters(parsed.parameters),
355
380
  createdAt: new Date(),
356
381
  version: 1,
@@ -85,10 +85,22 @@ const context = vm.createContext(Object.create(null), {
85
85
  codeGeneration: { strings: false, wasm: false },
86
86
  });
87
87
 
88
- let started = false;
88
+ let script;
89
89
  try {
90
+ script = new vm.Script(runner);
91
+ } catch (err) {
92
+ parentPort.postMessage({
93
+ success: false,
94
+ thrown: false,
95
+ error: 'Tool code does not compile: ' + (err && typeof err.message === 'string' ? err.message : String(err)),
96
+ logs: [],
97
+ });
98
+ }
99
+
100
+ let started = false;
101
+ if (script) try {
90
102
  vm.runInContext(BOOTSTRAP, context);
91
- vm.runInContext(runner, context, { timeout });
103
+ script.runInContext(context, { timeout });
92
104
  started = true;
93
105
  } catch (err) {
94
106
  const timedOut = err && err.code === 'ERR_SCRIPT_EXECUTION_TIMEOUT';
@@ -3,10 +3,11 @@ export { llmChat } from './llm-helper';
3
3
  export function extractJson(text: string): string | null {
4
4
  let cleaned = text;
5
5
 
6
- const codeBlockRegex = /```(?:json)?\s*\n?([\s\S]*?)```/;
7
- const codeBlockMatch = codeBlockRegex.exec(cleaned);
8
- if (codeBlockMatch) {
9
- cleaned = codeBlockMatch[1].trim();
6
+ const fenceStart = text.indexOf('```');
7
+ const fenceEnd = fenceStart === -1 ? -1 : text.indexOf('```', fenceStart + 3);
8
+ if (fenceEnd !== -1) {
9
+ const bodyStart = text.startsWith('json', fenceStart + 3) ? fenceStart + 7 : fenceStart + 3;
10
+ cleaned = text.slice(bodyStart, fenceEnd).trim();
10
11
  }
11
12
 
12
13
  const objectStart = cleaned.indexOf('{');