netgescon-day0/scripts/ops/antigravity-cli/run_205_followup_via_agy.sh

67 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
export PATH="$HOME/.local/bin:$PATH"
unset ANTIGRAVITY_LS_ADDRESS ANTIGRAVITY_CSRF_TOKEN ANTIGRAVITY_AGENT
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)"
TEMPLATE_FILE="$SCRIPT_DIR/205_followup_prompt.template.txt"
PARSER_SCRIPT="$SCRIPT_DIR/parse_205_runner_output.py"
MODEL="gemini-3.6-flash-high"
if command -v agy-ultra &>/dev/null; then
EXEC_BIN="agy-ultra"
elif command -v agy &>/dev/null; then
EXEC_BIN="agy"
else
echo "ERROR: agy CLI binary not found in PATH" >&2
exit 1
fi
INPUT_TEXT=""
if [ ! -t 0 ]; then
INPUT_TEXT="$(cat -)"
fi
if [ -f "$TEMPLATE_FILE" ]; then
TEMPLATE_CONTENT="$(cat "$TEMPLATE_FILE")"
if [ -n "$INPUT_TEXT" ]; then
if [[ "$TEMPLATE_CONTENT" == *"{TASK_INPUT}"* ]]; then
PROMPT="${TEMPLATE_CONTENT//\{TASK_INPUT\}/$INPUT_TEXT}"
else
PROMPT="${TEMPLATE_CONTENT}"$'\n\n'"${INPUT_TEXT}"
fi
else
PROMPT="${TEMPLATE_CONTENT}"
fi
else
if [ -n "$INPUT_TEXT" ]; then
PROMPT="$INPUT_TEXT"
else
PROMPT="Leggi AGENTS.md e CURRENT-205.md, verifica lo stato del sistema e rispondi con l'esito del task nel formato standard 205."
fi
fi
RAW_OUTPUT="$("$EXEC_BIN" -p "$PROMPT" --model "$MODEL" --add-dir "$REPO_DIR" 2>&1)" || true
REPO_VAL=$(git -C "$REPO_DIR" config --get remote.origin.url 2>/dev/null || echo "ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git")
BRANCH_VAL=$(git -C "$REPO_DIR" rev-parse --abbrev-ref HEAD 2>/dev/null || echo "stabilization/205-zero")
COMMIT_VAL=$(git -C "$REPO_DIR" rev-parse HEAD 2>/dev/null || echo "")
if ! grep -q "REPOSITORY:" <<< "$RAW_OUTPUT"; then
RAW_OUTPUT="${RAW_OUTPUT}"$'\n'"REPOSITORY: ${REPO_VAL}"
fi
if ! grep -q "BRANCH:" <<< "$RAW_OUTPUT"; then
RAW_OUTPUT="${RAW_OUTPUT}"$'\n'"BRANCH: ${BRANCH_VAL}"
fi
if ! grep -q "COMMIT:" <<< "$RAW_OUTPUT"; then
RAW_OUTPUT="${RAW_OUTPUT}"$'\n'"COMMIT: ${COMMIT_VAL}"
fi
if [ -f "$PARSER_SCRIPT" ]; then
python3 "$PARSER_SCRIPT" <<< "$RAW_OUTPUT"
else
echo "$RAW_OUTPUT"
fi