Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Argcfile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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() {
Expand Down
2 changes: 1 addition & 1 deletion agents/demo/tools.js
Original file line number Diff line number Diff line change
@@ -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();
}
2 changes: 1 addition & 1 deletion scripts/create-tool.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 6 additions & 1 deletion scripts/run-agent.js
Original file line number Diff line number Diff line change
Expand Up @@ -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];
}

Expand Down
22 changes: 14 additions & 8 deletions scripts/run-agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
3 changes: 3 additions & 0 deletions scripts/run-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
7 changes: 6 additions & 1 deletion scripts/run-tool.js
Original file line number Diff line number Diff line change
Expand Up @@ -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];
}

Expand Down
18 changes: 12 additions & 6 deletions scripts/run-tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
3 changes: 3 additions & 0 deletions scripts/run-tool.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
2 changes: 1 addition & 1 deletion tools/demo_js.js
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
2 changes: 1 addition & 1 deletion tools/execute_js_code.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) => {
Expand Down