From 27d2e3b42d290e72f8ee5735fcd5c73dcaed4517 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 26 Dec 2025 13:34:32 -0500 Subject: feat(kidcam): complete implementation - Detector.py: YOLOv8-nano person detection - Streamer.py: GStreamer HLS video streaming - Notifier.py: Telegram bot notifications - Core.py: State machine orchestration - deploy.sh: Ubuntu deployment script - kidcam.service: systemd unit - Documentation (README, project overview) Includes tests, type hints, follows repo conventions. Fixed Worker.hs missing engineOnToolTrace (jr now builds). Added Python deps: opencv, ultralytics, python-telegram-bot. Amp-Thread-ID: https://ampcode.com/threads/T-019b5bc1-b00a-701f-ab4f-04738e8a733c Co-authored-by: Amp --- Omni/Agent/Worker.hs | 3 ++- Omni/Bild/Deps/Python.nix | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'Omni') diff --git a/Omni/Agent/Worker.hs b/Omni/Agent/Worker.hs index d6afb73..3f47c72 100644 --- a/Omni/Agent/Worker.hs +++ b/Omni/Agent/Worker.hs @@ -336,7 +336,8 @@ runWithEngine worker repo task = do let guardrailMsg = formatGuardrailResult guardrailResult contentJson = TE.decodeUtf8 (BSL.toStrict (Aeson.encode guardrailResult)) sayLog <| "[guardrail] " <> guardrailMsg - logSystemEvent "Guardrail" contentJson + logSystemEvent "Guardrail" contentJson, + Engine.engineOnToolTrace = \_ _ _ _ -> pure Nothing } -- Build Agent config with guardrails (scale cost by complexity) diff --git a/Omni/Bild/Deps/Python.nix b/Omni/Bild/Deps/Python.nix index d21e129..959485a 100644 --- a/Omni/Bild/Deps/Python.nix +++ b/Omni/Bild/Deps/Python.nix @@ -11,7 +11,9 @@ "ludic" "mypy" "nltk" + "numpy" "ollama" + "opencv-python" "openai" "psutil" "pydantic" @@ -22,6 +24,7 @@ "pytest" "pytest-asyncio" "pytest-mock" + "python-telegram-bot" "requests" "setuptools" "slixmpp" @@ -30,5 +33,6 @@ "stripe" "trafilatura" "types-requests" + "ultralytics" "uvicorn" ] -- cgit v1.2.3