feat: removed conditional fallback of LLM_*_RAW_JSON from built-ins

This commit is contained in:
2026-06-03 14:40:42 -06:00
parent 260bf4e5bc
commit dac2a16677
11 changed files with 29 additions and 8 deletions
+3 -2
View File
@@ -32,7 +32,7 @@ def main():
agent_data = parse_raw_data(raw_data) agent_data = parse_raw_data(raw_data)
root_dir = "{config_dir}" root_dir = "{config_dir}"
setup_env(root_dir, agent_func) setup_env(root_dir, agent_func, raw_data)
agent_tools_path = os.path.join(root_dir, "agents/{agent_name}/tools.py") agent_tools_path = os.path.join(root_dir, "agents/{agent_name}/tools.py")
run(agent_tools_path, agent_func, agent_data) run(agent_tools_path, agent_func, agent_data)
@@ -65,13 +65,14 @@ def parse_argv():
return agent_func, agent_data return agent_func, agent_data
def setup_env(root_dir, agent_func): def setup_env(root_dir, agent_func, raw_data):
load_env(os.path.join(root_dir, ".env")) load_env(os.path.join(root_dir, ".env"))
os.environ["LLM_ROOT_DIR"] = root_dir os.environ["LLM_ROOT_DIR"] = root_dir
os.environ["LLM_AGENT_NAME"] = "{agent_name}" os.environ["LLM_AGENT_NAME"] = "{agent_name}"
os.environ["LLM_AGENT_FUNC"] = agent_func os.environ["LLM_AGENT_FUNC"] = agent_func
os.environ["LLM_AGENT_ROOT_DIR"] = os.path.join(root_dir, "agents", "{agent_name}") os.environ["LLM_AGENT_ROOT_DIR"] = os.path.join(root_dir, "agents", "{agent_name}")
os.environ["LLM_AGENT_CACHE_DIR"] = os.path.join(root_dir, "cache", "{agent_name}") os.environ["LLM_AGENT_CACHE_DIR"] = os.path.join(root_dir, "cache", "{agent_name}")
os.environ["LLM_AGENT_RAW_JSON"] = raw_data
def load_env(file_path): def load_env(file_path):
+1
View File
@@ -32,6 +32,7 @@ setup_env() {
export LLM_AGENT_ROOT_DIR="$LLM_ROOT_DIR/agents/{agent_name}" export LLM_AGENT_ROOT_DIR="$LLM_ROOT_DIR/agents/{agent_name}"
export LLM_AGENT_CACHE_DIR="$LLM_ROOT_DIR/cache/{agent_name}" export LLM_AGENT_CACHE_DIR="$LLM_ROOT_DIR/cache/{agent_name}"
export LLM_PROMPT_UTILS_FILE="{prompt_utils_file}" export LLM_PROMPT_UTILS_FILE="{prompt_utils_file}"
export LLM_AGENT_RAW_JSON="$agent_data"
} }
load_env() { load_env() {
+3 -2
View File
@@ -11,7 +11,7 @@ async function main(): Promise<void> {
const agentData = parseRawData(rawData); const agentData = parseRawData(rawData);
const configDir = "{config_dir}"; const configDir = "{config_dir}";
setupEnv(configDir, agentFunc); setupEnv(configDir, agentFunc, rawData);
const agentToolsPath = join(configDir, "agents", "{agent_name}", "tools.ts"); const agentToolsPath = join(configDir, "agents", "{agent_name}", "tools.ts");
await run(agentToolsPath, agentFunc, agentData); await run(agentToolsPath, agentFunc, agentData);
@@ -48,13 +48,14 @@ function parseArgv(): { agentFunc: string; rawData: string } {
return { agentFunc, rawData: agentData }; return { agentFunc, rawData: agentData };
} }
function setupEnv(configDir: string, agentFunc: string): void { function setupEnv(configDir: string, agentFunc: string, rawData: string): void {
loadEnv(join(configDir, ".env")); loadEnv(join(configDir, ".env"));
process.env["LLM_ROOT_DIR"] = configDir; process.env["LLM_ROOT_DIR"] = configDir;
process.env["LLM_AGENT_NAME"] = "{agent_name}"; process.env["LLM_AGENT_NAME"] = "{agent_name}";
process.env["LLM_AGENT_FUNC"] = agentFunc; process.env["LLM_AGENT_FUNC"] = agentFunc;
process.env["LLM_AGENT_ROOT_DIR"] = join(configDir, "agents", "{agent_name}"); process.env["LLM_AGENT_ROOT_DIR"] = join(configDir, "agents", "{agent_name}");
process.env["LLM_AGENT_CACHE_DIR"] = join(configDir, "cache", "{agent_name}"); process.env["LLM_AGENT_CACHE_DIR"] = join(configDir, "cache", "{agent_name}");
process.env["LLM_AGENT_RAW_JSON"] = rawData;
} }
function loadEnv(filePath: string): void { function loadEnv(filePath: string): void {
+3 -2
View File
@@ -32,7 +32,7 @@ def main():
tool_data = parse_raw_data(raw_data) tool_data = parse_raw_data(raw_data)
root_dir = "{root_dir}" root_dir = "{root_dir}"
setup_env(root_dir) setup_env(root_dir, raw_data)
tool_path = "{tool_path}.py" tool_path = "{tool_path}.py"
run(tool_path, "run", tool_data) run(tool_path, "run", tool_data)
@@ -65,11 +65,12 @@ def parse_argv():
return tool_data return tool_data
def setup_env(root_dir): def setup_env(root_dir, raw_data):
load_env(os.path.join(root_dir, ".env")) load_env(os.path.join(root_dir, ".env"))
os.environ["LLM_ROOT_DIR"] = root_dir os.environ["LLM_ROOT_DIR"] = root_dir
os.environ["LLM_TOOL_NAME"] = "{function_name}" os.environ["LLM_TOOL_NAME"] = "{function_name}"
os.environ["LLM_TOOL_CACHE_DIR"] = os.path.join(root_dir, "cache", "{function_name}") os.environ["LLM_TOOL_CACHE_DIR"] = os.path.join(root_dir, "cache", "{function_name}")
os.environ["LLM_TOOL_RAW_JSON"] = raw_data
def load_env(file_path): def load_env(file_path):
+1
View File
@@ -29,6 +29,7 @@ setup_env() {
export LLM_TOOL_NAME="{function_name}" export LLM_TOOL_NAME="{function_name}"
export LLM_TOOL_CACHE_DIR="$LLM_ROOT_DIR/cache/{function_name}" export LLM_TOOL_CACHE_DIR="$LLM_ROOT_DIR/cache/{function_name}"
export LLM_PROMPT_UTILS_FILE="{prompt_utils_file}" export LLM_PROMPT_UTILS_FILE="{prompt_utils_file}"
export LLM_TOOL_RAW_JSON="$tool_data"
} }
load_env() { load_env() {
+3 -2
View File
@@ -11,7 +11,7 @@ async function main(): Promise<void> {
const toolData = parseRawData(rawData); const toolData = parseRawData(rawData);
const rootDir = "{root_dir}"; const rootDir = "{root_dir}";
setupEnv(rootDir); setupEnv(rootDir, rawData);
const toolPath = "{tool_path}.ts"; const toolPath = "{tool_path}.ts";
await run(toolPath, "run", toolData); await run(toolPath, "run", toolData);
@@ -45,11 +45,12 @@ function parseArgv(): string {
return toolData; return toolData;
} }
function setupEnv(rootDir: string): void { function setupEnv(rootDir: string, rawData: string): void {
loadEnv(join(rootDir, ".env")); loadEnv(join(rootDir, ".env"));
process.env["LLM_ROOT_DIR"] = rootDir; process.env["LLM_ROOT_DIR"] = rootDir;
process.env["LLM_TOOL_NAME"] = "{function_name}"; process.env["LLM_TOOL_NAME"] = "{function_name}";
process.env["LLM_TOOL_CACHE_DIR"] = join(rootDir, "cache", "{function_name}"); process.env["LLM_TOOL_CACHE_DIR"] = join(rootDir, "cache", "{function_name}");
process.env["LLM_TOOL_RAW_JSON"] = rawData;
} }
function loadEnv(filePath: string): void { function loadEnv(filePath: string): void {
@@ -10,6 +10,9 @@ set -e
source "$LLM_PROMPT_UTILS_FILE" source "$LLM_PROMPT_UTILS_FILE"
main() { main() {
# shellcheck disable=SC2154
argc_command="$(jq -r '.command' <<< "$LLM_TOOL_RAW_JSON")"
guard_operation guard_operation
local script local script
script="$(mktemp)" script="$(mktemp)"
@@ -14,6 +14,8 @@ source "$LLM_PROMPT_UTILS_FILE"
# shellcheck disable=SC2154 # shellcheck disable=SC2154
main() { main() {
argc_code="$(jq -r '.code' <<< "$LLM_TOOL_RAW_JSON")"
if ! grep -qi '^select' <<<"$argc_code"; then if ! grep -qi '^select' <<<"$argc_code"; then
guard_operation "" guard_operation ""
fi fi
+3
View File
@@ -16,6 +16,9 @@ source "$LLM_PROMPT_UTILS_FILE"
# shellcheck disable=SC2154 # shellcheck disable=SC2154
main() { main() {
argc_contents="$(jq -r '.contents' <<< "$LLM_TOOL_RAW_JSON")"
argc_path="$(jq -r '.path' <<< "$LLM_TOOL_RAW_JSON")"
if [[ ! -f "$argc_path" ]]; then if [[ ! -f "$argc_path" ]]; then
error "Unable to find the specified file: $argc_path" error "Unable to find the specified file: $argc_path"
exit 1 exit 1
+3
View File
@@ -15,6 +15,9 @@ source "$LLM_PROMPT_UTILS_FILE"
# shellcheck disable=SC2154 # shellcheck disable=SC2154
main() { main() {
argc_contents="$(jq -r '.contents' <<< "$LLM_TOOL_RAW_JSON")"
argc_path="$(jq -r '.path' <<< "$LLM_TOOL_RAW_JSON")"
if [[ -f "$argc_path" ]]; then if [[ -f "$argc_path" ]]; then
printf "%s" "$argc_contents" | git diff --no-index "$argc_path" - || true printf "%s" "$argc_contents" | git diff --no-index "$argc_path" - || true
guard_operation "Apply changes?" guard_operation "Apply changes?"
+4
View File
@@ -14,6 +14,10 @@ set -e
# shellcheck disable=SC2154 # shellcheck disable=SC2154
main() { main() {
argc_recipient="$(jq -r '.recipient' <<< "$LLM_TOOL_RAW_JSON")"
argc_subject="$(jq -r '.subject' <<< "$LLM_TOOL_RAW_JSON")"
argc_body="$(jq -r '.body' <<< "$LLM_TOOL_RAW_JSON")"
sender_name="${EMAIL_SENDER_NAME:-$(echo "$EMAIL_SMTP_USER" | awk -F'@' '{print $1}')}" sender_name="${EMAIL_SENDER_NAME:-$(echo "$EMAIL_SMTP_USER" | awk -F'@' '{print $1}')}"
printf "%s\n" "From: $sender_name <$EMAIL_SMTP_USER> printf "%s\n" "From: $sender_name <$EMAIL_SMTP_USER>
To: $argc_recipient To: $argc_recipient