Commit graph

2674 commits

Author SHA1 Message Date
Anish Sarkar
ced1bb85ed feat(model-connections): implement bulk model update endpoint and related schema changes 2026-06-12 09:43:56 +05:30
Anish Sarkar
8e8cf96faa feat(error-handling): implement LLM error adaptation and classification for chat streaming
- Introduced LLMErrorCategory and adapt_llm_exception to normalize LLM exceptions.
- Updated llm_retryable_message and llm_permanent_message to utilize the new adaptation logic.
- Enhanced classify_stream_exception to classify provider errors and return user-friendly messages.
- Added tests for error classification and adaptation to ensure robustness.
- Updated frontend error handling to display appropriate messages based on new classifications.
2026-06-12 05:03:14 +05:30
Anish Sarkar
203ef78346 Merge remote-tracking branch 'upstream/dev' into feat/unified-model-connections 2026-06-12 04:00:25 +05:30
CREDO23
7b30a76856 fix(gitignore): anchor data/ rule; track podcast voice catalogs 2026-06-12 00:06:37 +02:00
Anish Sarkar
aba95e4faf feat(database): enhance podcast lifecycle management by adding temporary unpublishing during migration 2026-06-12 03:35:49 +05:30
Anish Sarkar
5da3ab0552 feat(database): rename add_model_connections alembic migration 2026-06-12 03:20:09 +05:30
Anish Sarkar
908790e40f Merge remote-tracking branch 'upstream/dev' into feat/unified-model-connections 2026-06-12 03:15:28 +05:30
CREDO23
41f4a58663 Merge remote-tracking branch 'upstream/dev' into improvement-podcast-graph
# Conflicts:
#	surfsense_backend/app/tasks/celery_tasks/podcast_tasks.py
2026-06-11 23:14:49 +02:00
Anish Sarkar
3dd54230e7 fix(chat): normalize provider-safe message history 2026-06-12 02:17:37 +05:30
Anish Sarkar
5d5d574550 refactor(model-connections): move backend model connections to provider capabilities 2026-06-12 02:17:22 +05:30
DESKTOP-RTLN3BA\$punk
c3695e7837 feat: update auto-reload settings and enhance payment session creation
- Added currency parameter to the Stripe checkout session for auto-reload setup.
- Integrated AutoReloadSettings component into the BuyMorePage for improved user experience.
- Removed deprecated AutoReloadSettings component from user settings directory.
- Updated import paths for AutoReloadSettings in purchases page to reflect new structure.
2026-06-11 13:29:40 -07:00
Anish Sarkar
831ad23c6c fix(chat): harden image generation model routing 2026-06-11 18:22:45 +05:30
Anish Sarkar
c28c4f5785 feat(chat): route models by provider capabilities 2026-06-11 18:22:23 +05:30
Anish Sarkar
8f20a32571 refactor(model-connections): consolidate provider capability handling 2026-06-11 18:21:07 +05:30
Anish Sarkar
c6a25cc1fe refactor(model-connections): streamline global model config persistence 2026-06-11 18:20:53 +05:30
Anish Sarkar
3f01642199 feat(model-connections): enhance model discovery with OpenAI and LiteLLM support 2026-06-11 17:29:55 +05:30
CREDO23
ca9b157676 fix(podcasts): keep legacy episodes readable and guard regenerate 2026-06-11 12:43:07 +02:00
CREDO23
aa7f14d94f feat(podcasts): add revert-regeneration and surface cancel on the live card 2026-06-11 12:31:42 +02:00
CREDO23
f0fc660d70 feat(podcasts): constrain monologue briefs to a single speaker 2026-06-11 11:56:57 +02:00
CREDO23
eb56acc407 refactor(podcasts): regenerate via brief gate, render brief inline in chat 2026-06-11 11:45:17 +02:00
CREDO23
11a6b178a0 refactor(podcasts): drop transcript gate, add regenerate-from-ready and voice previews 2026-06-11 10:42:13 +02:00
DESKTOP-RTLN3BA\$punk
65e511f77b feat: enhance credit management and user experience
- Updated database queries to check for column existence with schema context.
- Modified credit purchase quantity limits to allow up to 10,000 credits.
- Improved user interface for credit purchases, enabling custom amounts and clamping input values.
- Adjusted FAQ content to clarify credit purchasing process.
2026-06-10 22:52:27 -07:00
Anish Sarkar
50c816c81c refactor(model-connections): streamline connection reading and model handling in routes 2026-06-11 10:22:39 +05:30
CREDO23
c84525897b test(podcasts): relocate stateful tests to integration
Move the lifecycle service, Celery task bodies, and mark_failed coverage out of
DB-faking unit tests and into integration tests against a real Postgres, faking
only true externals (broker, object store, TTS, ffmpeg, billing, LLM). Add HTTP
slices for cancel, voices, scoping, and public-chat streaming. The unit tier is
now fake-free pure logic with no session doubles.
2026-06-11 06:27:00 +02:00
DESKTOP-RTLN3BA\$punk
a7407502d3 feat(refactor): refactor payment system to implement unified credit wallet.
- Updated environment variables and - configurations for credit purchases via Stripe, replacing legacy page pack system.
- Introduced auto-reload feature for credit top-ups and modified database models to track credit transactions.
- Updated notification system to handle insufficient credits and auto-reload failures.
- Adjusted API routes and schemas to reflect changes in credit management.
2026-06-10 16:49:03 -07:00
CREDO23
8f38737ad9 test(podcasts): retarget celery and observability tests to new tasks 2026-06-10 21:45:04 +02:00
CREDO23
97ab7a88fd refactor(podcasts): remove legacy podcaster agent, task, and schema 2026-06-10 21:45:04 +02:00
CREDO23
003d1d2b95 refactor(podcasts): stream public podcast audio via storage backend 2026-06-10 21:44:57 +02:00
CREDO23
8b52cd0ac9 refactor(podcasts): mount lifecycle router, drop legacy routes 2026-06-10 21:44:57 +02:00
CREDO23
3eb7cdb2d8 refactor(podcasts): gate chat-triggered podcast on brief review 2026-06-10 21:44:50 +02:00
CREDO23
b7604167d8 docs(podcasts): tighten comments and docstrings 2026-06-10 20:51:59 +02:00
CREDO23
bae59140a6 refactor(podcasts): propose brief inline at create 2026-06-10 20:51:51 +02:00
CREDO23
aa7aa81c16 refactor(podcasts): drop language detection from brief 2026-06-10 20:51:38 +02:00
Anish Sarkar
780e242132 feat(model-connections): implement manual model addition and enhance model discovery 2026-06-11 00:11:53 +05:30
CREDO23
15e44616f3 test(podcasts): cover drafting billing gate 2026-06-10 18:44:26 +02:00
CREDO23
0bed4a0d38 test(podcasts): cover failure recording 2026-06-10 18:44:25 +02:00
CREDO23
0c7987cd9e test(podcasts): cover api read model 2026-06-10 18:44:25 +02:00
CREDO23
fa7ab8a06d test(podcasts): cover renderer validation 2026-06-10 18:44:25 +02:00
CREDO23
36c201f9e2 test(podcasts): cover structured json parsing 2026-06-10 18:44:25 +02:00
CREDO23
0c92ee963e test(podcasts): cover voice catalog 2026-06-10 18:44:25 +02:00
CREDO23
e926990d8e test(podcasts): cover language and voice resolution 2026-06-10 18:44:25 +02:00
CREDO23
aaa9f01087 test(podcasts): cover brief and transcript contracts 2026-06-10 18:44:25 +02:00
CREDO23
9d8e4e4f9d test(podcasts): cover lifecycle state machine 2026-06-10 18:44:25 +02:00
CREDO23
f61e8af8c0 test(podcasts): add shared test fixtures 2026-06-10 18:44:25 +02:00
CREDO23
eaaeebc1bb fix(podcasts): anchor podcasts ignore to blob dir 2026-06-10 18:44:12 +02:00
CREDO23
467bcd4f7b feat(podcasts): add zero publication migration 2026-06-10 18:44:12 +02:00
CREDO23
63f5f12834 feat(podcasts): add lifecycle migration 2026-06-10 18:44:12 +02:00
CREDO23
1ebb57e1df feat(podcasts): publish podcasts to zero 2026-06-10 18:44:12 +02:00
CREDO23
5d956e8d03 feat(podcasts): register podcast tasks 2026-06-10 18:44:12 +02:00
CREDO23
89ceae8bab refactor(podcasts): re-export podcast model from module 2026-06-10 18:44:12 +02:00