(summary) extend v2 routes to support visio usecase

* Update the v2 create transcribe payload to support
publishing directly to docs and performing automatically
a summary if requested
* Note that title computation is to be handled by the caller
now as it makes more sense and avoids throwing a bunch
of parameters to the endpoint.
* All files are send as signed URL now, we don't read
directly from s3 anymore,
* Docs integration is now explicit in summary settings
* To make analytics work properly accross projects,
we use the user sub as distinct id,
this will require a new posthog project to be deployed
to work properly.
We create a post hog event at the creation request processing,
to make sure feature flags work properly after that.
* User email should now be provided to the API, it's not
mandatory to avoid a breaking change.
* Use a specific user agent for better tracking
Finally note that existing helpers don't always make use of
 the pydantic models, so that's why there
are model_dump in some places. To avoid bigger changes.
This commit is contained in:
Florent Chehab
2026-05-28 21:40:13 +02:00
committed by aleb_the_flash
parent 27da57aff5
commit ecf8f0fe3f
15 changed files with 470 additions and 217 deletions
@@ -1,5 +1,6 @@
"""Integration tests for the V2 task API endpoints."""
from datetime import datetime
from unittest.mock import ANY, MagicMock, patch
@@ -31,6 +32,8 @@ class TestTasksV2:
}
args = mock_apply_async.call_args.kwargs["args"]
received_at = args[0].pop("received_at")
assert isinstance(received_at, datetime)
assert args == [
{
"user_sub": "remote-001",
@@ -38,6 +41,9 @@ class TestTasksV2:
"language": "en",
"context_language": "fr",
"tenant_id": "test-tenant",
"user_email": None,
"metadata": None,
"push_to_docs_config": None,
}
]
@@ -64,11 +70,14 @@ class TestTasksV2:
}
args = mock_apply_async.call_args.kwargs["args"]
received_at = args[0].pop("received_at")
assert isinstance(received_at, datetime)
assert args == [
{
"user_sub": "remote-002",
"content": "This is a long meeting transcript to summarize.",
"tenant_id": "test-tenant",
"user_email": None,
}
]