refactor: several improvements (#132)
- js export expression - check args regarding run-agent/run-tool
This commit is contained in:
+4
-4
@@ -30,14 +30,14 @@ run@tool() {
|
||||
cmd="$(_lang_to_cmd "$lang")"
|
||||
run_tool_script="$PWD/scripts/run-tool.$lang"
|
||||
[[ -n "$argc_cwd" ]] && cd "$argc_cwd"
|
||||
"$cmd" "$run_tool_script" "$argc_tool" "$argc_json"
|
||||
exec "$cmd" "$run_tool_script" "$argc_tool" "$argc_json"
|
||||
}
|
||||
|
||||
# @cmd Run the agent
|
||||
# @alias agent:run
|
||||
# @option -C --cwd <dir> Change the current working directory
|
||||
# @arg agent![`_choice_agent`] The agent name
|
||||
# @arg action![`_choice_agent_action`] The agent action
|
||||
# @arg action![?`_choice_agent_action`] The agent action
|
||||
# @arg json The json data
|
||||
run@agent() {
|
||||
if [[ -z "$argc_json" ]]; then
|
||||
@@ -54,7 +54,7 @@ run@agent() {
|
||||
cmd="$(_lang_to_cmd "$lang")"
|
||||
run_agent_script="$PWD/scripts/run-agent.$lang"
|
||||
[[ -n "$argc_cwd" ]] && cd "$argc_cwd"
|
||||
"$cmd" "$run_agent_script" "$argc_agent" "$argc_action" "$argc_json"
|
||||
exec "$cmd" "$run_agent_script" "$argc_agent" "$argc_action" "$argc_json"
|
||||
}
|
||||
|
||||
# @cmd Build the project
|
||||
@@ -668,7 +668,7 @@ _choice_agent_action() {
|
||||
else
|
||||
expr="s/:.*//"
|
||||
fi
|
||||
argc generate-declarations@agent "$1" --oneline | sed "$expr"
|
||||
argc generate-declarations@agent "$1" --oneline | sed "$expr"
|
||||
}
|
||||
|
||||
_die() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Get the system info
|
||||
*/
|
||||
exports.get_ipinfo = async function getIpinfo() {
|
||||
exports.get_ipinfo = async function () {
|
||||
const res = await fetch("https://httpbin.org/ip")
|
||||
return res.json();
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ create_js() {
|
||||
* @typedef {Object} Args${properties}
|
||||
* @param {Args} args
|
||||
*/
|
||||
exports.run = function run(args) {
|
||||
exports.run = function (args) {
|
||||
console.log(args);
|
||||
}
|
||||
EOF
|
||||
|
||||
@@ -31,10 +31,15 @@ function parseArgv(thisFileName) {
|
||||
agentData = process.argv[3];
|
||||
}
|
||||
|
||||
if (agentName.endsWith(".js")) {
|
||||
if (agentName && agentName.endsWith(".js")) {
|
||||
agentName = agentName.slice(0, -3);
|
||||
}
|
||||
|
||||
if (!agentData || !agentFunc || !agentName) {
|
||||
console.log(`Usage: ./run-agent.js <agent-name> <agent-func> <agent-data>`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
return [agentName, agentFunc, agentData];
|
||||
}
|
||||
|
||||
|
||||
+14
-8
@@ -32,20 +32,26 @@ def parse_argv(this_file_name):
|
||||
|
||||
agent_name = argv[0]
|
||||
agent_func = ""
|
||||
agent_data = None
|
||||
agent_data = ""
|
||||
|
||||
if agent_name.endswith(this_file_name):
|
||||
agent_name = sys.argv[1]
|
||||
agent_func = sys.argv[2]
|
||||
agent_data = sys.argv[3]
|
||||
if len(sys.argv) > 3:
|
||||
agent_name = sys.argv[1]
|
||||
agent_func = sys.argv[2]
|
||||
agent_data = sys.argv[3]
|
||||
else:
|
||||
agent_name = os.path.basename(agent_name)
|
||||
agent_func = sys.argv[1]
|
||||
agent_data = sys.argv[2]
|
||||
if len(sys.argv) > 2:
|
||||
agent_name = os.path.basename(agent_name)
|
||||
agent_func = sys.argv[1]
|
||||
agent_data = sys.argv[2]
|
||||
|
||||
if agent_name.endswith(".py"):
|
||||
if agent_name and agent_name.endswith(".py"):
|
||||
agent_name = agent_name[:-3]
|
||||
|
||||
if (not agent_data) or (not agent_func) or (not agent_name):
|
||||
print("Usage: ./run-agent.py <agent-name> <agent-func> <agent-data>", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
return agent_name, agent_func, agent_data
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,9 @@ parse_argv() {
|
||||
if [[ "$agent_name" == *.sh ]]; then
|
||||
agent_name="${agent_name:0:$((${#agent_name}-3))}"
|
||||
fi
|
||||
if [[ -z "$agent_data" ]] || [[ -z "$agent_func" ]] || [[ -z "$agent_name" ]]; then
|
||||
die "usage: ./run-agent.sh <agent-name> <agent-func> <agent-data>"
|
||||
fi
|
||||
}
|
||||
|
||||
setup_env() {
|
||||
|
||||
+6
-1
@@ -28,10 +28,15 @@ function parseArgv(thisFileName) {
|
||||
toolData = process.argv[2];
|
||||
}
|
||||
|
||||
if (toolName.endsWith(".js")) {
|
||||
if (toolName && toolName.endsWith(".js")) {
|
||||
toolName = toolName.slice(0, -3);
|
||||
}
|
||||
|
||||
if (!toolData || !toolName) {
|
||||
console.log(`Usage: ./run-tools.js <tool-name> <tool-data>`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
return [toolName, toolData];
|
||||
}
|
||||
|
||||
|
||||
+12
-6
@@ -31,18 +31,24 @@ def parse_argv(this_file_name):
|
||||
argv = sys.argv[:] + [None] * max(0, 3 - len(sys.argv))
|
||||
|
||||
tool_name = argv[0]
|
||||
tool_data = None
|
||||
tool_data = ""
|
||||
|
||||
if tool_name.endswith(this_file_name):
|
||||
tool_name = argv[1]
|
||||
tool_data = argv[2]
|
||||
if len(sys.argv) > 2:
|
||||
tool_name = argv[1]
|
||||
tool_data = argv[2]
|
||||
else:
|
||||
tool_name = os.path.basename(tool_name)
|
||||
tool_data = sys.argv[1]
|
||||
if len(sys.argv) > 1:
|
||||
tool_name = os.path.basename(tool_name)
|
||||
tool_data = sys.argv[1]
|
||||
|
||||
if tool_name.endswith(".py"):
|
||||
if tool_name and tool_name.endswith(".py"):
|
||||
tool_name = tool_name[:-3]
|
||||
|
||||
if (not tool_data) or (not tool_name):
|
||||
print("Usage: ./run-tool.py <tool-name> <tool-data>", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
return tool_name, tool_data
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,9 @@ parse_argv() {
|
||||
if [[ "$tool_name" == *.sh ]]; then
|
||||
tool_name="${tool_name:0:$((${#tool_name}-3))}"
|
||||
fi
|
||||
if [[ -z "$tool_data" ]] || [[ -z "$tool_name" ]]; then
|
||||
die "usage: ./run-tool.sh <tool-name> <tool-data>"
|
||||
fi
|
||||
}
|
||||
|
||||
setup_env() {
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
* @property {string[]} [array_optional] - Define a optional string array property
|
||||
* @param {Args} args
|
||||
*/
|
||||
exports.run = function run(args) {
|
||||
exports.run = function (args) {
|
||||
let output = `string: ${args.string}
|
||||
string_enum: ${args.string_enum}
|
||||
string_optional: ${args.string_optional}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* @property {string} code - Javascript code to execute, such as `console.log("hello world")`
|
||||
* @param {Args} args
|
||||
*/
|
||||
exports.run = function run({ code }) {
|
||||
exports.run = function ({ code }) {
|
||||
let output = "";
|
||||
const oldStdoutWrite = process.stdout.write.bind(process.stdout);
|
||||
process.stdout.write = (chunk, _encoding, callback) => {
|
||||
|
||||
Reference in New Issue
Block a user