From a144077aec90d13587d67b3a2065d5728d4f6319 Mon Sep 17 00:00:00 2001 From: sigoden Date: Thu, 6 Jun 2024 11:40:09 +0800 Subject: refactor: move run/tool.* to scripts/bin.* (#22) --- run/tool.js | 74 ------------------------------------------------------------- 1 file changed, 74 deletions(-) delete mode 100755 run/tool.js (limited to 'run/tool.js') diff --git a/run/tool.js b/run/tool.js deleted file mode 100755 index 3c8e966..0000000 --- a/run/tool.js +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env node - -const path = require("path"); -const fs = require('fs'); - -function parseArgv() { - let func_file = process.argv[1]; - let func_data = null; - - if (func_file.endsWith("tool.js")) { - func_file = process.argv[2] - func_data = process.argv[3] - } else { - func_file = path.basename(func_file) - func_data = process.argv[2]; - } - - if (!func_file.endsWith(".js")) { - func_file += '.js' - } - - return [func_file, func_data] -} - -function loadFunc(func_file) { - const func_path = path.resolve(process.env["LLM_FUNCTIONS_DIR"], `tools/${func_file}`) - try { - return require(func_path); - } catch { - console.log(`Invalid function: ${func_file}`) - process.exit(1) - } -} - -function loadEnv(filePath) { - try { - const data = fs.readFileSync(filePath, 'utf-8'); - const lines = data.split('\n'); - - lines.forEach(line => { - if (line.trim().startsWith('#') || line.trim() === '') return; - - const [key, ...value] = line.split('='); - process.env[key.trim()] = value.join('=').trim(); - }); - } catch {} -} - -process.env["LLM_FUNCTIONS_DIR"] = path.resolve(__dirname, ".."); - -loadEnv(path.resolve(process.env["LLM_FUNCTIONS_DIR"], ".env")); - -const [func_file, func_data] = parseArgv(); - -if (process.env["LLM_FUNCTION_ACTION"] == "declarate") { - const { declarate } = loadFunc(func_file); - console.log(JSON.stringify(declarate(), null, 2)) -} else { - if (!func_data) { - console.log("No json data"); - process.exit(1) - } - - let args; - try { - args = JSON.parse(func_data) - } catch { - console.log("Invalid json data") - process.exit(1) - } - - const { execute } = loadFunc(func_file); - execute(args) -} \ No newline at end of file -- cgit v1.2.3