Files
agent-helm/helmd/testdata/mock-agent.sh
claude f9c79ac84e
Some checks failed
build-and-push / build (push) Successful in 42s
release-client / build-release (push) Has been cancelled
helmd-release / build-release (push) Successful in 1m6s
helmd v2: Go-server som styr agent i tmux — REST+SSE, frågedetektor, fildelning, ntfy, CI-release
- tmux som sanningskälla (agentoberoende, överlever omstart via adoption)
- API: sessions, prompt, question/answer, keys, mode, config, shares, notify, events
- frågedetektor testad mot riktiga agy 1.1.9-dumpar + mock
- integrationstest: 26 tester i isolerad debian-container (scripts/run-integration.sh)
- e2e-verifierad mot riktig agy (trust-fråga -> svar -> prompt)
- .gitea/workflows/helmd-release.yaml -> rullande helmd-latest (x64+arm64)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 20:54:54 +02:00

65 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# mock-agent — låtsas-agent för helmd:s integrationstester.
# Härmar agy-TUI:ns två frågetyper:
# 1) onumrerad lista med ">"-markör som navigeras med pilarna + Enter
# 2) numrerad lista som väljs med sifferknapp
set -u
echo "MOCK AGENT v1"
echo
# --- Fas 1: trust-fråga (onumrerad, pil-navigerad) --------------------
SEL=0
draw_trust() {
echo
echo "Do you trust this test arena?"
if [ "$SEL" = 0 ]; then
echo "> Yes, run the test"
echo " No, exit"
else
echo " Yes, run the test"
echo "> No, exit"
fi
echo " ↑/↓ Navigate · enter Confirm"
}
draw_trust
while true; do
IFS= read -rsn1 c
if [ "$c" = $'\e' ]; then
read -rsn2 -t 1 rest || rest=""
case "$rest" in
"[B") SEL=1; draw_trust ;;
"[A") SEL=0; draw_trust ;;
esac
elif [ -z "$c" ]; then # Enter
break
fi
done
echo "TRUST_ANSWER=$SEL"
echo
# --- Fas 2: promptloop -------------------------------------------------
while true; do
printf "> "
IFS= read -r line || break
case "$line" in
ask-numbered)
echo
echo "Do you want to proceed?"
echo "> 1. Yes"
echo " 2. Yes, and always allow"
echo " 3. No"
echo " ↑/↓ Navigate · enter Confirm"
IFS= read -rsn1 d
echo "PICKED=$d"
;;
exit)
echo "BYE"
exit 0
;;
*)
echo "ECHO: $line"
;;
esac
done