Commit graph

49 commits

Author SHA1 Message Date
CREDO23
7fb0707933 refactor(backend): rename search_space -> workspace across app bulk (Phase 2 Wave D)
Scoped codemod over surfsense_backend/app (excluding routes/, Wave E): renames
search_space_id -> workspace_id, search_space -> workspace, SearchSpace -> Workspace
across services, utils, tasks, agents, gateway, event_bus, notifications, podcasts,
automations, observability params, and prompt .md files. Also flips the camelCase
payload key searchSpaceId -> workspaceId (no backend reader; hard cutover).

Preserved carve-outs (verbatim): Celery task names "delete_search_space_background"
and "ai_sort_search_space" (wire names), and the OTel/metric key "search_space.id"
(dashboards depend on it). Enum values 'SEARCH_SPACE' and SearchSourceConnector
untouched.
2026-06-26 18:30:47 +02:00
CREDO23
d948b769ba refactor(db): rename search_space to workspace in satellite ORM models (Phase 2 Wave B)
Flip search_space_id -> workspace_id and the workspace relationship/back_populates
in the automations, file_storage, notifications, and podcasts persistence models,
and drop the Phase 1 Column("workspace_id", ...) shim. Full SQLAlchemy mapper
configuration now passes (db.py + satellites consistent).
2026-06-26 18:20:28 +02:00
CREDO23
c6d4e5df7c refactor(db): rename searchspaces table to workspaces
Phase 1 (rename DB) commit 1i: rename the SearchSpace table to workspaces
and flip all 24 inbound FK target strings (20 in db.py + the 4 satellite
models), plus the raw-SQL searchspaces references in the obsidian and
google-unification integration fixtures.

This completes the ORM half of Phase 1. The SearchSpace class name,
relationship/back_populates attribute names, and the /searchspaces API
route URLs are intentionally left for Phase 2.

Verified: unit 2375 passed/1 skip, integration 346 passed (baseline
parity); create_all builds every table with the workspaces name and all
FKs resolving to workspaces.id.
2026-06-26 13:27:16 +02:00
CREDO23
581ae693fc refactor(db): shim podcasts.search_space_id to physical workspace_id
Phase 1 (rename DB) commit 1e: attribute->physical column shim on the
podcasts satellite model. ORM attribute and relationship unchanged.
2026-06-26 12:12:13 +02:00
DESKTOP-RTLN3BA\$punk
c3f242a6b2 feat: fix desktop auth issues
- Added logging for JSON parsing failures in structured output to aid in debugging.
- Updated the TranscriptTurn model to ignore unknown keys, improving flexibility for future model variations.
2026-06-25 20:58:50 -07:00
Rohan Verma
efa9efc80b
Merge pull request #1532 from CREDO23/imporve-artifacts-accessibility
[Feat] Artifacts sidebar for chat deliverables
2026-06-25 13:31:45 -07:00
CREDO23
8b0a2f8964 feat: link artifacts to source chat 2026-06-23 15:47:21 +02:00
Anish Sarkar
1e8baa10ec refactor(routes): replace user variable with auth context in tests 2026-06-20 03:34:40 +05:30
Anish Sarkar
7ec6fa4d1f feat: enforce API access for integration routes 2026-06-19 20:28:12 +05:30
DESKTOP-RTLN3BA\$punk
0fe650fd8e Merge commit '7ce409c580' into dev 2026-06-16 22:48:14 -07:00
CREDO23
7584312712 style(podcasts): fix ruff issues in podcast spec schema
Remove duplicate typing import and format legacy minute coercion guard.
2026-06-16 23:57:36 +02:00
CREDO23
16d226e5ce refactor(podcasts): plan transcript length from midpoint seconds 2026-06-16 23:38:28 +02:00
CREDO23
116c38feac refactor(podcasts): build DurationTarget from brief seconds config 2026-06-16 23:38:28 +02:00
CREDO23
af08e2f033 refactor(podcasts): propose brief with min_seconds and max_seconds 2026-06-16 23:38:28 +02:00
CREDO23
d0ed5b94d9 refactor(podcasts): use shared second-based brief duration defaults 2026-06-16 23:38:28 +02:00
CREDO23
845653cbac feat(podcasts): pass min_seconds and max_seconds when proposing brief 2026-06-16 23:38:27 +02:00
CREDO23
085442ed9a feat(podcasts): use seconds defaults on create podcast request 2026-06-16 23:38:27 +02:00
CREDO23
32e0d21604 feat(podcasts): store brief duration in seconds with legacy load 2026-06-16 23:38:27 +02:00
CREDO23
9583e8f250 feat(podcasts): add shared duration limit constants 2026-06-16 23:38:27 +02:00
CREDO23
0c2808640a fix(podcasts): guard stream against missing audio 2026-06-16 20:09:08 +02:00
CREDO23
d2558e546e feat(podcasts): add audio_exists storage helper 2026-06-16 20:09:08 +02:00
Rohan Verma
4c28ba5295
Merge pull request #1487 from CREDO23/improvement-podcast-graph
[Feat] Podcast: Backend-owned language offering for the brief form
2026-06-12 00:58:02 -07:00
CREDO23
1ee38fc9ab feat(podcast): GET /podcasts/languages 2026-06-12 07:38:38 +02:00
CREDO23
fe4d69f478 feat(podcast): LanguageOptions read model 2026-06-12 07:38:38 +02:00
CREDO23
f3d253ae77 feat(podcast): export LanguageOffering 2026-06-12 07:38:38 +02:00
CREDO23
c8ee74b123 feat(podcast): offerable languages on the voice catalog 2026-06-12 07:38:38 +02:00
CREDO23
87be162d78 feat(podcast): curated common languages data 2026-06-12 07:38:38 +02:00
DESKTOP-RTLN3BA\$punk
05190da0a9 chore: linting 2026-06-11 15:31:43 -07:00
CREDO23
7b30a76856 fix(gitignore): anchor data/ rule; track podcast voice catalogs 2026-06-12 00:06:37 +02:00
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
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
CREDO23
7087f7866d feat(podcasts): add http api 2026-06-10 18:44:03 +02:00
CREDO23
b2970ba37e feat(podcasts): add celery tasks 2026-06-10 18:44:03 +02:00
CREDO23
4271048dcf feat(podcasts): add audio storage 2026-06-10 18:44:03 +02:00
CREDO23
470af28688 feat(podcasts): add lifecycle service 2026-06-10 18:44:03 +02:00
CREDO23
a3386cd5f9 feat(podcasts): add brief and transcript generation 2026-06-10 18:44:03 +02:00
CREDO23
0004abdc79 feat(podcasts): add audio renderer 2026-06-10 18:44:03 +02:00
CREDO23
bd6d079030 feat(podcasts): add language and voice resolution 2026-06-10 18:44:03 +02:00
CREDO23
75287020e1 feat(podcasts): add text-to-speech adapters 2026-06-10 18:44:03 +02:00
CREDO23
ee24925747 feat(podcasts): add voice catalog 2026-06-10 18:44:03 +02:00
CREDO23
65b6c2d357 feat(podcasts): add persistence model and repository 2026-06-10 18:44:03 +02:00
CREDO23
73e191af09 feat(podcasts): add brief and transcript schemas 2026-06-10 18:44:03 +02:00
CREDO23
8dd29fa833 feat(podcasts): add module package init 2026-06-10 18:44:03 +02:00