From a7000ea970333d239c12546ac93a053301c96c87 Mon Sep 17 00:00:00 2001 From: Qu Yi Date: Fri, 3 Jan 2025 17:50:14 +0800 Subject: [PATCH] Merge code templates into codeTemplate.json --- bots/codeCheckTemplate.js | 10 ---------- bots/codeTemplate.json | 4 ++++ bots/template.js | 6 ------ settings.js | 2 +- src/agent/coder.js | 24 +++++++++++++++--------- 5 files changed, 20 insertions(+), 26 deletions(-) delete mode 100644 bots/codeCheckTemplate.js create mode 100644 bots/codeTemplate.json delete mode 100644 bots/template.js diff --git a/bots/codeCheckTemplate.js b/bots/codeCheckTemplate.js deleted file mode 100644 index 77b5d97..0000000 --- a/bots/codeCheckTemplate.js +++ /dev/null @@ -1,10 +0,0 @@ -import * as skills from '../../../src/agent/library/skills.js'; -import * as world from '../../../src/agent/library/world.js'; -import Vec3 from 'vec3'; - -const log = skills.log; - -export async function main(bot) { - /* CODE HERE */ - log(bot, 'Code finished.'); -} \ No newline at end of file diff --git a/bots/codeTemplate.json b/bots/codeTemplate.json new file mode 100644 index 0000000..3c861aa --- /dev/null +++ b/bots/codeTemplate.json @@ -0,0 +1,4 @@ +{ + "execTemplate": "(async (bot) => {\n\n /* CODE HERE */\n log(bot, 'Code finished.');\n\n});", + "checkTemplate": "import * as skills from '../../../src/agent/library/skills.js';\nimport * as world from '../../../src/agent/library/world.js';\nimport Vec3 from 'vec3';\n\nconst log = skills.log;\n\nexport async function main(bot) {\n /* CODE HERE */\n log(bot, 'Code finished.');\n}" +} diff --git a/bots/template.js b/bots/template.js deleted file mode 100644 index b7f270c..0000000 --- a/bots/template.js +++ /dev/null @@ -1,6 +0,0 @@ -(async (bot) => { - -/* CODE HERE */ -log(bot, 'Code finished.'); - -}) \ No newline at end of file diff --git a/settings.js b/settings.js index a0c96d8..ca2b8fb 100644 --- a/settings.js +++ b/settings.js @@ -30,7 +30,7 @@ export default "allow_insecure_coding": false, // allows newAction command and model can write/run code on your computer. enable at own risk "code_timeout_mins": 3, // minutes code is allowed to run. -1 for no timeout,set 3.Set 3 min to timely code adjustments - "relevant_docs_count": 5, // number of relevant docs to show when generating code + "relevant_docs_count": 5, // Parameter: -1 = all, 0 = no references, 5 = five references. If exceeding the maximum, all reference documents are returned. "max_messages": 15, // max number of messages to keep in context "max_commands": -1, // max number of commands to use in a response. -1 for no limit diff --git a/src/agent/coder.js b/src/agent/coder.js index afc037b..faafc1f 100644 --- a/src/agent/coder.js +++ b/src/agent/coder.js @@ -13,15 +13,21 @@ export class Coder { this.fp = '/bots/'+agent.name+'/action-code/'; this.generating = false; this.code_template = ''; - this.code_chack_template = ''; + this.code_check_template = ''; - readFile('./bots/template.js', 'utf8', (err, data) => { - if (err) throw err; - this.code_template = data; - }); - readFile('./bots/codeCheckTemplate.js', 'utf8', (err, data) => { - if (err) throw err; - this.code_chack_template = data; + readFile('./bots/codeTemplate.json', 'utf8', (err, data) => { + if (err) { + console.error('Error reading codeTemplate.json:', err); + throw err; + } + try { + const templates = JSON.parse(data); + this.code_template = templates.execTemplate; + this.code_check_template = templates.checkTemplate; + } catch (parseErr) { + console.error('Error parsing codeTemplate.json:', parseErr); + throw parseErr; + } }); mkdirSync('.' + this.fp, { recursive: true }); } @@ -83,7 +89,7 @@ export class Coder { for (let line of code.split('\n')) { src += ` ${line}\n`; } - let src_check_copy = this.code_chack_template.replace('/* CODE HERE */', src); + let src_check_copy = this.code_check_template.replace('/* CODE HERE */', src); src = this.code_template.replace('/* CODE HERE */', src); let filename = this.file_counter + '.js';