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>
This commit is contained in:
64
helmd/testdata/mock-agent.sh
vendored
Executable file
64
helmd/testdata/mock-agent.sh
vendored
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user