mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-06 22:12:12 +02:00
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.
25 lines
806 B
Python
25 lines
806 B
Python
"""Define the configurable parameters for the video presentation agent."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, fields
|
|
|
|
from langchain_core.runnables import RunnableConfig
|
|
|
|
|
|
@dataclass(kw_only=True)
|
|
class Configuration:
|
|
"""The configuration for the video presentation agent."""
|
|
|
|
video_title: str
|
|
workspace_id: int
|
|
user_prompt: str | None = None
|
|
|
|
@classmethod
|
|
def from_runnable_config(
|
|
cls, config: RunnableConfig | None = None
|
|
) -> Configuration:
|
|
"""Create a Configuration instance from a RunnableConfig object."""
|
|
configurable = (config.get("configurable") or {}) if config else {}
|
|
_fields = {f.name for f in fields(cls) if f.init}
|
|
return cls(**{k: v for k, v in configurable.items() if k in _fields})
|