5339 Commits

Author SHA1 Message Date
Nicolas Mowen
aec7c15b6f Add support for markdown tables 2026-02-18 18:22:00 -07:00
Nicolas Mowen
a5755c806b Fix loading 2026-02-18 16:42:14 -07:00
Nicolas Mowen
ce33ae0bbc Cleanup UI bubbles 2026-02-18 16:34:51 -07:00
Nicolas Mowen
361dcc94c8 Cleanup UI and prompt 2026-02-18 10:52:48 -07:00
Nicolas Mowen
d4630c62ca Cleanup 2026-02-18 10:52:48 -07:00
Nicolas Mowen
994a5acc52 Add sub label to event tool filtering 2026-02-18 10:52:48 -07:00
Nicolas Mowen
2ddd55c470 Implement message editing 2026-02-18 10:52:48 -07:00
Nicolas Mowen
7f69233f71 Improve default behavior 2026-02-18 10:52:48 -07:00
Nicolas Mowen
7551332c01 Improvements to UI 2026-02-18 10:52:48 -07:00
Nicolas Mowen
76409f79e0 Add copy button 2026-02-18 10:52:48 -07:00
Nicolas Mowen
730bf3c0b7 Fix tool calling 2026-02-18 10:52:48 -07:00
Nicolas Mowen
0371f55321 Undo 2026-02-18 10:52:48 -07:00
Nicolas Mowen
858367c98a Full streaming support 2026-02-18 10:52:48 -07:00
Nicolas Mowen
e09e9a0b7a Support streaming 2026-02-18 10:52:48 -07:00
Nicolas Mowen
3b3edc481b Improve UI handling 2026-02-18 10:52:48 -07:00
Nicolas Mowen
b0bcf45245 Add title 2026-02-18 10:52:48 -07:00
Nicolas Mowen
910122913a Show tool calls separately from message 2026-02-18 10:52:48 -07:00
Nicolas Mowen
99e97850c9 More time parsing improvements 2026-02-18 10:52:48 -07:00
Nicolas Mowen
59a38aa67c Reduce fields in response 2026-02-18 10:52:48 -07:00
Nicolas Mowen
9125eff794 Adjust timing format 2026-02-18 10:52:48 -07:00
Nicolas Mowen
e934910616 Improvements 2026-02-18 10:52:48 -07:00
Nicolas Mowen
a21cabae2d Add markdown 2026-02-18 10:52:48 -07:00
Nicolas Mowen
79d7d20866 processing 2026-02-18 10:52:48 -07:00
Nicolas Mowen
e7e806b135 Add chat history 2026-02-18 10:52:48 -07:00
Nicolas Mowen
f29adca9ce Add basic chat page with entry 2026-02-18 10:52:48 -07:00
Nicolas Mowen
b6e17b032a Fix import issues 2026-02-18 10:52:32 -07:00
Nicolas Mowen
d150b44d36 Cleanup 2026-02-18 10:52:32 -07:00
Nicolas Mowen
1e4596eb99 Support getting client via manager 2026-02-18 10:52:32 -07:00
Nicolas Mowen
7c066f661a Convert to roles list 2026-02-18 10:52:32 -07:00
Nicolas Mowen
feba94b202 Add config migration 2026-02-18 10:52:32 -07:00
Nicolas Mowen
3093a7a594 GenAI client manager 2026-02-18 10:52:32 -07:00
nulledy
fd5d8f9be4 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-18 10:52:12 -07:00
nulledy
f49775e89a 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-18 10:52:12 -07:00
Josh Hawkins
257114b63f 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-18 10:52:12 -07:00
FL42
19ae7ee45c feat: add X-Frame-Time when returning snapshot (#21932)
Co-authored-by: Florent MORICONI <170678386+fmcloudconsulting@users.noreply.github.com>
2026-02-18 10:52:12 -07:00
Eric Work
6f7ef2779e Add networking options for configuring listening ports (#21779) 2026-02-18 10:52:10 -07:00
Nicolas Mowen
0a19d95af5 Add live context tool to LLM (#21754)
* Add live context tool

* Improve handling of images in request

* Improve prompt caching
2026-02-18 10:51:52 -07:00
Nicolas Mowen
aa68bedcd8 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-18 10:51:50 -07:00
Josh Hawkins
a322f13d7a 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-18 10:51:23 -07:00
Nicolas Mowen
b2d243d4e7 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-18 10:51:23 -07:00
John Shaw
b4f9f0c3cb 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-18 10:51:23 -07:00
Nicolas Mowen
96eb8837ab 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-18 10:51:23 -07:00
John Shaw
9c88cd4017 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-18 10:50:46 -07:00
Nicolas Mowen
2ce33f66a8 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-18 10:50:46 -07:00
Eugeny Tulupov
264a111bcc Update go2rtc to v1.9.13 (#21648)
Co-authored-by: Eugeny Tulupov <eugeny.tulupov@spirent.com>
2026-02-18 10:50:46 -07:00
Josh Hawkins
b9d33e9e83 Fix incorrect counting in sync_recordings (#21626) 2026-02-18 10:50:46 -07:00
Josh Hawkins
f83f9cbe93 use same logging pattern in sync_recordings as the other sync functions (#21625) 2026-02-18 10:50:46 -07:00
Josh Hawkins
bd924fabd5 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-18 10:50:46 -07:00
Josh Hawkins
1bcd4d283f 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-18 10:50:46 -07:00
Nicolas Mowen
9cab5c8e81 Add API to handle deleting recordings (#21520)
* Add recording delete API

* Re-organize recordings apis

* Fix import

* Consolidate query types
2026-02-18 10:50:46 -07:00