Commit Graph

5355 Commits

Author SHA1 Message Date
Nicolas Mowen
3e97f9e985 Show tool calls separately from message 2026-02-26 08:38:58 -07:00
Nicolas Mowen
eb9f16b4fa More time parsing improvements 2026-02-26 08:38:58 -07:00
Nicolas Mowen
45c6be47d2 Reduce fields in response 2026-02-26 08:38:58 -07:00
Nicolas Mowen
5a6c62a844 Adjust timing format 2026-02-26 08:38:58 -07:00
Nicolas Mowen
f29fbe14ca Improvements 2026-02-26 08:38:58 -07:00
Nicolas Mowen
cc941ab2db Add markdown 2026-02-26 08:38:58 -07:00
Nicolas Mowen
56b3ebe791 processing 2026-02-26 08:38:58 -07:00
Nicolas Mowen
6fdfe22f8c Add chat history 2026-02-26 08:38:58 -07:00
Nicolas Mowen
0cf713985f Add basic chat page with entry 2026-02-26 08:38:58 -07:00
Nicolas Mowen
dc39d2f0ef Set model in llama.cpp config 2026-02-26 08:38:52 -07:00
Nicolas Mowen
e6387dac05 Fix import issues 2026-02-26 08:38:52 -07:00
Nicolas Mowen
c870ebea37 Cleanup 2026-02-26 08:38:52 -07:00
Nicolas Mowen
56a1a0f5e3 Support getting client via manager 2026-02-26 08:38:52 -07:00
Nicolas Mowen
67a245c8ef Convert to roles list 2026-02-26 08:38:52 -07:00
Nicolas Mowen
a072600c94 Add config migration 2026-02-26 08:38:52 -07:00
Nicolas Mowen
b603678b26 GenAI client manager 2026-02-26 08:38:52 -07:00
Nicolas Mowen
8793650c2f Fix frame time access 2026-02-26 08:38:42 -07:00
Nicolas Mowen
9c8dd9a6ba Adapt to new Gemini format 2026-02-25 09:19:56 -07:00
nulledy
507b495b90 ffmpeg Preview Segment Optimization for "high" and "very_high" (#21996)
* Introduce qmax parameter for ffmpeg preview encoding

Added PREVIEW_QMAX_PARAM to control ffmpeg encoding quality.

* formatting

* Fix spacing in qmax parameters for preview quality
2026-02-25 09:02:08 -07:00
nulledy
3525f32bc2 Allow API Events to be Detections or Alerts, depending on the Event Label (#21923)
* - API created events will be alerts OR detections, depending on the event label, defaulting to alerts
- Indefinite API events will extend the recording segment until those events are ended
- API event start time is the actual start time, instead of having a pre-buffer of record.event_pre_capture

* Instead of checking for indefinite events on a camera before deciding if we should end the segment, only update last_detection_time and last_alert_time if frame_time is greater, which should have the same effect

* Add the ability to set a pre_capture number of seconds when creating a manual event via the API. Default behavior unchanged

* Remove unnecessary _publish_segment_start() call

* Formatting

* handle last_alert_time or last_detection_time being None when checking them against the frame_time

* comment manual_info["label"].split(": ")[0] for clarity
2026-02-25 09:02:08 -07:00
Josh Hawkins
ac142449f1 Improve jsmpeg player websocket handling (#21943)
* improve jsmpeg player websocket handling

prevent websocket console messages from appearing when player is destroyed

* reformat files after ruff upgrade
2026-02-25 09:02:08 -07:00
FL42
47b89a1d60 feat: add X-Frame-Time when returning snapshot (#21932)
Co-authored-by: Florent MORICONI <170678386+fmcloudconsulting@users.noreply.github.com>
2026-02-25 09:02:08 -07:00
Eric Work
cdcf56092c Add networking options for configuring listening ports (#21779) 2026-02-25 09:02:08 -07:00
Nicolas Mowen
08ee2e21de Add live context tool to LLM (#21754)
* Add live context tool

* Improve handling of images in request

* Improve prompt caching
2026-02-25 09:02:08 -07:00
Nicolas Mowen
9ab4dd4538 Update to ROCm 7.2.0 (#21753)
* Update to ROCm 7.2.0

* ROCm now works properly with JinaV1

* Arcface has compilation error
2026-02-25 09:02:08 -07:00
Josh Hawkins
fe5441349b Offline preview image (#21752)
* use latest preview frame for latest image when camera is offline

* remove frame extraction logic

* tests

* frontend

* add description to api endpoint
2026-02-25 09:02:08 -07:00
Nicolas Mowen
a4b1cc3a54 Implement LLM Chat API with tool calling support (#21731)
* Implement initial tools definiton APIs

* Add initial chat completion API with tool support

* Implement other providers

* Cleanup
2026-02-25 09:02:08 -07:00
John Shaw
99e25661b2 Remove parents in remove_empty_directories (#21726)
The original implementation did a full directory tree walk to find and remove
empty directories, so this implementation should remove the parents as well,
like the original did.
2026-02-25 09:02:08 -07:00
Nicolas Mowen
20360db2c9 Implement llama.cpp GenAI Provider (#21690)
* Implement llama.cpp GenAI Provider

* Add docs

* Update links

* Fix broken mqtt links

* Fix more broken anchors
2026-02-25 09:02:08 -07:00
John Shaw
3826d72c2a Optimize empty directory cleanup for recordings (#21695)
The previous empty directory cleanup did a full recursive directory
walk, which can be extremely slow. This new implementation only removes
directories which have a chance of being empty due to a recent file
deletion.
2026-02-25 09:02:08 -07:00
Nicolas Mowen
3d5757c640 Refactor Time-Lapse Export (#21668)
* refactor time lapse creation to be a separate API call with ability to pass arbitrary ffmpeg args

* Add CPU fallback
2026-02-25 09:02:08 -07:00
Eugeny Tulupov
86100fde6f Update go2rtc to v1.9.13 (#21648)
Co-authored-by: Eugeny Tulupov <eugeny.tulupov@spirent.com>
2026-02-25 09:02:08 -07:00
Josh Hawkins
28b1195a79 Fix incorrect counting in sync_recordings (#21626) 2026-02-25 09:02:08 -07:00
Josh Hawkins
b6db38bd4e use same logging pattern in sync_recordings as the other sync functions (#21625) 2026-02-25 09:02:08 -07:00
Josh Hawkins
92c6b8e484 Media sync API refactor and UI (#21542)
* generic job infrastructure

* types and dispatcher changes for jobs

* save data in memory only for completed jobs

* implement media sync job and endpoints

* change logs to debug

* websocket hook and types

* frontend

* i18n

* docs tweaks

* endpoint descriptions

* tweak docs
2026-02-25 09:02:07 -07:00
Josh Hawkins
9381f26352 Add media sync API endpoint (#21526)
* add media cleanup functions

* add endpoint

* remove scheduled sync recordings from cleanup

* move to utils dir

* tweak import

* remove sync_recordings and add config migrator

* remove sync_recordings

* docs

* remove key

* clean up docs

* docs fix

* docs tweak
2026-02-25 09:02:07 -07:00
Nicolas Mowen
e0180005be Add API to handle deleting recordings (#21520)
* Add recording delete API

* Re-organize recordings apis

* Fix import

* Consolidate query types
2026-02-25 09:02:07 -07:00
Nicolas Mowen
2041798702 Exports Improvements (#21521)
* Add images to case folder view

* Add ability to select case in export dialog

* Add to mobile review too
2026-02-25 09:02:07 -07:00
Nicolas Mowen
3d23b5de30 Add support for GPU and NPU temperatures (#21495)
* Add rockchip temps

* Add support for GPU and NPU temperatures in the frontend

* Add support for Nvidia temperature

* Improve separation

* Adjust graph scaling
2026-02-25 09:02:07 -07:00
Andrew Roberts
209bb44518 Camera-specific hwaccel settings for timelapse exports (correct base) (#21386)
* added hwaccel_args to camera.record.export config struct

* populate camera.record.export.hwaccel_args with a cascade up to camera then global if 'auto'

* use new hwaccel args in export

* added documentation for camera-specific hwaccel export

* fix c/p error

* missed an import

* fleshed out the docs and comments a bit

* ruff lint

* separated out the tips in the doc

* fix documentation

* fix and simplify reference config doc
2026-02-25 09:02:07 -07:00
Nicolas Mowen
88462cd6c3 Refactor temperature reporting for detectors and implement Hailo temp reading (#21395)
* Add Hailo temperature retrieval

* Refactor `get_hailo_temps()` to use ctxmanager

* Show Hailo temps in system UI

* Move hailo_platform import to get_hailo_temps

* Refactor temperatures calculations to use within detector block

* Adjust webUI to handle new location

---------

Co-authored-by: tigattack <10629864+tigattack@users.noreply.github.com>
2026-02-25 09:02:07 -07:00
Nicolas Mowen
c2cc23861a Export filter UI (#21322)
* Get started on export filters

* implement basic filter

* Implement filtering and adjust api

* Improve filter handling

* Improve navigation

* Cleanup

* handle scrolling
2026-02-25 09:02:07 -07:00
Josh Hawkins
2b46084260 Camera connection quality indicator (#21297)
* add camera connection quality metrics and indicator

* formatting

* move stall calcs to watchdog

* clean up

* change watchdog to 1s and separately track time for ffmpeg retry_interval

* implement status caching to reduce message volume
2026-02-25 09:02:07 -07:00
Nicolas Mowen
67466f215c Case management UI (#21299)
* Refactor export cards to match existing cards in other UI pages

* Show cases separately from exports

* Add proper filtering and display of cases

* Add ability to edit and select cases for exports

* Cleanup typing

* Hide if no unassigned

* Cleanup hiding logic

* fix scrolling

* Improve layout
2026-02-25 09:02:07 -07:00
Josh Hawkins
e011424947 refactor vainfo to search for first GPU (#21296)
use existing LibvaGpuSelector to pick appropritate libva device
2026-02-25 09:02:07 -07:00
Nicolas Mowen
a1a0051dd7 implement case management for export apis (#21295) 2026-02-25 09:02:07 -07:00
Nicolas Mowen
ff331060c3 Create scaffolding for case management (#21293) 2026-02-25 09:02:07 -07:00
Nicolas Mowen
7aab1f02ec Update version 2026-02-25 09:02:07 -07:00
Josh Hawkins
352d271fe4 Update HA docs with MQTT example (#22098)
* update HA docs with MQTT example

* format block as yaml
2026-02-23 10:25:03 -06:00
Kai Curry
a6e11a59d6 docs: Add detail to face recognition MQTT update docs (#21942)
* Add detail to face recognition MQTT update docs

Clarify that the weighted average favors larger faces and
higher-confidence detections, that unknown attempts are excluded,
and document when name/score will be null/0.0.

* Fix score decimal in MQTT face recognition documentation

`0.0` in JSON is just `0`.

* Clarify score is a running weighted average

* Simplify MQTT tracked_object_update docs with inline comments

Move scoring logic details to face recognition docs and keep
MQTT reference concise with inline field comments and links.

* fix (expand) lpr doc link

* rm obvious lpr comments

---------

Co-authored-by: Kai Curry <kai@wjerk.com>
2026-02-23 06:46:55 -07:00