Commit Graph

37 Commits

Author SHA1 Message Date
Igor Loskutov
243ff2177c durable (no-mistakes) 2025-12-15 12:18:47 -05:00
Igor Monadical
1473fd82dc feat: daily.co support as alternative to whereby (#691)
* llm instructions

* vibe dailyco

* vibe dailyco

* doc update (vibe)

* dont show recording ui on call

* stub processor (vibe)

* stub processor (vibe) self-review

* stub processor (vibe) self-review

* chore(main): release 0.14.0 (#670)

* Add multitrack pipeline

* Mixdown audio tracks

* Mixdown with pyav filter graph

* Trigger multitrack processing for daily recordings

* apply platform from envs in priority: non-dry

* Use explicit track keys for processing

* Align tracks of a multitrack recording

* Generate waveforms for the mixed audio

* Emit multriack pipeline events

* Fix multitrack pipeline track alignment

* dailico docs

* Enable multitrack reprocessing

* modal temp files uniform names, cleanup. remove llm temporary docs

* docs cleanup

* dont proceed with raw recordings if any of the downloads fail

* dry transcription pipelines

* remove is_miltitrack

* comments

* explicit dailyco room name

* docs

* remove stub data/method

* frontend daily/whereby code self-review (no-mistake)

* frontend daily/whereby code self-review (no-mistakes)

* frontend daily/whereby code self-review (no-mistakes)

* consent cleanup for multitrack (no-mistakes)

* llm fun

* remove extra comments

* fix tests

* merge migrations

* Store participant names

* Get participants by meeting session id

* pop back main branch migration

* s3 paddington (no-mistakes)

* comment

* pr comments

* pr comments

* pr comments

* platform / meeting cleanup

* Use participant names in summary generation

* platform assignment to meeting at controller level

* pr comment

* room playform properly default none

* room playform properly default none

* restore migration lost

* streaming WIP

* extract storage / use common storage / proper env vars for storage

* fix mocks tests

* remove fall back

* streaming for multifile

* cenrtal storage abstraction (no-mistakes)

* remove dead code / vars

* Set participant user id for authenticated users

* whereby recording name parsing fix

* whereby recording name parsing fix

* more file stream

* storage dry + tests

* remove homemade boto3 streaming and use proper boto

* update migration guide

* webhook creation script - print uuid

---------

Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com>
Co-authored-by: Mathieu Virbel <mat@meltingrocks.com>
Co-authored-by: Sergey Mankovsky <sergey@monadical.com>
2025-11-12 21:21:16 -05:00
Igor Monadical
9a258abc02 feat: api tokens (#705)
* feat: api tokens (vibe)

* self-review

* remove token terminology + pr comments (vibe)

* return email_verified

---------

Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com>
2025-10-20 12:55:25 -04:00
9a71af145e fix: update transcript list on reprocess (#676)
* Update transcript list on reprocess

* Fix transcript create

* Fix multiple sockets issue

* Pass token in sec websocket protocol

* userEvent parse example

* transcript list invalidation non-abstraction

* Emit only relevant events to the user room

* Add ws close code const

* Refactor user websocket endpoint

* Refactor user events provider

---------

Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com>
2025-10-07 19:11:30 +02:00
Igor Monadical
5bf64b5a41 feat: docker-compose for production frontend (#664)
* docker-compose for production frontend

* fix: Remove external Redis port mapping for Coolify compatibility

Redis should only be accessible within the internal Docker network in Coolify deployments to avoid port conflicts with other applications.

* fix: Remove external port mapping for web service in Coolify

Coolify handles port exposure through its proxy (Traefik), so services should not expose ports directly in the docker-compose file.

* server side client envs

* missing vars

* nextjs experimental

* fix claude 'fix'

* remove build env vars compose

* docker

* remove ports for coolify

* review

* cleanup

---------

Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com>
2025-09-24 11:15:27 -04:00
f5b82d44e3 style: use ruff for linting and formatting (#524) 2025-07-31 17:57:43 -06:00
86ce68651f build: move to uv (#488)
* build: move to uv

* build: add packages declaration

* build: move to python 3.12, as sentencespiece does not work on 3.13

* ci: remove pre-commit check, will be done in another branch.

* ci: fix name checkout

* ci: update lock and dockerfile

* test: remove event_loop, not needed in python 3.12

* test: updated test due to av returning AudioFrame with 4096 samples instead of 1024

* build: prevent using fastapi cli, because there is no way to set default port

I don't want to pass --port 1250 every time, so back on previous
approach. I deactivated auto-reload for production.

* ci: remove main.py

* test: fix quirck with httpx
2025-07-16 18:10:11 -06:00
Igor Loskutov
91c7c8b83a meeting consent vibe 2025-06-17 16:30:23 -04:00
159bd82e1c Create new meeting after previous has ended 2024-12-24 14:18:35 +01:00
901de8c009 Replace streams json 2024-09-24 14:54:44 +02:00
9df5385ff3 Fix transcript link to meeting 2024-08-22 21:46:55 +02:00
55697e670d Permanent room urls 2024-08-19 17:56:32 +02:00
2381428ae2 Link recorded meeting to a transcript 2024-08-09 17:30:45 +02:00
562f2c94f9 Restart processing 2024-07-18 11:34:42 +02:00
3e6813e7c6 Reduce transaction sample rate 2024-06-03 13:43:14 +02:00
32bb411652 Remove traces_sample_rate (#352) 2024-03-01 20:35:37 +01:00
7bb44ac88b server: fix openapi generation with duplicate route for audio/mp3 2023-12-18 15:42:42 +01:00
eba60b7de4 Merge branch 'main' into feat-api-speaker-reassignment 2023-12-15 11:14:19 +01:00
e5e1b70213 server: include endpoint to upload a audio/video file 2023-12-12 20:39:15 +01:00
6f3d7df507 server: add API to reassign speakers, and get topics with words 2023-12-06 16:41:18 +01:00
7ac6d25217 server: add participant API
Also break out views into different files for easier reading
2023-11-30 19:13:37 +01:00
afa8010d29 server: add a way to do profiling on api request by adding profile=1 2023-11-10 14:41:28 +01:00
d8a842f099 server: full diarization processor implementation based on gokul app 2023-11-02 17:39:21 +01:00
86f4de7958 server: allow CORS credentials 2023-10-18 12:41:15 +02:00
c55f038ed4 server: allow to configure CORS_ORIGIN 2023-10-17 20:38:44 +02:00
projects-g
9fe261406c Feature additions (#210)
* initial

* add LLM features

* update LLM logic

* update llm functions: change control flow

* add generation config

* update return types

* update processors and tests

* update rtc_offer

* revert new title processor change

* fix unit tests

* add comments and fix HTTP 500

* adjust prompt

* test with reflector app

* revert new event for final title

* update

* move onus onto processors

* move onus onto processors

* stash

* add provision for gen config

* dynamically pack the LLM input using context length

* tune final summary params

* update consolidated class structures

* update consolidated class structures

* update precommit

* add broadcast processors

* working baseline

* Organize LLMParams

* minor fixes

* minor fixes

* minor fixes

* fix unit tests

* fix unit tests

* fix unit tests

* update tests

* update tests

* edit pipeline response events

* update summary return types

* configure tests

* alembic db migration

* change LLM response flow

* edit main llm functions

* edit main llm functions

* change llm name and gen cf

* Update transcript_topic_detector.py

* PR review comments

* checkpoint before db event migration

* update DB migration of past events

* update DB migration of past events

* edit LLM classes

* Delete unwanted file

* remove List typing

* remove List typing

* update oobabooga API call

* topic enhancements

* update UI event handling

* move ensure_casing to llm base

* update tests

* update tests
2023-09-13 11:26:08 +05:30
60edca6366 server: add prometheus instrumentation 2023-09-12 13:11:13 +02:00
2a3ad5657f server: add /v1/me to get current user information
sub, email and email_verified
2023-08-18 12:02:16 +02:00
e12f9afe7b server: implement user authentication (none by default) 2023-08-16 17:24:05 +02:00
857505124f server: implement data persistence with database
Using databases + sqlite/postgresql depending of what you want.
Use DATABASE_URL to configure

Closes #70
2023-08-15 17:40:26 +02:00
Mathieu Virbel
f8fc83c943 server/www: simplify operationId in openapi and update www 2023-08-10 14:52:35 +02:00
Mathieu Virbel
20767fde3f server: start implementing new api 2023-08-04 18:17:02 +02:00
4d4292e1b5 server: add sentry to server (#93)
Closes #91
2023-08-02 11:28:18 +02:00
Mathieu Virbel
e4f2b785ca server: update process tools and tests 2023-08-01 20:16:54 +02:00
Mathieu Virbel
cb198927b0 server: add default uvicorn server + update readme 2023-08-01 20:13:16 +02:00
Mathieu Virbel
74d2974ed2 server: fixes latest implementation details on rtc offer and fastapi 2023-08-01 20:09:05 +02:00
224afc6f28 fastapi: implement server with same back compatibility as before 2023-07-29 15:59:25 +02:00