Merge pull request 'Voice-Bot: Zustand transcribing haelt den Bildschirm aktiv' (#109) from fds2610-bot/monitor:main into main

Reviewed-on: https://codeberg.org/fds2610/monitor/pulls/109
This commit is contained in:
fds2610 2026-10-01 13:34:44 +02:00
commit b60a36832a
3 changed files with 8 additions and 0 deletions

4
API.md
View file

@ -173,6 +173,10 @@ fallen dort auf "idle am Schreibtisch" zurueck. Gebraeuchlich sind `idle`, `work
Lauf-/Interaktionszustaende der Zustandsmaschine (`walking_to_board`, `interacting_with_board`, Lauf-/Interaktionszustaende der Zustandsmaschine (`walking_to_board`, `interacting_with_board`,
`walking_to_monitor`, `interacting_with_monitor`, `walking_back`). `walking_to_monitor`, `interacting_with_monitor`, `walking_back`).
`transcribing` meldet der Voice-Bot, sobald er eine neue Sprachnachricht empfangen hat; der
Bildschirm an seinem Schreibtisch ist aktiv und es laufen keine idle-Aktivitaeten (Kaffee,
Zeitung). Nach der Transkription meldet er wieder `idle`.
#### Problemzustaende: abgelaufene Claude-Anmeldung #### Problemzustaende: abgelaufene Claude-Anmeldung
Zwei Zustaende sind Sonderfaelle, weil sie ein menschliches Eingreifen erfordern: Zwei Zustaende sind Sonderfaelle, weil sie ein menschliches Eingreifen erfordern:

View file

@ -544,6 +544,9 @@ const AGENT_STATE_VISUALS = {
walking_to_monitor: { location: AGENT_LOCATIONS.MONITOR_EVENTS, pose: "walking" }, walking_to_monitor: { location: AGENT_LOCATIONS.MONITOR_EVENTS, pose: "walking" },
interacting_with_monitor: { location: AGENT_LOCATIONS.MONITOR_EVENTS, pose: "interacting" }, interacting_with_monitor: { location: AGENT_LOCATIONS.MONITOR_EVENTS, pose: "interacting" },
walking_back: { location: AGENT_LOCATIONS.DESK, pose: "walking" }, walking_back: { location: AGENT_LOCATIONS.DESK, pose: "walking" },
// Voice-Bot hat eine Sprachnachricht empfangen und transkribiert sie: Bildschirm aktiv,
// keine idle-Kosmetik (Kaffee/Zeitung), die laeuft nur im Zustand "idle".
transcribing: { location: AGENT_LOCATIONS.DESK, pose: "working" },
reading_newspaper: { location: AGENT_LOCATIONS.DESK, pose: "reading_newspaper" }, reading_newspaper: { location: AGENT_LOCATIONS.DESK, pose: "reading_newspaper" },
at_coffee_corner: { location: AGENT_LOCATIONS.COFFEE_CORNER, pose: "coffee" }, at_coffee_corner: { location: AGENT_LOCATIONS.COFFEE_CORNER, pose: "coffee" },
talking_to_colleague: { location: AGENT_LOCATIONS.DESK, pose: "talking" }, talking_to_colleague: { location: AGENT_LOCATIONS.DESK, pose: "talking" },

View file

@ -484,6 +484,7 @@ test("resolveAgentVisualState bildet bekannte Zustaende auf Ort/Pose ab", () =>
location: AGENT_LOCATIONS.BOARD, location: AGENT_LOCATIONS.BOARD,
pose: "walking", pose: "walking",
}); });
assert.deepEqual(resolveAgentVisualState("transcribing"), { location: AGENT_LOCATIONS.DESK, pose: "working" });
assert.deepEqual(resolveAgentVisualState("at_coffee_corner"), { assert.deepEqual(resolveAgentVisualState("at_coffee_corner"), {
location: AGENT_LOCATIONS.COFFEE_CORNER, location: AGENT_LOCATIONS.COFFEE_CORNER,
pose: "coffee", pose: "coffee",