Commit Graph

5365 Commits

Author SHA1 Message Date
Nicolas Mowen
e42f70eeec Implement message editing 2026-02-26 08:38:59 -07:00
Nicolas Mowen
e7b2b919d5 Improve default behavior 2026-02-26 08:38:59 -07:00
Nicolas Mowen
c68b7c9f46 Improvements to UI 2026-02-26 08:38:59 -07:00
Nicolas Mowen
8184ec5c8f Add copy button 2026-02-26 08:38:59 -07:00
Nicolas Mowen
ef448a7f7c Fix tool calling 2026-02-26 08:38:58 -07:00
Nicolas Mowen
f841ccdb63 Undo 2026-02-26 08:38:58 -07:00
Nicolas Mowen
4b6228acd9 Full streaming support 2026-02-26 08:38:58 -07:00
Nicolas Mowen
0b8d1ce568 Support streaming 2026-02-26 08:38:58 -07:00
Nicolas Mowen
9ad7a2639f Improve UI handling 2026-02-26 08:38:58 -07:00
Nicolas Mowen
089c2c1018 Add title 2026-02-26 08:38:58 -07:00
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