# Project Semantic Map > Compressed view for AI Context. Generated automatically. - 📦 **generate_semantic_map** (`Module`) `[CRITICAL]` - 📝 Scans the codebase to generate a Semantic Map and Compliance Report based on the System Standard. - 🏗️ Layer: DevOps/Tooling - 🔒 Invariant: All DEF anchors must have matching closing anchors; TIER determines validation strictness. - ƒ **__init__** (`Function`) `[TRIVIAL]` - 📝 Mock init for self-containment. - ƒ **__enter__** (`Function`) `[TRIVIAL]` - 📝 Mock enter. - ƒ **__exit__** (`Function`) `[TRIVIAL]` - 📝 Mock exit. - ℂ **Tier** (`Class`) `[TRIVIAL]` - 📝 Enumeration of semantic tiers defining validation strictness. - ℂ **Severity** (`Class`) `[TRIVIAL]` - 📝 Severity levels for compliance issues. - ℂ **ComplianceIssue** (`Class`) `[TRIVIAL]` - 📝 Represents a single compliance issue with severity. - ℂ **SemanticEntity** (`Class`) `[CRITICAL]` - 📝 Represents a code entity (Module, Function, Component) found during parsing. - 🔒 Invariant: start_line is always set; end_line is set upon closure; tier defaults to STANDARD. - ƒ **__init__** (`Function`) - 📝 Initializes a new SemanticEntity instance. - ƒ **get_tier** (`Function`) - 📝 Returns the tier of the entity, defaulting to STANDARD. - ƒ **to_dict** (`Function`) - 📝 Serializes the entity to a dictionary for JSON output. - ƒ **validate** (`Function`) `[CRITICAL]` - 📝 Checks for semantic compliance based on TIER requirements. - ƒ **get_score** (`Function`) - 📝 Calculates a compliance score (0.0 to 1.0) based on tier requirements. - ƒ **get_patterns** (`Function`) - 📝 Returns regex patterns for a specific language. - ƒ **extract_svelte_props** (`Function`) - 📝 Extracts props from Svelte component script section. - ƒ **extract_svelte_events** (`Function`) - 📝 Extracts dispatched events from Svelte component. - ƒ **extract_data_flow** (`Function`) - 📝 Extracts store subscriptions and data flow from Svelte component. - ƒ **parse_file** (`Function`) `[CRITICAL]` - 📝 Parses a single file to extract semantic entities with tier awareness and enhanced Svelte analysis. - 🔒 Invariant: Every opened anchor must have a matching closing anchor for valid compliance. - ℂ **SemanticMapGenerator** (`Class`) `[CRITICAL]` - 📝 Orchestrates the mapping process with tier-based validation. - 🔒 Invariant: All entities are validated according to their TIER requirements. - ƒ **__init__** (`Function`) - 📝 Initializes the generator with a root directory. - ƒ **_load_gitignore** (`Function`) - 📝 Loads patterns from .gitignore file. - ƒ **_is_ignored** (`Function`) - 📝 Checks if a path should be ignored based on .gitignore or hardcoded defaults. - ƒ **run** (`Function`) `[CRITICAL]` - 📝 Main execution flow. - 🔗 CALLS -> `_walk_and_parse` - 🔗 CALLS -> `_generate_artifacts` - ƒ **_walk_and_parse** (`Function`) `[CRITICAL]` - 📝 Recursively walks directories and triggers parsing. - ƒ **_process_file_results** (`Function`) - 📝 Validates entities and calculates file scores with tier awareness. - ƒ **validate_recursive** (`Function`) - 📝 Recursively validates a list of entities. - ƒ **_generate_artifacts** (`Function`) `[CRITICAL]` - 📝 Writes output files with tier-based compliance data. - ƒ **_generate_report** (`Function`) `[CRITICAL]` - 📝 Generates the Markdown compliance report with severity levels. - ƒ **_collect_issues** (`Function`) - 📝 Helper to collect issues for a specific file from the entity tree. - ƒ **_generate_compressed_map** (`Function`) `[CRITICAL]` - 📝 Generates the token-optimized project map with enhanced Svelte details. - ƒ **_write_entity_md** (`Function`) `[CRITICAL]` - 📝 Recursive helper to write entity tree to Markdown with tier badges and enhanced details. - ƒ **to_dict** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **stores_module** (`Module`) - 📝 Global state management using Svelte stores. - 🏗️ Layer: UI-State - 📦 **plugins** (`Data`) - 📝 Store for the list of available plugins. - 📦 **tasks** (`Data`) - 📝 Store for the list of tasks. - 📦 **selectedPlugin** (`Data`) - 📝 Store for the currently selected plugin. - 📦 **selectedTask** (`Data`) - 📝 Store for the currently selected task. - 📦 **currentPage** (`Data`) - 📝 Store for the current page. - 📦 **taskLogs** (`Data`) - 📝 Store for the logs of the currently selected task. - ƒ **fetchPlugins** (`Function`) - 📝 Fetches plugins from the API and updates the plugins store. - ƒ **fetchTasks** (`Function`) - 📝 Fetches tasks from the API and updates the tasks store. - 📦 **toasts_module** (`Module`) - 📝 Manages toast notifications using a Svelte writable store. - 🏗️ Layer: UI-State - 📦 **toasts** (`Data`) - 📝 Writable store containing the list of active toasts. - ƒ **addToast** (`Function`) - 📝 Adds a new toast message. - ƒ **removeToast** (`Function`) - 📝 Removes a toast message by ID. - 📦 **api_module** (`Module`) - 📝 Handles all communication with the backend API. - 🏗️ Layer: Infra-API - ƒ **getWsUrl** (`Function`) - 📝 Returns the WebSocket URL for a specific task, with fallback logic. - ƒ **getAuthHeaders** (`Function`) - 📝 Returns headers with Authorization if token exists. - ƒ **fetchApi** (`Function`) - 📝 Generic GET request wrapper. - ƒ **postApi** (`Function`) - 📝 Generic POST request wrapper. - ƒ **requestApi** (`Function`) - 📝 Generic request wrapper. - 📦 **api** (`Data`) - 📝 API client object with specific methods. - 🗄️ **authStore** (`Store`) - 📝 Manages the global authentication state on the frontend. - 🏗️ Layer: Feature - 📦 **AuthState** (`Interface`) - 📝 Defines the structure of the authentication state. - ƒ **createAuthStore** (`Function`) - 📝 Creates and configures the auth store with helper methods. - ƒ **setToken** (`Function`) - 📝 Updates the store with a new JWT token. - ƒ **setUser** (`Function`) - 📝 Sets the current user profile data. - ƒ **logout** (`Function`) - 📝 Clears authentication state and storage. - ƒ **setLoading** (`Function`) - 📝 Updates the loading state. - 🧩 **Select** (`Component`) - 📝 Standardized dropdown selection component. - 🏗️ Layer: Atom - 📥 Props: label: string , value: string | number , disabled: boolean - 📦 **ui** (`Module`) - 📝 Central export point for standardized UI components. - 🏗️ Layer: Atom - 🔒 Invariant: All components exported here must follow Semantic Protocol. - 🧩 **PageHeader** (`Component`) - 📝 Standardized page header with title and action area. - 🏗️ Layer: Atom - 📥 Props: title: string - 🧩 **Card** (`Component`) - 📝 Standardized container with padding and elevation. - 🏗️ Layer: Atom - 📥 Props: title: string - 🧩 **Button** (`Component`) - 📝 Define component interface and default values. - 🏗️ Layer: Atom - 🔒 Invariant: Supports accessible labels and keyboard navigation. - 📥 Props: isLoading: boolean , disabled: boolean - 🧩 **Input** (`Component`) - 📝 Standardized text input component with label and error handling. - 🏗️ Layer: Atom - 🔒 Invariant: Consistent spacing and focus states. - 📥 Props: label: string , value: string , placeholder: string , error: string , disabled: boolean - 🧩 **LanguageSwitcher** (`Component`) - 📝 Dropdown component to switch between supported languages. - 🏗️ Layer: Atom - ⬅️ READS_FROM `lib` - ➡️ WRITES_TO `locale` - 📦 **i18n** (`Module`) - 📝 Determines the starting locale. - 🏗️ Layer: Infra - 🔒 Invariant: Persistence is handled via LocalStorage. - 🔗 DEPENDS_ON -> `locales/ru.json` - 🔗 DEPENDS_ON -> `locales/en.json` - 🗄️ **locale** (`Store`) - 📝 Holds the current active locale string. - 🗄️ **t** (`Store`) - 📝 Derived store providing the translation dictionary. - ƒ **selectPlugin** (`Function`) - 📝 Handles plugin selection and navigation. - ƒ **handleFormSubmit** (`Function`) - 📝 Handles task creation from dynamic form submission. - ƒ **load** (`Function`) - 📝 Loads initial plugin data for the dashboard. - 🧩 **TaskManagementPage** (`Component`) - 📝 Page for managing and monitoring tasks. - 🏗️ Layer: Page - ⬅️ READS_FROM `lib` - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **loadInitialData** (`Function`) - 📝 Loads tasks and environments on page initialization. - ƒ **refreshTasks** (`Function`) - 📝 Periodically refreshes the task list. - ƒ **handleSelectTask** (`Function`) - 📝 Updates the selected task ID when a task is clicked. - ƒ **handleRunBackup** (`Function`) - 📝 Triggers a manual backup task for the selected environment. - 🧩 **LoginPage** (`Component`) - 📝 Provides the user interface for local and ADFS authentication. - 🏗️ Layer: UI - 🔒 Invariant: Shows both local login form and ADFS SSO button. - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `auth` - ƒ **handleLogin** (`Function`) - 📝 Submits the local login form to the backend. - ƒ **handleADFSLogin** (`Function`) - 📝 Redirects the user to the ADFS login endpoint. - 🧩 **AdminRolesPage** (`Component`) - 📝 UI for managing system roles and their permissions. - 🏗️ Layer: Domain - 🔒 Invariant: Only accessible by users with Admin role. - ⬅️ READS_FROM `lib` - ⬅️ READS_FROM `t` - ➡️ WRITES_TO `t` - ƒ **loadData** (`Function`) - 📝 Fetches roles and available permissions. - ƒ **openCreateModal** (`Function`) - 📝 Initializes state for creating a new role. - ƒ **openEditModal** (`Function`) - 📝 Initializes state for editing an existing role. - ƒ **handleSaveRole** (`Function`) - 📝 Submits role data (create or update). - ƒ **handleDeleteRole** (`Function`) - 📝 Deletes a role after confirmation. - 🧩 **AdminUsersPage** (`Component`) - 📝 UI for managing system users and their roles. - 🏗️ Layer: Feature - 🔒 Invariant: Only accessible by users with "admin:users" permission. - ⬅️ READS_FROM `lib` - ⬅️ READS_FROM `t` - ➡️ WRITES_TO `t` - ƒ **loadData** (`Function`) - 📝 Fetches users and roles from the backend. - ƒ **openCreateModal** (`Function`) - 📝 Prepares the form for creating a new user. - ƒ **openEditModal** (`Function`) - 📝 Prepares the form for editing an existing user. - ƒ **handleSaveUser** (`Function`) - 📝 Submits user data to the backend (create or update). - ƒ **handleDeleteUser** (`Function`) - 📝 Deletes a user after confirmation. - 🧩 **AdminSettingsPage** (`Component`) - 📝 UI for configuring Active Directory Group to local Role mappings for ADFS SSO. - 🏗️ Layer: Feature - 🔒 Invariant: Only accessible by users with "admin:settings" permission. - ⬅️ READS_FROM `lib` - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **loadData** (`Function`) - 📝 Fetches AD mappings and roles from the backend to populate the UI. - ƒ **handleCreateMapping** (`Function`) - 📝 Submits a new AD Group to Role mapping to the backend. - 🧩 **LLMSettingsPage** (`Component`) - 📝 Admin settings page for LLM provider configuration. - 🏗️ Layer: UI - 📦 **+page** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for frontend/src/routes/admin/settings/llm/+page.svelte - 🏗️ Layer: Unknown - ƒ **fetchProviders** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 🧩 **MigrationDashboard** (`Component`) - 📝 Main dashboard for configuring and starting migrations. - 🏗️ Layer: Page - 🔒 Invariant: Migration cannot start without source and target environments. - ⬅️ READS_FROM `lib` - ⬅️ READS_FROM `selectedTask` - ➡️ WRITES_TO `selectedTask` - ƒ **fetchEnvironments** (`Function`) - 📝 Fetches the list of environments from the API. - ƒ **fetchDashboards** (`Function`) - 📝 Fetches dashboards for the selected source environment. - ƒ **fetchDatabases** (`Function`) - 📝 Fetches databases from both environments and gets suggestions. - ƒ **handleMappingUpdate** (`Function`) - 📝 Saves a mapping to the backend. - ƒ **handleViewLogs** (`Function`) - 📝 Opens the log viewer for a specific task. - ƒ **handlePasswordPrompt** (`Function`) - 📝 Reactive logic to show password prompt when a task is awaiting input. - ƒ **handleResumeMigration** (`Function`) - 📝 Resumes a migration task with provided passwords. - ƒ **startMigration** (`Function`) - 📝 Starts the migration process. - 🧩 **DashboardSelectionSection** (`Component`) - 🧩 **MappingManagement** (`Component`) - 📝 Page for managing database mappings between environments. - 🏗️ Layer: Page - 🔒 Invariant: Mappings are saved to the backend for persistence. - ⬅️ READS_FROM `lib` - ƒ **fetchEnvironments** (`Function`) - 📝 Fetches the list of environments. - ƒ **fetchDatabases** (`Function`) - 📝 Fetches databases from both environments and gets suggestions. - ƒ **handleUpdate** (`Function`) - 📝 Saves a mapping to the backend. - 🧩 **StoragePage** (`Component`) - 📝 Main page for file storage management. - 🏗️ Layer: UI - 🔒 Invariant: Always displays tabs for Backups and Repositories. - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `t` - ➡️ WRITES_TO `page` - ƒ **loadFiles** (`Function`) - 📝 Fetches the list of files from the server. - ƒ **handleDelete** (`Function`) - 📝 Handles the file deletion process. - ƒ **handleNavigate** (`Function`) - 📝 Updates the current path and reloads files when navigating into a directory. - ƒ **navigateUp** (`Function`) - 📝 Navigates one level up in the directory structure. - 🧩 **MapperPage** (`Component`) - 📝 Page for the dataset column mapper tool. - 🏗️ Layer: UI - ⬅️ READS_FROM `lib` - 🧩 **DebugPage** (`Component`) - 📝 Page for system diagnostics and debugging. - 🏗️ Layer: UI - ⬅️ READS_FROM `lib` - ƒ **handleSaveGlobal** (`Function`) - 📝 Saves global application settings. - ƒ **handleSaveStorage** (`Function`) - 📝 Saves storage-specific settings. - ƒ **handleAddOrUpdateEnv** (`Function`) - 📝 Adds a new environment or updates an existing one. - ƒ **handleDeleteEnv** (`Function`) - 📝 Deletes a Superset environment. - ƒ **handleTestEnv** (`Function`) - 📝 Tests the connection to a Superset environment. - ƒ **editEnv** (`Function`) - 📝 Populates the environment form for editing. - ƒ **resetEnvForm** (`Function`) - 📝 Resets the environment creation/edit form to default state. - ƒ **load** (`Function`) - 📝 Loads application settings and environment list. - 🧩 **ConnectionsSettingsPage** (`Component`) - 📝 Page for managing database connection configurations. - 🏗️ Layer: UI - ƒ **handleSuccess** (`Function`) - 📝 Refreshes the connection list after a successful creation. - 🧩 **GitSettingsPage** (`Component`) - 📝 Manage Git server configurations for dashboard versioning. - 🏗️ Layer: Page - 🔒 Invariant: All configurations must be validated via connection test. - ⬅️ READS_FROM `lib` - ƒ **loadConfigs** (`Function`) - 📝 Fetches existing git configurations. - ƒ **handleTest** (`Function`) - 📝 Tests connection to a git server with current form data. - ƒ **handleSave** (`Function`) - 📝 Saves a new git configuration. - ƒ **handleDelete** (`Function`) - 📝 Deletes a git configuration by ID. - 🧩 **GitDashboardPage** (`Component`) - 📝 Dashboard management page for Git integration. - 🏗️ Layer: Page - ⬅️ READS_FROM `lib` - ƒ **fetchEnvironments** (`Function`) - 📝 Fetches the list of deployment environments from the API. - ƒ **fetchDashboards** (`Function`) - 📝 Fetches dashboards for a specific environment. - 🧩 **Dashboard** (`Component`) - 📝 Displays the list of available plugins and allows selecting one. - 🏗️ Layer: UI - ⬅️ READS_FROM `plugins` - ƒ **onMount** (`Function`) - 📝 Fetch plugins when the component mounts. - ƒ **selectPlugin** (`Function`) - 📝 Selects a plugin to display its form. - 🧩 **Settings** (`Component`) - 📝 The main settings page for the application, allowing management of environments and global settings. - 🏗️ Layer: UI - 🔒 Invariant: Settings changes must be saved to the backend. - ƒ **loadSettings** (`Function`) - 📝 Loads settings from the backend. - ƒ **handleSaveGlobal** (`Function`) - 📝 Saves global settings to the backend. - ƒ **handleAddOrUpdateEnv** (`Function`) - 📝 Adds or updates an environment. - ƒ **handleDeleteEnv** (`Function`) - 📝 Deletes an environment. - ƒ **handleTestEnv** (`Function`) - 📝 Tests the connection to an environment. - ƒ **editEnv** (`Function`) - 📝 Sets the form to edit an existing environment. - ƒ **resetEnvForm** (`Function`) - 📝 Resets the environment form. - ƒ **getConnections** (`Function`) - 📝 Fetch a list of saved connections. - ƒ **createConnection** (`Function`) - 📝 Create a new connection configuration. - ƒ **deleteConnection** (`Function`) - 📝 Delete a connection configuration. - 📦 **GitServiceClient** (`Module`) - 📝 API client for Git operations, managing the communication between frontend and backend. - 🏗️ Layer: Service - 📦 **gitService** (`Action`) - 📝 Retrieves the diff for specific files or the whole repository. - ƒ **runTask** (`Function`) - 📝 Start a new task for a given plugin. - ƒ **getTaskStatus** (`Function`) - 📝 Fetch details for a specific task (to poll status or get result). - 📦 **adminService** (`Module`) - 📝 Service for Admin-related API calls (User and Role management). - 🏗️ Layer: Service - 🔒 Invariant: All requests must include valid Admin JWT token (handled by api client). - 🔗 DEPENDS_ON -> `frontend.src.lib.api` - ƒ **getUsers** (`Function`) - 📝 Fetches all registered users from the backend. - ƒ **createUser** (`Function`) - 📝 Creates a new local user. - ƒ **getRoles** (`Function`) - 📝 Fetches all available system roles. - ƒ **getADGroupMappings** (`Function`) - 📝 Fetches mappings between AD groups and local roles. - ƒ **createADGroupMapping** (`Function`) - 📝 Creates or updates an AD group to Role mapping. - ƒ **updateUser** (`Function`) - 📝 Updates an existing user. - ƒ **deleteUser** (`Function`) - 📝 Deletes a user. - ƒ **createRole** (`Function`) - 📝 Creates a new role. - ƒ **updateRole** (`Function`) - 📝 Updates an existing role. - ƒ **deleteRole** (`Function`) - 📝 Deletes a role. - ƒ **getPermissions** (`Function`) - 📝 Fetches all available permissions. - ƒ **getTasks** (`Function`) - 📝 Fetch a list of tasks with pagination and optional status filter. - ƒ **getTask** (`Function`) - 📝 Fetch details for a specific task. - ƒ **getTaskLogs** (`Function`) - 📝 Fetch logs for a specific task. - ƒ **resumeTask** (`Function`) - 📝 Resume a task that is awaiting input (e.g., passwords). - ƒ **resolveTask** (`Function`) - 📝 Resolve a task that is awaiting mapping. - ƒ **clearTasks** (`Function`) - 📝 Clear tasks based on status. - 📦 **storageService** (`Module`) - 📝 Frontend API client for file storage management. - 🏗️ Layer: Service - ƒ **listFiles** (`Function`) - 📝 Fetches the list of files for a given category and subpath. - ƒ **uploadFile** (`Function`) - 📝 Uploads a file to the storage system. - ƒ **deleteFile** (`Function`) - 📝 Deletes a file or directory from storage. - ƒ **downloadFileUrl** (`Function`) - 📝 Returns the URL for downloading a file. - 🧩 **PasswordPrompt** (`Component`) - 📝 A modal component to prompt the user for database passwords when a migration task is paused. - 🏗️ Layer: UI - 📥 Props: show: any, databases: any, errorMessage: any - ⚡ Events: cancel, resume - ƒ **handleSubmit** (`Function`) - 📝 Validates and dispatches the passwords to resume the task. - ƒ **handleCancel** (`Function`) - 📝 Cancels the password prompt. - 🧩 **MappingTable** (`Component`) - 📝 Displays and allows editing of database mappings. - 🏗️ Layer: Feature - 🔒 Invariant: Each source database can be mapped to one target database. - ⚡ Events: update - ƒ **updateMapping** (`Function`) - 📝 Updates a mapping for a specific source database. - ƒ **getSuggestion** (`Function`) - 📝 Finds a suggestion for a source database. - 🧩 **TaskLogViewer** (`Component`) - 📝 Displays detailed logs for a specific task in a modal or inline. - 🏗️ Layer: UI - 📥 Props: show: any, inline: any, taskId: any, taskStatus: any - ⚡ Events: close - ⬅️ READS_FROM `t` - ➡️ WRITES_TO `t` - ƒ **fetchLogs** (`Function`) - 📝 Fetches logs for the current task. - ƒ **scrollToBottom** (`Function`) - 📝 Scrolls the log container to the bottom. - ƒ **handleScroll** (`Function`) - 📝 Updates auto-scroll preference based on scroll position. - ƒ **close** (`Function`) - 📝 Closes the log viewer modal. - ƒ **getLogLevelColor** (`Function`) - 📝 Returns the CSS color class for a given log level. - ƒ **onDestroy** (`Function`) - 📝 Cleans up the polling interval. - 🧩 **Footer** (`Component`) - 📝 Displays the application footer with copyright information. - 🏗️ Layer: UI - 🧩 **MissingMappingModal** (`Component`) - 📝 Prompts the user to provide a database mapping when one is missing during migration. - 🏗️ Layer: Feature - 🔒 Invariant: Modal blocks migration progress until resolved or cancelled. - 📥 Props: show: boolean , sourceDbName: string , sourceDbUuid: string - ⚡ Events: cancel, resolve - ƒ **resolve** (`Function`) - 📝 Dispatches the resolution event with the selected mapping. - ƒ **cancel** (`Function`) - 📝 Cancels the mapping resolution modal. - 🧩 **DashboardGrid** (`Component`) - 📝 Displays a grid of dashboards with selection and pagination. - 🏗️ Layer: Component - 🔒 Invariant: Selected IDs must be a subset of available dashboards. - 📥 Props: dashboards: DashboardMetadata[] , selectedIds: number[] , environmentId: string - ⚡ Events: selectionChanged - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **handleValidate** (`Function`) - 📝 Triggers dashboard validation task. - ƒ **handleSort** (`Function`) - 📝 Toggles sort direction or changes sort column. - ƒ **handleSelectionChange** (`Function`) - 📝 Handles individual checkbox changes. - ƒ **handleSelectAll** (`Function`) - 📝 Handles select all checkbox. - ƒ **goToPage** (`Function`) - 📝 Changes current page. - ƒ **openGit** (`Function`) - 📝 Opens the Git management modal for a dashboard. - 🧩 **Navbar** (`Component`) - 📝 Main navigation bar for the application. - 🏗️ Layer: UI - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `lib` - ➡️ WRITES_TO `page` - 📦 **Navbar** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for frontend/src/components/Navbar.svelte - 🏗️ Layer: Unknown - ƒ **handleLogout** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 🧩 **TaskHistory** (`Component`) - 📝 Displays a list of recent tasks with their status and allows selecting them for viewing logs. - 🏗️ Layer: UI - ⬅️ READS_FROM `selectedTask` - ➡️ WRITES_TO `selectedTask` - ƒ **fetchTasks** (`Function`) - 📝 Fetches the list of recent tasks from the API. - ƒ **clearTasks** (`Function`) - 📝 Clears tasks from the history, optionally filtered by status. - ƒ **selectTask** (`Function`) - 📝 Selects a task and fetches its full details. - ƒ **getStatusColor** (`Function`) - 📝 Returns the CSS color class for a given task status. - ƒ **onMount** (`Function`) - 📝 Initializes the component by fetching tasks and starting polling. - ƒ **onDestroy** (`Function`) - 📝 Cleans up the polling interval when the component is destroyed. - 🧩 **Toast** (`Component`) - 📝 Displays transient notifications (toasts) in the bottom-right corner. - 🏗️ Layer: UI - ⬅️ READS_FROM `toasts` - 🧩 **TaskRunner** (`Component`) - 📝 Connects to a WebSocket to display real-time logs for a running task. - 🏗️ Layer: UI - ⬅️ READS_FROM `selectedTask` - ➡️ WRITES_TO `selectedTask` - ⬅️ READS_FROM `taskLogs` - ƒ **connect** (`Function`) - 📝 Establishes WebSocket connection with exponential backoff. - ƒ **fetchTargetDatabases** (`Function`) - 📝 Fetches the list of databases in the target environment. - ƒ **handleMappingResolve** (`Function`) - 📝 Handles the resolution of a missing database mapping. - ƒ **handlePasswordResume** (`Function`) - 📝 Handles the submission of database passwords to resume a task. - ƒ **startDataTimeout** (`Function`) - 📝 Starts a timeout to detect when the log stream has stalled. - ƒ **resetDataTimeout** (`Function`) - 📝 Resets the data stall timeout. - ƒ **onMount** (`Function`) - 📝 Initializes the component and subscribes to task selection changes. - ƒ **onDestroy** (`Function`) - 📝 Close WebSocket connection when the component is destroyed. - 🧩 **TaskList** (`Component`) - 📝 Displays a list of tasks with their status and execution details. - 🏗️ Layer: Component - 📥 Props: tasks: Array , loading: boolean - ⚡ Events: select - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **getStatusColor** (`Function`) - 📝 Returns the CSS color class for a given task status. - ƒ **formatTime** (`Function`) - 📝 Formats a date string using date-fns. - ƒ **handleTaskClick** (`Function`) - 📝 Dispatches a select event when a task is clicked. - 🧩 **DynamicForm** (`Component`) - 📝 Generates a form dynamically based on a JSON schema. - 🏗️ Layer: UI - 📥 Props: schema: any - ⚡ Events: submit - ƒ **handleSubmit** (`Function`) - 📝 Dispatches the submit event with the form data. - ƒ **initializeForm** (`Function`) - 📝 Initialize form data with default values from the schema. - 🧩 **EnvSelector** (`Component`) - 📝 Provides a UI component for selecting source and target environments. - 🏗️ Layer: Feature - 🔒 Invariant: Source and target environments must be selectable from the list of configured environments. - 📥 Props: label: string , selectedId: string - ⚡ Events: change - ƒ **handleSelect** (`Function`) - 📝 Dispatches the selection change event. - 🧩 **ProtectedRoute** (`Component`) - 📝 Wraps content to ensure only authenticated users can access it. - 🏗️ Layer: Component - 🔒 Invariant: Redirects to /login if user is not authenticated. - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `auth` - 🧩 **FileList** (`Component`) - 📝 Displays a table of files with metadata and actions. - 🏗️ Layer: UI - 📥 Props: files: any - ⚡ Events: delete, navigate - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **isDirectory** (`Function`) - 📝 Checks if a file object represents a directory. - ƒ **formatSize** (`Function`) - 📝 Formats file size in bytes into a human-readable string. - ƒ **formatDate** (`Function`) - 📝 Formats an ISO date string into a localized readable format. - 🧩 **FileUpload** (`Component`) - 📝 Provides a form for uploading files to a specific category. - 🏗️ Layer: UI - ⚡ Events: uploaded - ⬅️ READS_FROM `t` - ➡️ WRITES_TO `t` - ƒ **handleUpload** (`Function`) - 📝 Handles the file upload process. - ƒ **handleDrop** (`Function`) - 📝 Handles the file drop event for drag-and-drop. - 🧩 **ConnectionForm** (`Component`) - 📝 UI component for creating a new database connection configuration. - 🏗️ Layer: UI - ⚡ Events: success - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **handleSubmit** (`Function`) - 📝 Submits the connection form to the backend. - ƒ **resetForm** (`Function`) - 📝 Resets the connection form fields to their default values. - 🧩 **ConnectionList** (`Component`) - 📝 UI component for listing and deleting saved database connection configurations. - 🏗️ Layer: UI - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **fetchConnections** (`Function`) - 📝 Fetches the list of connections from the backend. - ƒ **handleDelete** (`Function`) - 📝 Deletes a connection configuration. - 🧩 **MapperTool** (`Component`) - 📝 UI component for mapping dataset column verbose names using the MapperPlugin. - 🏗️ Layer: UI - ⬅️ READS_FROM `t` - ➡️ WRITES_TO `t` - ƒ **fetchData** (`Function`) - 📝 Fetches environments and saved connections. - ƒ **handleRunMapper** (`Function`) - 📝 Triggers the MapperPlugin task. - ƒ **handleGenerateDocs** (`Function`) - 📝 Triggers the LLM Documentation task. - 📦 **MapperTool** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for frontend/src/components/tools/MapperTool.svelte - 🏗️ Layer: Unknown - ƒ **handleApplyDoc** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 🧩 **DebugTool** (`Component`) - 📝 UI component for system diagnostics and debugging API responses. - 🏗️ Layer: UI - ƒ **fetchEnvironments** (`Function`) - 📝 Fetches available environments. - ƒ **handleRunDebug** (`Function`) - 📝 Triggers the debug task. - ƒ **startPolling** (`Function`) - 📝 Polls for task completion. - 🧩 **CommitHistory** (`Component`) - 📝 Displays the commit history for a specific dashboard. - 🏗️ Layer: Component - 📥 Props: dashboardId: any - ⬅️ READS_FROM `t` - ➡️ WRITES_TO `t` - ƒ **onMount** (`Function`) - 📝 Load history when component is mounted. - ƒ **loadHistory** (`Function`) - 📝 Fetch commit history from the backend. - 🧩 **DeploymentModal** (`Component`) - 📝 Modal for deploying a dashboard to a target environment. - 🏗️ Layer: Component - 🔒 Invariant: Cannot deploy without a selected environment. - 📥 Props: dashboardId: any, show: any - ⚡ Events: deploy - 📦 **loadStatus** (`Watcher`) - ƒ **loadEnvironments** (`Function`) - 📝 Fetch available environments from API. - ƒ **handleDeploy** (`Function`) - 📝 Trigger deployment to selected environment. - 🧩 **ConflictResolver** (`Component`) - 📝 UI for resolving merge conflicts (Keep Mine / Keep Theirs). - 🏗️ Layer: Component - 🔒 Invariant: User must resolve all conflicts before saving. - 📥 Props: conflicts: any, show: any - ⚡ Events: resolve - ƒ **resolve** (`Function`) - 📝 Set resolution strategy for a file. - ƒ **handleSave** (`Function`) - 📝 Validate and submit resolutions. - 🧩 **CommitModal** (`Component`) - 📝 Модальное окно для создания коммита с просмотром изменений (diff). - 🏗️ Layer: Component - 📥 Props: dashboardId: any, show: any - ⚡ Events: commit - ƒ **handleGenerateMessage** (`Function`) - 📝 Generates a commit message using LLM. - ƒ **loadStatus** (`Function`) - 📝 Загружает текущий статус репозитория и diff. - ƒ **handleCommit** (`Function`) - 📝 Создает коммит с указанным сообщением. - 🧩 **BranchSelector** (`Component`) - 📝 UI для выбора и создания веток Git. - 🏗️ Layer: Component - 📥 Props: dashboardId: any, currentBranch: any - ⚡ Events: change - ⬅️ READS_FROM `t` - ƒ **onMount** (`Function`) - 📝 Load branches when component is mounted. - ƒ **loadBranches** (`Function`) - 📝 Загружает список веток для дашборда. - ƒ **handleSelect** (`Function`) - 📝 Handles branch selection from dropdown. - ƒ **handleCheckout** (`Function`) - 📝 Переключает текущую ветку. - ƒ **handleCreate** (`Function`) - 📝 Создает новую ветку. - 🧩 **GitManager** (`Component`) - 📝 Центральный компонент для управления Git-операциями конкретного дашборда. - 🏗️ Layer: Component - 📥 Props: dashboardId: any, dashboardTitle: any, show: any - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - ƒ **checkStatus** (`Function`) - 📝 Проверяет, инициализирован ли репозиторий для данного дашборда. - ƒ **handleInit** (`Function`) - 📝 Инициализирует репозиторий для дашборда. - ƒ **handleSync** (`Function`) - 📝 Синхронизирует состояние Superset с локальным Git-репозиторием. - ƒ **handlePush** (`Function`) - 📝 Pushes local commits to the remote repository. - ƒ **handlePull** (`Function`) - 📝 Pulls changes from the remote repository. - 🧩 **DocPreview** (`Component`) - 📝 UI component for previewing generated dataset documentation before saving. - 🏗️ Layer: UI - 📥 Props: documentation: any, onSave: any, onCancel: any - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - 📦 **DocPreview** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for frontend/src/components/llm/DocPreview.svelte - 🏗️ Layer: Unknown - ƒ **handleSave** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 🧩 **ProviderConfig** (`Component`) - 📝 UI form for managing LLM provider configurations. - 🏗️ Layer: UI - 📥 Props: providers: any, onSave: any - ➡️ WRITES_TO `t` - ⬅️ READS_FROM `t` - 📦 **ProviderConfig** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for frontend/src/components/llm/ProviderConfig.svelte - 🏗️ Layer: Unknown - ƒ **resetForm** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **handleEdit** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **testConnection** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **handleSubmit** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **toggleActive** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **ValidationReport** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for frontend/src/components/llm/ValidationReport.svelte - 🏗️ Layer: Unknown - ƒ **getStatusColor** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **backend.delete_running_tasks** (`Module`) - 📝 Script to delete tasks with RUNNING status from the database. - 🏗️ Layer: Utility - ƒ **delete_running_tasks** (`Function`) - 📝 Delete all tasks with RUNNING status from the database. - 📦 **AppModule** (`Module`) - 📝 The main entry point for the FastAPI application. It initializes the app, configures CORS, sets up dependencies, includes API routers, and defines the WebSocket endpoint for log streaming. - 🏗️ Layer: UI (API) - 📦 **App** (`Global`) - 📝 The global FastAPI application instance. - ƒ **startup_event** (`Function`) - 📝 Handles application startup tasks, such as starting the scheduler. - ƒ **shutdown_event** (`Function`) - 📝 Handles application shutdown tasks, such as stopping the scheduler. - ƒ **log_requests** (`Function`) - 📝 Middleware to log incoming HTTP requests and their response status. - ƒ **websocket_endpoint** (`Function`) - 📝 Provides a WebSocket endpoint for real-time log streaming of a task. - 📦 **StaticFiles** (`Mount`) - 📝 Mounts the frontend build directory to serve static assets. - ƒ **serve_spa** (`Function`) - 📝 Serves frontend static files or index.html for SPA routing. - ƒ **read_root** (`Function`) - 📝 A simple root endpoint to confirm that the API is running when frontend is missing. - ƒ **network_error_handler** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **Dependencies** (`Module`) - 📝 Manages the creation and provision of shared application dependencies, such as the PluginLoader and TaskManager, to avoid circular imports. - 🏗️ Layer: Core - ƒ **get_config_manager** (`Function`) - 📝 Dependency injector for the ConfigManager. - ƒ **get_plugin_loader** (`Function`) - 📝 Dependency injector for the PluginLoader. - ƒ **get_task_manager** (`Function`) - 📝 Dependency injector for the TaskManager. - ƒ **get_scheduler_service** (`Function`) - 📝 Dependency injector for the SchedulerService. - 📦 **oauth2_scheme** (`Variable`) - 📝 OAuth2 password bearer scheme for token extraction. - ƒ **get_current_user** (`Function`) - 📝 Dependency for retrieving the currently authenticated user from a JWT. - ƒ **has_permission** (`Function`) - 📝 Dependency for checking if the current user has a specific permission. - ƒ **permission_checker** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **backend.src.scripts.seed_permissions** (`Module`) - 📝 Populates the auth database with initial system permissions. - 🏗️ Layer: Scripts - 🔒 Invariant: Safe to run multiple times (idempotent). - 📦 **INITIAL_PERMISSIONS** (`Constant`) - ƒ **seed_permissions** (`Function`) - 📝 Inserts missing permissions into the database. - 📦 **backend.src.scripts.init_auth_db** (`Module`) - 📝 Initializes the auth database and creates the necessary tables. - 🏗️ Layer: Scripts - 🔒 Invariant: Safe to run multiple times (idempotent). - 🔗 CALLS -> `backend.src.core.database.init_db` - ƒ **run_init** (`Function`) - 📝 Main entry point for the initialization script. - 📦 **backend.src.scripts.create_admin** (`Module`) - 📝 CLI tool for creating the initial admin user. - 🏗️ Layer: Scripts - 🔒 Invariant: Admin user must have the "Admin" role. - ƒ **create_admin** (`Function`) - 📝 Creates an admin user and necessary roles/permissions. - 📦 **backend.src.schemas.auth** (`Module`) - 📝 Pydantic schemas for authentication requests and responses. - 🏗️ Layer: API - 🔒 Invariant: Sensitive fields like password must not be included in response schemas. - 🔗 DEPENDS_ON -> `pydantic` - ℂ **Token** (`Class`) `[TRIVIAL]` - 📝 Represents a JWT access token response. - ℂ **TokenData** (`Class`) `[TRIVIAL]` - 📝 Represents the data encoded in a JWT token. - ℂ **PermissionSchema** (`Class`) `[TRIVIAL]` - 📝 Represents a permission in API responses. - ℂ **RoleSchema** (`Class`) - 📝 Represents a role in API responses. - ℂ **RoleCreate** (`Class`) - 📝 Schema for creating a new role. - ℂ **RoleUpdate** (`Class`) - 📝 Schema for updating an existing role. - ℂ **ADGroupMappingSchema** (`Class`) - 📝 Represents an AD Group to Role mapping in API responses. - ℂ **ADGroupMappingCreate** (`Class`) - 📝 Schema for creating an AD Group mapping. - ℂ **UserBase** (`Class`) - 📝 Base schema for user data. - ℂ **UserCreate** (`Class`) - 📝 Schema for creating a new user. - ℂ **UserUpdate** (`Class`) - 📝 Schema for updating an existing user. - ℂ **User** (`Class`) - 📝 Schema for user data in API responses. - 📦 **backend.src.core.superset_client** (`Module`) - 📝 Предоставляет высокоуровневый клиент для взаимодействия с Superset REST API, инкапсулируя логику запросов, обработку ошибок и пагинацию. - 🏗️ Layer: Core - 🔒 Invariant: All network operations must use the internal APIClient instance. - ℂ **SupersetClient** (`Class`) - 📝 Класс-обёртка над Superset REST API, предоставляющий методы для работы с дашбордами и датасетами. - ƒ **__init__** (`Function`) - 📝 Инициализирует клиент, проверяет конфигурацию и создает сетевой клиент. - ƒ **authenticate** (`Function`) - 📝 Authenticates the client using the configured credentials. - ƒ **headers** (`Function`) - 📝 Возвращает базовые HTTP-заголовки, используемые сетевым клиентом. - ƒ **get_dashboards** (`Function`) - 📝 Получает полный список дашбордов, автоматически обрабатывая пагинацию. - ƒ **get_dashboards_summary** (`Function`) - 📝 Fetches dashboard metadata optimized for the grid. - ƒ **export_dashboard** (`Function`) - 📝 Экспортирует дашборд в виде ZIP-архива. - ƒ **import_dashboard** (`Function`) - 📝 Импортирует дашборд из ZIP-файла. - ƒ **delete_dashboard** (`Function`) - 📝 Удаляет дашборд по его ID или slug. - ƒ **get_datasets** (`Function`) - 📝 Получает полный список датасетов, автоматически обрабатывая пагинацию. - ƒ **get_dataset** (`Function`) - 📝 Получает информацию о конкретном датасете по его ID. - ƒ **update_dataset** (`Function`) - 📝 Обновляет данные датасета по его ID. - ƒ **get_databases** (`Function`) - 📝 Получает полный список баз данных. - ƒ **get_database** (`Function`) - 📝 Получает информацию о конкретной базе данных по её ID. - ƒ **get_databases_summary** (`Function`) - 📝 Fetch a summary of databases including uuid, name, and engine. - ƒ **get_database_by_uuid** (`Function`) - 📝 Find a database by its UUID. - ƒ **_resolve_target_id_for_delete** (`Function`) - 📝 Resolves a dashboard ID from either an ID or a slug. - ƒ **_do_import** (`Function`) - 📝 Performs the actual multipart upload for import. - ƒ **_validate_export_response** (`Function`) - 📝 Validates that the export response is a non-empty ZIP archive. - ƒ **_resolve_export_filename** (`Function`) - 📝 Determines the filename for an exported dashboard. - ƒ **_validate_query_params** (`Function`) - 📝 Ensures query parameters have default page and page_size. - ƒ **_fetch_total_object_count** (`Function`) - 📝 Fetches the total number of items for a given endpoint. - ƒ **_fetch_all_pages** (`Function`) - 📝 Iterates through all pages to collect all data items. - ƒ **_validate_import_file** (`Function`) - 📝 Validates that the file to be imported is a valid ZIP with metadata.yaml. - 📦 **ConfigManagerModule** (`Module`) - 📝 Manages application configuration, including loading/saving to JSON and CRUD for environments. - 🏗️ Layer: Core - 🔒 Invariant: Configuration must always be valid according to AppConfig model. - 🔗 DEPENDS_ON -> `ConfigModels` - 🔗 CALLS -> `logger` - ℂ **ConfigManager** (`Class`) - 📝 A class to handle application configuration persistence and management. - ƒ **__init__** (`Function`) - 📝 Initializes the ConfigManager. - ƒ **_load_config** (`Function`) - 📝 Loads the configuration from disk or creates a default one. - ƒ **_save_config_to_disk** (`Function`) - 📝 Saves the provided configuration object to disk. - ƒ **save** (`Function`) - 📝 Saves the current configuration state to disk. - ƒ **get_config** (`Function`) - 📝 Returns the current configuration. - ƒ **update_global_settings** (`Function`) - 📝 Updates the global settings and persists the change. - ƒ **validate_path** (`Function`) - 📝 Validates if a path exists and is writable. - ƒ **get_environments** (`Function`) - 📝 Returns the list of configured environments. - ƒ **has_environments** (`Function`) - 📝 Checks if at least one environment is configured. - ƒ **get_environment** (`Function`) - 📝 Returns a single environment by ID. - ƒ **add_environment** (`Function`) - 📝 Adds a new environment to the configuration. - ƒ **update_environment** (`Function`) - 📝 Updates an existing environment. - ƒ **delete_environment** (`Function`) - 📝 Deletes an environment by ID. - 📦 **SchedulerModule** (`Module`) - 📝 Manages scheduled tasks using APScheduler. - 🏗️ Layer: Core - ℂ **SchedulerService** (`Class`) - 📝 Provides a service to manage scheduled backup tasks. - ƒ **__init__** (`Function`) - 📝 Initializes the scheduler service with task and config managers. - ƒ **start** (`Function`) - 📝 Starts the background scheduler and loads initial schedules. - ƒ **stop** (`Function`) - 📝 Stops the background scheduler. - ƒ **load_schedules** (`Function`) - 📝 Loads backup schedules from configuration and registers them. - ƒ **add_backup_job** (`Function`) - 📝 Adds a scheduled backup job for an environment. - ƒ **_trigger_backup** (`Function`) - 📝 Triggered by the scheduler to start a backup task. - 📦 **ConfigModels** (`Module`) - 📝 Defines the data models for application configuration using Pydantic. - 🏗️ Layer: Core - 📦 **Schedule** (`DataClass`) - 📝 Represents a backup schedule configuration. - 📦 **Environment** (`DataClass`) - 📝 Represents a Superset environment configuration. - 📦 **LoggingConfig** (`DataClass`) - 📝 Defines the configuration for the application's logging system. - 📦 **GlobalSettings** (`DataClass`) - 📝 Represents global application settings. - 📦 **AppConfig** (`DataClass`) - 📝 The root configuration model containing all application settings. - 📦 **backend.src.core.database** (`Module`) - 📝 Configures the SQLite database connection and session management. - 🏗️ Layer: Core - 🔒 Invariant: A single engine instance is used for the entire application. - 🔗 DEPENDS_ON -> `sqlalchemy` - 📦 **BASE_DIR** (`Variable`) - 📝 Base directory for the backend (where .db files should reside). - 📦 **DATABASE_URL** (`Constant`) - 📝 URL for the main mappings database. - 📦 **TASKS_DATABASE_URL** (`Constant`) - 📝 URL for the tasks execution database. - 📦 **AUTH_DATABASE_URL** (`Constant`) - 📝 URL for the authentication database. - 📦 **engine** (`Variable`) - 📝 SQLAlchemy engine for mappings database. - 📦 **tasks_engine** (`Variable`) - 📝 SQLAlchemy engine for tasks database. - 📦 **auth_engine** (`Variable`) - 📝 SQLAlchemy engine for authentication database. - ℂ **SessionLocal** (`Class`) - 📝 A session factory for the main mappings database. - ℂ **TasksSessionLocal** (`Class`) - 📝 A session factory for the tasks execution database. - ℂ **AuthSessionLocal** (`Class`) - 📝 A session factory for the authentication database. - ƒ **init_db** (`Function`) - 📝 Initializes the database by creating all tables. - ƒ **get_db** (`Function`) - 📝 Dependency for getting a database session. - ƒ **get_tasks_db** (`Function`) - 📝 Dependency for getting a tasks database session. - ƒ **get_auth_db** (`Function`) - 📝 Dependency for getting an authentication database session. - 📦 **LoggerModule** (`Module`) - 📝 Configures the application's logging system, including a custom handler for buffering logs and streaming them over WebSockets. - 🏗️ Layer: Core - ℂ **BeliefFormatter** (`Class`) - 📝 Custom logging formatter that adds belief state prefixes to log messages. - ƒ **format** (`Function`) - 📝 Formats the log record, adding belief state context if available. - ℂ **LogEntry** (`Class`) - 📝 A Pydantic model representing a single, structured log entry. This is a re-definition for consistency, as it's also defined in task_manager.py. - ƒ **belief_scope** (`Function`) - 📝 Context manager for structured Belief State logging. - ƒ **configure_logger** (`Function`) - 📝 Configures the logger with the provided logging settings. - ℂ **WebSocketLogHandler** (`Class`) - 📝 A custom logging handler that captures log records into a buffer. It is designed to be extended for real-time log streaming over WebSockets. - ƒ **__init__** (`Function`) - 📝 Initializes the handler with a fixed-capacity buffer. - ƒ **emit** (`Function`) - 📝 Captures a log record, formats it, and stores it in the buffer. - ƒ **get_recent_logs** (`Function`) - 📝 Returns a list of recent log entries from the buffer. - 📦 **Logger** (`Global`) - 📝 The global logger instance for the application, configured with both a console handler and the custom WebSocket handler. - ƒ **believed** (`Function`) - 📝 A decorator that wraps a function in a belief scope. - ƒ **decorator** (`Function`) - 📝 Internal decorator for belief scope. - ℂ **PluginLoader** (`Class`) - 📝 Scans a specified directory for Python modules, dynamically loads them, and registers any classes that are valid implementations of the PluginBase interface. - 🏗️ Layer: Core - ƒ **__init__** (`Function`) - 📝 Initializes the PluginLoader with a directory to scan. - ƒ **_load_plugins** (`Function`) - 📝 Scans the plugin directory and loads all valid plugins. - ƒ **_load_module** (`Function`) - 📝 Loads a single Python module and discovers PluginBase implementations. - ƒ **_register_plugin** (`Function`) - 📝 Registers a PluginBase instance and its configuration. - ƒ **get_plugin** (`Function`) - 📝 Retrieves a loaded plugin instance by its ID. - ƒ **get_all_plugin_configs** (`Function`) - 📝 Returns a list of all registered plugin configurations. - ƒ **has_plugin** (`Function`) - 📝 Checks if a plugin with the given ID is registered. - 📦 **backend.src.core.migration_engine** (`Module`) - 📝 Handles the interception and transformation of Superset asset ZIP archives. - 🏗️ Layer: Core - 🔒 Invariant: ZIP structure must be preserved after transformation. - 🔗 DEPENDS_ON -> `PyYAML` - ℂ **MigrationEngine** (`Class`) - 📝 Engine for transforming Superset export ZIPs. - ƒ **transform_zip** (`Function`) - 📝 Extracts ZIP, replaces database UUIDs in YAMLs, and re-packages. - ƒ **_transform_yaml** (`Function`) - 📝 Replaces database_uuid in a single YAML file. - ℂ **PluginBase** (`Class`) - 📝 Defines the abstract base class that all plugins must implement to be recognized by the system. It enforces a common structure for plugin metadata and execution. - 🏗️ Layer: Core - 🔒 Invariant: All plugins MUST inherit from this class. - ƒ **id** (`Function`) - 📝 Returns the unique identifier for the plugin. - ƒ **name** (`Function`) - 📝 Returns the human-readable name of the plugin. - ƒ **description** (`Function`) - 📝 Returns a brief description of the plugin. - ƒ **version** (`Function`) - 📝 Returns the version of the plugin. - ƒ **required_permission** (`Function`) - 📝 Returns the required permission string to execute this plugin. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the plugin's UI, if applicable. - ƒ **get_schema** (`Function`) - 📝 Returns the JSON schema for the plugin's input parameters. - ƒ **execute** (`Function`) - 📝 Executes the plugin's core logic. - ℂ **PluginConfig** (`Class`) - 📝 A Pydantic model used to represent the validated configuration and metadata of a loaded plugin. This object is what gets exposed to the API layer. - 🏗️ Layer: Core - 📦 **backend.src.core.auth.config** (`Module`) - 📝 Centralized configuration for authentication and authorization. - 🏗️ Layer: Core - 🔒 Invariant: All sensitive configuration must have defaults or be loaded from environment. - 🔗 DEPENDS_ON -> `pydantic` - ℂ **AuthConfig** (`Class`) - 📝 Holds authentication-related settings. - 📦 **auth_config** (`Variable`) - 📝 Singleton instance of AuthConfig. - 📦 **backend.src.core.auth.jwt** (`Module`) - 📝 JWT token generation and validation logic. - 🏗️ Layer: Core - 🔒 Invariant: Tokens must include expiration time and user identifier. - 🔗 DEPENDS_ON -> `jose` - ƒ **create_access_token** (`Function`) - 📝 Generates a new JWT access token. - ƒ **decode_token** (`Function`) - 📝 Decodes and validates a JWT token. - 📦 **backend.src.core.auth.oauth** (`Module`) - 📝 ADFS OIDC configuration and client using Authlib. - 🏗️ Layer: Core - 🔒 Invariant: Must use secure OIDC flows. - 🔗 DEPENDS_ON -> `authlib` - 📦 **oauth** (`Variable`) - 📝 Global Authlib OAuth registry. - ƒ **register_adfs** (`Function`) - 📝 Registers the ADFS OIDC client. - ƒ **is_adfs_configured** (`Function`) - 📝 Checks if ADFS is properly configured. - 📦 **backend.src.core.auth.logger** (`Module`) - 📝 Audit logging for security-related events. - 🏗️ Layer: Core - 🔒 Invariant: Must not log sensitive data like passwords or full tokens. - ƒ **log_security_event** (`Function`) - 📝 Logs a security-related event for audit trails. - 📦 **backend.src.core.auth.security** (`Module`) - 📝 Utility for password hashing and verification using Passlib. - 🏗️ Layer: Core - 🔒 Invariant: Uses bcrypt for hashing with standard work factor. - 🔗 DEPENDS_ON -> `passlib` - 📦 **pwd_context** (`Variable`) - 📝 Passlib CryptContext for password management. - ƒ **verify_password** (`Function`) - 📝 Verifies a plain password against a hashed password. - ƒ **get_password_hash** (`Function`) - 📝 Generates a bcrypt hash for a plain password. - 📦 **backend.src.core.auth.repository** (`Module`) - 📝 Data access layer for authentication-related entities. - 🏗️ Layer: Core - 🔒 Invariant: All database operations must be performed within a session. - 🔗 DEPENDS_ON -> `sqlalchemy` - ℂ **AuthRepository** (`Class`) - 📝 Encapsulates database operations for authentication. - ƒ **__init__** (`Function`) - 📝 Initializes the repository with a database session. - ƒ **get_user_by_username** (`Function`) - 📝 Retrieves a user by their username. - ƒ **get_user_by_id** (`Function`) - 📝 Retrieves a user by their unique ID. - ƒ **get_role_by_name** (`Function`) - 📝 Retrieves a role by its name. - ƒ **update_last_login** (`Function`) - 📝 Updates the last_login timestamp for a user. - ƒ **get_role_by_id** (`Function`) - 📝 Retrieves a role by its unique ID. - ƒ **get_permission_by_id** (`Function`) - 📝 Retrieves a permission by its unique ID. - ƒ **get_permission_by_resource_action** (`Function`) - 📝 Retrieves a permission by resource and action. - ƒ **list_permissions** (`Function`) - 📝 Lists all available permissions. - 📦 **backend.core.utils.fileio** (`Module`) - 📝 Предоставляет набор утилит для управления файловыми операциями, включая работу с временными файлами, архивами ZIP, файлами YAML и очистку директорий. - 🏗️ Layer: Infra - 🔗 DEPENDS_ON -> `backend.src.core.logger` - 🔗 DEPENDS_ON -> `pyyaml` - ℂ **InvalidZipFormatError** (`Class`) - 📝 Exception raised when a file is not a valid ZIP archive. - ƒ **create_temp_file** (`Function`) - 📝 Контекстный менеджер для создания временного файла или директории с гарантированным удалением. - ƒ **remove_empty_directories** (`Function`) - 📝 Рекурсивно удаляет все пустые поддиректории, начиная с указанного пути. - ƒ **read_dashboard_from_disk** (`Function`) - 📝 Читает бинарное содержимое файла с диска. - ƒ **calculate_crc32** (`Function`) - 📝 Вычисляет контрольную сумму CRC32 для файла. - 📦 **RetentionPolicy** (`DataClass`) - 📝 Определяет политику хранения для архивов (ежедневные, еженедельные, ежемесячные). - ƒ **archive_exports** (`Function`) - 📝 Управляет архивом экспортированных файлов, применяя политику хранения и дедупликацию. - 🔗 CALLS -> `apply_retention_policy` - 🔗 CALLS -> `calculate_crc32` - ƒ **apply_retention_policy** (`Function`) - 📝 (Helper) Применяет политику хранения к списку файлов, возвращая те, что нужно сохранить. - ƒ **save_and_unpack_dashboard** (`Function`) - 📝 Сохраняет бинарное содержимое ZIP-архива на диск и опционально распаковывает его. - ƒ **update_yamls** (`Function`) - 📝 Обновляет конфигурации в YAML-файлах, заменяя значения или применяя regex. - 🔗 CALLS -> `_update_yaml_file` - ƒ **_update_yaml_file** (`Function`) - 📝 (Helper) Обновляет один YAML файл. - ƒ **replacer** (`Function`) - 📝 Функция замены, сохраняющая кавычки если они были. - ƒ **create_dashboard_export** (`Function`) - 📝 Создает ZIP-архив из указанных исходных путей. - ƒ **sanitize_filename** (`Function`) - 📝 Очищает строку от символов, недопустимых в именах файлов. - ƒ **get_filename_from_headers** (`Function`) - 📝 Извлекает имя файла из HTTP заголовка 'Content-Disposition'. - ƒ **consolidate_archive_folders** (`Function`) - 📝 Консолидирует директории архивов на основе общего слага в имени. - 📦 **backend.core.utils.network** (`Module`) - 📝 Инкапсулирует низкоуровневую HTTP-логику для взаимодействия с Superset API, включая аутентификацию, управление сессией, retry-логику и обработку ошибок. - 🏗️ Layer: Infra - 🔗 DEPENDS_ON -> `backend.src.core.logger` - 🔗 DEPENDS_ON -> `requests` - ℂ **SupersetAPIError** (`Class`) - 📝 Base exception for all Superset API related errors. - ƒ **__init__** (`Function`) - 📝 Initializes the exception with a message and context. - ℂ **AuthenticationError** (`Class`) - 📝 Exception raised when authentication fails. - ƒ **__init__** (`Function`) - 📝 Initializes the authentication error. - ℂ **PermissionDeniedError** (`Class`) - 📝 Exception raised when access is denied. - ƒ **__init__** (`Function`) - 📝 Initializes the permission denied error. - ℂ **DashboardNotFoundError** (`Class`) - 📝 Exception raised when a dashboard cannot be found. - ƒ **__init__** (`Function`) - 📝 Initializes the not found error with resource ID. - ℂ **NetworkError** (`Class`) - 📝 Exception raised when a network level error occurs. - ƒ **__init__** (`Function`) - 📝 Initializes the network error. - ℂ **APIClient** (`Class`) - 📝 Инкапсулирует HTTP-логику для работы с API, включая сессии, аутентификацию, и обработку запросов. - ƒ **__init__** (`Function`) - 📝 Инициализирует API клиент с конфигурацией, сессией и логгером. - ƒ **_init_session** (`Function`) - 📝 Создает и настраивает `requests.Session` с retry-логикой. - ƒ **authenticate** (`Function`) - 📝 Выполняет аутентификацию в Superset API и получает access и CSRF токены. - ƒ **headers** (`Function`) - 📝 Возвращает HTTP-заголовки для аутентифицированных запросов. - ƒ **request** (`Function`) - 📝 Выполняет универсальный HTTP-запрос к API. - ƒ **_handle_http_error** (`Function`) - 📝 (Helper) Преобразует HTTP ошибки в кастомные исключения. - ƒ **_handle_network_error** (`Function`) - 📝 (Helper) Преобразует сетевые ошибки в `NetworkError`. - ƒ **upload_file** (`Function`) - 📝 Загружает файл на сервер через multipart/form-data. - ƒ **_perform_upload** (`Function`) - 📝 (Helper) Выполняет POST запрос с файлом. - ƒ **fetch_paginated_count** (`Function`) - 📝 Получает общее количество элементов для пагинации. - ƒ **fetch_paginated_data** (`Function`) - 📝 Автоматически собирает данные со всех страниц пагинированного эндпоинта. - 📦 **backend.src.core.utils.matching** (`Module`) - 📝 Provides utility functions for fuzzy matching database names. - 🏗️ Layer: Core - 🔒 Invariant: Confidence scores are returned as floats between 0.0 and 1.0. - 🔗 DEPENDS_ON -> `rapidfuzz` - ƒ **suggest_mappings** (`Function`) - 📝 Suggests mappings between source and target databases using fuzzy matching. - 📦 **backend.core.utils.dataset_mapper** (`Module`) - 📝 Этот модуль отвечает за обновление метаданных (verbose_map) в датасетах Superset, извлекая их из PostgreSQL или XLSX-файлов. - 🏗️ Layer: Domain - 🔗 DEPENDS_ON -> `backend.core.superset_client` - 🔗 DEPENDS_ON -> `pandas` - 🔗 DEPENDS_ON -> `psycopg2` - ℂ **DatasetMapper** (`Class`) - 📝 Класс для меппинга и обновления verbose_map в датасетах Superset. - ƒ **__init__** (`Function`) - 📝 Initializes the mapper. - ƒ **get_postgres_comments** (`Function`) - 📝 Извлекает комментарии к колонкам из системного каталога PostgreSQL. - ƒ **load_excel_mappings** (`Function`) - 📝 Загружает меппинги 'column_name' -> 'column_comment' из XLSX файла. - ƒ **run_mapping** (`Function`) - 📝 Основная функция для выполнения меппинга и обновления verbose_map датасета в Superset. - 🔗 CALLS -> `self.get_postgres_comments` - 🔗 CALLS -> `self.load_excel_mappings` - 🔗 CALLS -> `superset_client.get_dataset` - 🔗 CALLS -> `superset_client.update_dataset` - 📦 **TaskPersistenceModule** (`Module`) - 📝 Handles the persistence of tasks using SQLAlchemy and the tasks.db database. - 🏗️ Layer: Core - 🔒 Invariant: Database schema must match the TaskRecord model structure. - ℂ **TaskPersistenceService** (`Class`) - 📝 Provides methods to save and load tasks from the tasks.db database using SQLAlchemy. - ƒ **__init__** (`Function`) - 📝 Initializes the persistence service. - ƒ **persist_task** (`Function`) - 📝 Persists or updates a single task in the database. - ƒ **persist_tasks** (`Function`) - 📝 Persists multiple tasks. - ƒ **load_tasks** (`Function`) - 📝 Loads tasks from the database. - ƒ **delete_tasks** (`Function`) - 📝 Deletes specific tasks from the database. - 📦 **TaskManagerModule** (`Module`) - 📝 Manages the lifecycle of tasks, including their creation, execution, and state tracking. It uses a thread pool to run plugins asynchronously. - 🏗️ Layer: Core - 🔒 Invariant: Task IDs are unique. - ℂ **TaskManager** (`Class`) - 📝 Manages the lifecycle of tasks, including their creation, execution, and state tracking. - ƒ **__init__** (`Function`) - 📝 Initialize the TaskManager with dependencies. - ƒ **create_task** (`Function`) - 📝 Creates and queues a new task for execution. - ƒ **_run_task** (`Function`) - 📝 Internal method to execute a task. - ƒ **resolve_task** (`Function`) - 📝 Resumes a task that is awaiting mapping. - ƒ **wait_for_resolution** (`Function`) - 📝 Pauses execution and waits for a resolution signal. - ƒ **wait_for_input** (`Function`) - 📝 Pauses execution and waits for user input. - ƒ **get_task** (`Function`) - 📝 Retrieves a task by its ID. - ƒ **get_all_tasks** (`Function`) - 📝 Retrieves all registered tasks. - ƒ **get_tasks** (`Function`) - 📝 Retrieves tasks with pagination and optional status filter. - ƒ **get_task_logs** (`Function`) - 📝 Retrieves logs for a specific task. - ƒ **_add_log** (`Function`) - 📝 Adds a log entry to a task and notifies subscribers. - ƒ **subscribe_logs** (`Function`) - 📝 Subscribes to real-time logs for a task. - ƒ **unsubscribe_logs** (`Function`) - 📝 Unsubscribes from real-time logs for a task. - ƒ **load_persisted_tasks** (`Function`) - 📝 Load persisted tasks using persistence service. - ƒ **await_input** (`Function`) - 📝 Transition a task to AWAITING_INPUT state with input request. - ƒ **resume_task_with_password** (`Function`) - 📝 Resume a task that is awaiting input with provided passwords. - ƒ **clear_tasks** (`Function`) - 📝 Clears tasks based on status filter. - 📦 **TaskManagerModels** (`Module`) - 📝 Defines the data models and enumerations used by the Task Manager. - 🏗️ Layer: Core - 🔒 Invariant: Task IDs are immutable once created. - 📦 **TaskStatus** (`Enum`) - 📝 Defines the possible states a task can be in during its lifecycle. - ℂ **LogEntry** (`Class`) - 📝 A Pydantic model representing a single, structured log entry associated with a task. - ℂ **Task** (`Class`) - 📝 A Pydantic model representing a single execution instance of a plugin, including its status, parameters, and logs. - ƒ **__init__** (`Function`) - 📝 Initializes the Task model and validates input_request for AWAITING_INPUT status. - 📦 **TaskCleanupModule** (`Module`) - 📝 Implements task cleanup and retention policies. - 🏗️ Layer: Core - ℂ **TaskCleanupService** (`Class`) - 📝 Provides methods to clean up old task records. - ƒ **__init__** (`Function`) - 📝 Initializes the cleanup service with dependencies. - ƒ **run_cleanup** (`Function`) - 📝 Deletes tasks older than the configured retention period. - 📦 **TaskManagerPackage** (`Module`) - 📝 Exports the public API of the task manager package. - 🏗️ Layer: Core - 📦 **backend.src.api.auth** (`Module`) - 📝 Authentication API endpoints. - 🏗️ Layer: API - 🔒 Invariant: All auth endpoints must return consistent error codes. - 📦 **router** (`Variable`) - 📝 APIRouter instance for authentication routes. - ƒ **login_for_access_token** (`Function`) - 📝 Authenticates a user and returns a JWT access token. - ƒ **read_users_me** (`Function`) - 📝 Retrieves the profile of the currently authenticated user. - ƒ **logout** (`Function`) - 📝 Logs out the current user (placeholder for session revocation). - ƒ **login_adfs** (`Function`) - 📝 Initiates the ADFS OIDC login flow. - ƒ **auth_callback_adfs** (`Function`) - 📝 Handles the callback from ADFS after successful authentication. - 📦 **router** (`Global`) - 📝 APIRouter instance for LLM routes. - ƒ **get_providers** (`Function`) - 📝 Retrieve all LLM provider configurations. - ƒ **create_provider** (`Function`) - 📝 Create a new LLM provider configuration. - ƒ **update_provider** (`Function`) - 📝 Update an existing LLM provider configuration. - ƒ **delete_provider** (`Function`) - 📝 Delete an LLM provider configuration. - ƒ **test_connection** (`Function`) - 📝 Test connection to an LLM provider. - ƒ **test_provider_config** (`Function`) - 📝 Test connection with a provided configuration (not yet saved). - 📦 **backend.src.api.routes.git** (`Module`) - 📝 Provides FastAPI endpoints for Git integration operations. - 🏗️ Layer: API - 🔒 Invariant: All Git operations must be routed through GitService. - ƒ **get_git_configs** (`Function`) - 📝 List all configured Git servers. - ƒ **create_git_config** (`Function`) - 📝 Register a new Git server configuration. - ƒ **delete_git_config** (`Function`) - 📝 Remove a Git server configuration. - ƒ **test_git_config** (`Function`) - 📝 Validate connection to a Git server using provided credentials. - ƒ **init_repository** (`Function`) - 📝 Link a dashboard to a Git repository and perform initial clone/init. - ƒ **get_branches** (`Function`) - 📝 List all branches for a dashboard's repository. - ƒ **create_branch** (`Function`) - 📝 Create a new branch in the dashboard's repository. - ƒ **checkout_branch** (`Function`) - 📝 Switch the dashboard's repository to a specific branch. - ƒ **commit_changes** (`Function`) - 📝 Stage and commit changes in the dashboard's repository. - ƒ **push_changes** (`Function`) - 📝 Push local commits to the remote repository. - ƒ **pull_changes** (`Function`) - 📝 Pull changes from the remote repository. - ƒ **sync_dashboard** (`Function`) - 📝 Sync dashboard state from Superset to Git using the GitPlugin. - ƒ **get_environments** (`Function`) - 📝 List all deployment environments. - ƒ **deploy_dashboard** (`Function`) - 📝 Deploy dashboard from Git to a target environment. - ƒ **get_history** (`Function`) - 📝 View commit history for a dashboard's repository. - ƒ **get_repository_status** (`Function`) - 📝 Get current Git status for a dashboard repository. - ƒ **get_repository_diff** (`Function`) - 📝 Get Git diff for a dashboard repository. - ƒ **generate_commit_message** (`Function`) - 📝 Generate a suggested commit message using LLM. - 📦 **ConnectionsRouter** (`Module`) - 📝 Defines the FastAPI router for managing external database connections. - 🏗️ Layer: UI (API) - ℂ **ConnectionSchema** (`Class`) - 📝 Pydantic model for connection response. - ℂ **ConnectionCreate** (`Class`) - 📝 Pydantic model for creating a connection. - ƒ **list_connections** (`Function`) - 📝 Lists all saved connections. - ƒ **create_connection** (`Function`) - 📝 Creates a new connection configuration. - ƒ **delete_connection** (`Function`) - 📝 Deletes a connection configuration. - 📦 **backend.src.api.routes.environments** (`Module`) - 📝 API endpoints for listing environments and their databases. - 🏗️ Layer: API - 🔒 Invariant: Environment IDs must exist in the configuration. - 🔗 DEPENDS_ON -> `backend.src.dependencies` - 🔗 DEPENDS_ON -> `backend.src.core.superset_client` - 📦 **ScheduleSchema** (`DataClass`) - 📦 **EnvironmentResponse** (`DataClass`) - 📦 **DatabaseResponse** (`DataClass`) - ƒ **get_environments** (`Function`) - 📝 List all configured environments. - ƒ **update_environment_schedule** (`Function`) - 📝 Update backup schedule for an environment. - ƒ **get_environment_databases** (`Function`) - 📝 Fetch the list of databases from a specific environment. - 📦 **backend.src.api.routes.migration** (`Module`) - 📝 API endpoints for migration operations. - 🏗️ Layer: API - 🔗 DEPENDS_ON -> `backend.src.dependencies` - 🔗 DEPENDS_ON -> `backend.src.models.dashboard` - ƒ **get_dashboards** (`Function`) - 📝 Fetch all dashboards from the specified environment for the grid. - ƒ **execute_migration** (`Function`) - 📝 Execute the migration of selected dashboards. - 📦 **PluginsRouter** (`Module`) - 📝 Defines the FastAPI router for plugin-related endpoints, allowing clients to list available plugins. - 🏗️ Layer: UI (API) - ƒ **list_plugins** (`Function`) - 📝 Retrieve a list of all available plugins. - 📦 **backend.src.api.routes.mappings** (`Module`) - 📝 API endpoints for managing database mappings and getting suggestions. - 🏗️ Layer: API - 🔒 Invariant: Mappings are persisted in the SQLite database. - 🔗 DEPENDS_ON -> `backend.src.dependencies` - 🔗 DEPENDS_ON -> `backend.src.core.database` - 🔗 DEPENDS_ON -> `backend.src.services.mapping_service` - 📦 **MappingCreate** (`DataClass`) - 📦 **MappingResponse** (`DataClass`) - 📦 **SuggestRequest** (`DataClass`) - ƒ **get_mappings** (`Function`) - 📝 List all saved database mappings. - ƒ **create_mapping** (`Function`) - 📝 Create or update a database mapping. - ƒ **suggest_mappings_api** (`Function`) - 📝 Get suggested mappings based on fuzzy matching. - 📦 **SettingsRouter** (`Module`) - 📝 Provides API endpoints for managing application settings and Superset environments. - 🏗️ Layer: UI (API) - 🔒 Invariant: All settings changes must be persisted via ConfigManager. - 🔗 DEPENDS_ON -> `ConfigManager` - 🔗 DEPENDS_ON -> `ConfigModels` - ƒ **get_settings** (`Function`) - 📝 Retrieves all application settings. - ƒ **update_global_settings** (`Function`) - 📝 Updates global application settings. - ƒ **get_storage_settings** (`Function`) - 📝 Retrieves storage-specific settings. - ƒ **update_storage_settings** (`Function`) - 📝 Updates storage-specific settings. - ƒ **get_environments** (`Function`) - 📝 Lists all configured Superset environments. - ƒ **add_environment** (`Function`) - 📝 Adds a new Superset environment. - ƒ **update_environment** (`Function`) - 📝 Updates an existing Superset environment. - ƒ **delete_environment** (`Function`) - 📝 Deletes a Superset environment. - ƒ **test_environment_connection** (`Function`) - 📝 Tests the connection to a Superset environment. - 📦 **backend.src.api.routes.admin** (`Module`) - 📝 Admin API endpoints for user and role management. - 🏗️ Layer: API - 🔒 Invariant: All endpoints in this module require 'Admin' role or 'admin' scope. - 📦 **router** (`Variable`) - 📝 APIRouter instance for admin routes. - ƒ **list_users** (`Function`) - 📝 Lists all registered users. - ƒ **create_user** (`Function`) - 📝 Creates a new local user. - ƒ **update_user** (`Function`) - 📝 Updates an existing user. - ƒ **delete_user** (`Function`) - 📝 Deletes a user. - ƒ **list_roles** (`Function`) - 📝 Lists all available roles. - 🔗 CALLS -> `backend.src.models.auth.Role` - ƒ **create_role** (`Function`) - 📝 Creates a new system role with associated permissions. - 🔗 CALLS -> `backend.src.core.auth.repository.AuthRepository.get_permission_by_id` - ƒ **update_role** (`Function`) - 📝 Updates an existing role's metadata and permissions. - 🔗 CALLS -> `backend.src.core.auth.repository.AuthRepository.get_role_by_id` - ƒ **delete_role** (`Function`) - 📝 Removes a role from the system. - 🔗 CALLS -> `backend.src.core.auth.repository.AuthRepository.get_role_by_id` - ƒ **list_permissions** (`Function`) - 📝 Lists all available system permissions for assignment. - 🔗 CALLS -> `backend.src.core.auth.repository.AuthRepository.list_permissions` - ƒ **list_ad_mappings** (`Function`) - 📝 Lists all AD Group to Role mappings. - ƒ **create_ad_mapping** (`Function`) - 📝 Creates a new AD Group mapping. - 📦 **backend.src.api.routes.git_schemas** (`Module`) - 📝 Defines Pydantic models for the Git integration API layer. - 🏗️ Layer: API - 🔒 Invariant: All schemas must be compatible with the FastAPI router. - 🔗 DEPENDS_ON -> `backend.src.models.git` - ℂ **GitServerConfigBase** (`Class`) `[TRIVIAL]` - 📝 Base schema for Git server configuration attributes. - ℂ **GitServerConfigCreate** (`Class`) - 📝 Schema for creating a new Git server configuration. - ℂ **GitServerConfigSchema** (`Class`) - 📝 Schema for representing a Git server configuration with metadata. - ℂ **GitRepositorySchema** (`Class`) - 📝 Schema for tracking a local Git repository linked to a dashboard. - ℂ **BranchSchema** (`Class`) - 📝 Schema for representing a Git branch metadata. - ℂ **CommitSchema** (`Class`) - 📝 Schema for representing Git commit details. - ℂ **BranchCreate** (`Class`) - 📝 Schema for branch creation requests. - ℂ **BranchCheckout** (`Class`) - 📝 Schema for branch checkout requests. - ℂ **CommitCreate** (`Class`) - 📝 Schema for staging and committing changes. - ℂ **ConflictResolution** (`Class`) - 📝 Schema for resolving merge conflicts. - ℂ **DeploymentEnvironmentSchema** (`Class`) - 📝 Schema for representing a target deployment environment. - ℂ **DeployRequest** (`Class`) - 📝 Schema for dashboard deployment requests. - ℂ **RepoInitRequest** (`Class`) - 📝 Schema for repository initialization requests. - 📦 **storage_routes** (`Module`) - 📝 API endpoints for file storage management (backups and repositories). - 🏗️ Layer: API - 🔒 Invariant: All paths must be validated against path traversal. - 🔗 DEPENDS_ON -> `backend.src.models.storage` - ƒ **list_files** (`Function`) - 📝 List all files and directories in the storage system. - 🔗 CALLS -> `StoragePlugin.list_files` - ƒ **upload_file** (`Function`) - 📝 Upload a file to the storage system. - 🔗 CALLS -> `StoragePlugin.save_file` - ƒ **delete_file** (`Function`) - 📝 Delete a specific file or directory. - 🔗 CALLS -> `StoragePlugin.delete_file` - ƒ **download_file** (`Function`) - 📝 Retrieve a file for download. - 🔗 CALLS -> `StoragePlugin.get_file_path` - 📦 **TasksRouter** (`Module`) - 📝 Defines the FastAPI router for task-related endpoints, allowing clients to create, list, and get the status of tasks. - 🏗️ Layer: UI (API) - ƒ **create_task** (`Function`) - 📝 Create and start a new task for a given plugin. - ƒ **list_tasks** (`Function`) - 📝 Retrieve a list of tasks with pagination and optional status filter. - ƒ **get_task** (`Function`) - 📝 Retrieve the details of a specific task. - ƒ **get_task_logs** (`Function`) - 📝 Retrieve logs for a specific task. - ƒ **resolve_task** (`Function`) - 📝 Resolve a task that is awaiting mapping. - ƒ **resume_task** (`Function`) - 📝 Resume a task that is awaiting input (e.g., passwords). - ƒ **clear_tasks** (`Function`) - 📝 Clear tasks matching the status filter. - 📦 **backend.src.models.llm** (`Module`) - 📝 SQLAlchemy models for LLM provider configuration and validation results. - 🏗️ Layer: Domain - ℂ **LLMProvider** (`Class`) - 📝 SQLAlchemy model for LLM provider configuration. - ℂ **ValidationRecord** (`Class`) - 📝 SQLAlchemy model for dashboard validation history. - ƒ **generate_uuid** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **GitModels** (`Module`) - 📝 Git-specific SQLAlchemy models for configuration and repository tracking. - 🏗️ Layer: Model - 📦 **backend.src.models.task** (`Module`) - 📝 Defines the database schema for task execution records. - 🏗️ Layer: Domain - 🔒 Invariant: All primary keys are UUID strings. - 🔗 DEPENDS_ON -> `sqlalchemy` - ℂ **TaskRecord** (`Class`) - 📝 Represents a persistent record of a task execution. - 📦 **backend.src.models.connection** (`Module`) - 📝 Defines the database schema for external database connection configurations. - 🏗️ Layer: Domain - 🔒 Invariant: All primary keys are UUID strings. - 🔗 DEPENDS_ON -> `sqlalchemy` - ℂ **ConnectionConfig** (`Class`) - 📝 Stores credentials for external databases used for column mapping. - 📦 **backend.src.models.mapping** (`Module`) - 📝 Defines the database schema for environment metadata and database mappings using SQLAlchemy. - 🏗️ Layer: Domain - 🔒 Invariant: All primary keys are UUID strings. - 🔗 DEPENDS_ON -> `sqlalchemy` - ℂ **MigrationStatus** (`Class`) `[TRIVIAL]` - 📝 Enumeration of possible migration job statuses. - ℂ **Environment** (`Class`) - 📝 Represents a Superset instance environment. - ℂ **DatabaseMapping** (`Class`) - 📝 Represents a mapping between source and target databases. - ℂ **MigrationJob** (`Class`) - 📝 Represents a single migration execution job. - ℂ **FileCategory** (`Class`) - 📝 Enumeration of supported file categories in the storage system. - ℂ **StorageConfig** (`Class`) - 📝 Configuration model for the storage system, defining paths and naming patterns. - ℂ **StoredFile** (`Class`) - 📝 Data model representing metadata for a file stored in the system. - 📦 **backend.src.models.dashboard** (`Module`) - 📝 Defines data models for dashboard metadata and selection. - 🏗️ Layer: Model - ℂ **DashboardMetadata** (`Class`) `[TRIVIAL]` - 📝 Represents a dashboard available for migration. - ℂ **DashboardSelection** (`Class`) `[TRIVIAL]` - 📝 Represents the user's selection of dashboards to migrate. - 📦 **backend.src.models.auth** (`Module`) - 📝 SQLAlchemy models for multi-user authentication and authorization. - 🏗️ Layer: Domain - 🔒 Invariant: Usernames and emails must be unique. - ƒ **generate_uuid** (`Function`) - 📝 Generates a unique UUID string. - 📦 **user_roles** (`Table`) - 📝 Association table for many-to-many relationship between Users and Roles. - 📦 **role_permissions** (`Table`) - 📝 Association table for many-to-many relationship between Roles and Permissions. - ℂ **User** (`Class`) - 📝 Represents an identity that can authenticate to the system. - ℂ **Role** (`Class`) - 📝 Represents a collection of permissions. - ℂ **Permission** (`Class`) - 📝 Represents a specific capability within the system. - ℂ **ADGroupMapping** (`Class`) - 📝 Maps an Active Directory group to a local System Role. - 🔗 DEPENDS_ON -> `Role` - 📦 **backend.src.services.llm_provider** (`Module`) - 📝 Service for managing LLM provider configurations with encrypted API keys. - 🏗️ Layer: Domain - 🔗 DEPENDS_ON -> `backend.src.core.database` - 🔗 DEPENDS_ON -> `backend.src.models.llm` - ℂ **EncryptionManager** (`Class`) - 📝 Handles encryption and decryption of sensitive data like API keys. - 🔒 Invariant: Uses a secret key from environment or a default one (fallback only for dev). - ℂ **LLMProviderService** (`Class`) - 📝 Service to manage LLM provider lifecycle. - ƒ **get_all_providers** (`Function`) - 📝 Returns all configured LLM providers. - ƒ **get_provider** (`Function`) - 📝 Returns a single LLM provider by ID. - ƒ **create_provider** (`Function`) - 📝 Creates a new LLM provider with encrypted API key. - ƒ **update_provider** (`Function`) - 📝 Updates an existing LLM provider. - ƒ **delete_provider** (`Function`) - 📝 Deletes an LLM provider. - ƒ **get_decrypted_api_key** (`Function`) - 📝 Returns the decrypted API key for a provider. - ƒ **__init__** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **encrypt** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **decrypt** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **__init__** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **backend.src.services.auth_service** (`Module`) - 📝 Orchestrates authentication business logic. - 🏗️ Layer: Service - 🔒 Invariant: Authentication must verify both credentials and account status. - ℂ **AuthService** (`Class`) - 📝 Provides high-level authentication services. - ƒ **__init__** (`Function`) - 📝 Initializes the service with a database session. - ƒ **authenticate_user** (`Function`) - 📝 Authenticates a user with username and password. - ƒ **create_session** (`Function`) - 📝 Creates a JWT session for an authenticated user. - ƒ **provision_adfs_user** (`Function`) - 📝 Just-In-Time (JIT) provisioning for ADFS users based on group mappings. - 📦 **backend.src.services.git_service** (`Module`) - 📝 Core Git logic using GitPython to manage dashboard repositories. - 🏗️ Layer: Service - 🔒 Invariant: All Git operations must be performed on a valid local directory. - ℂ **GitService** (`Class`) - 📝 Wrapper for GitPython operations with semantic logging and error handling. - ƒ **__init__** (`Function`) - 📝 Initializes the GitService with a base path for repositories. - ƒ **_get_repo_path** (`Function`) - 📝 Resolves the local filesystem path for a dashboard's repository. - ƒ **init_repo** (`Function`) - 📝 Initialize or clone a repository for a dashboard. - ƒ **get_repo** (`Function`) - 📝 Get Repo object for a dashboard. - ƒ **list_branches** (`Function`) - 📝 List all branches for a dashboard's repository. - ƒ **create_branch** (`Function`) - 📝 Create a new branch from an existing one. - ƒ **checkout_branch** (`Function`) - 📝 Switch to a specific branch. - ƒ **commit_changes** (`Function`) - 📝 Stage and commit changes. - ƒ **push_changes** (`Function`) - 📝 Push local commits to remote. - ƒ **pull_changes** (`Function`) - 📝 Pull changes from remote. - ƒ **get_status** (`Function`) - 📝 Get current repository status (dirty files, untracked, etc.) - ƒ **get_diff** (`Function`) - 📝 Generate diff for a file or the whole repository. - ƒ **get_commit_history** (`Function`) - 📝 Retrieve commit history for a repository. - ƒ **test_connection** (`Function`) - 📝 Test connection to Git provider using PAT. - 📦 **backend.src.services.mapping_service** (`Module`) - 📝 Orchestrates database fetching and fuzzy matching suggestions. - 🏗️ Layer: Service - 🔒 Invariant: Suggestions are based on database names. - 🔗 DEPENDS_ON -> `backend.src.core.superset_client` - 🔗 DEPENDS_ON -> `backend.src.core.utils.matching` - ℂ **MappingService** (`Class`) - 📝 Service for handling database mapping logic. - ƒ **__init__** (`Function`) - 📝 Initializes the mapping service with a config manager. - ƒ **_get_client** (`Function`) - 📝 Helper to get an initialized SupersetClient for an environment. - ƒ **get_suggestions** (`Function`) - 📝 Fetches databases from both environments and returns fuzzy matching suggestions. - 📦 **BackupPlugin** (`Module`) - 📝 A plugin that provides functionality to back up Superset dashboards. - 🏗️ Layer: App - 🔗 IMPLEMENTS -> `PluginBase` - 🔗 DEPENDS_ON -> `superset_tool.client` - 🔗 DEPENDS_ON -> `superset_tool.utils` - ℂ **BackupPlugin** (`Class`) - 📝 Implementation of the backup plugin logic. - ƒ **id** (`Function`) - 📝 Returns the unique identifier for the backup plugin. - ƒ **name** (`Function`) - 📝 Returns the human-readable name of the backup plugin. - ƒ **description** (`Function`) - 📝 Returns a description of the backup plugin. - ƒ **version** (`Function`) - 📝 Returns the version of the backup plugin. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the backup plugin. - ƒ **get_schema** (`Function`) - 📝 Returns the JSON schema for backup plugin parameters. - ƒ **execute** (`Function`) - 📝 Executes the dashboard backup logic. - 📦 **DebugPluginModule** (`Module`) - 📝 Implements a plugin for system diagnostics and debugging Superset API responses. - 🏗️ Layer: Plugins - ℂ **DebugPlugin** (`Class`) - 📝 Plugin for system diagnostics and debugging. - ƒ **id** (`Function`) - 📝 Returns the unique identifier for the debug plugin. - ƒ **name** (`Function`) - 📝 Returns the human-readable name of the debug plugin. - ƒ **description** (`Function`) - 📝 Returns a description of the debug plugin. - ƒ **version** (`Function`) - 📝 Returns the version of the debug plugin. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the debug plugin. - ƒ **get_schema** (`Function`) - 📝 Returns the JSON schema for the debug plugin parameters. - ƒ **execute** (`Function`) - 📝 Executes the debug logic. - ƒ **_test_db_api** (`Function`) - 📝 Tests database API connectivity for source and target environments. - ƒ **_get_dataset_structure** (`Function`) - 📝 Retrieves the structure of a dataset. - 📦 **SearchPluginModule** (`Module`) - 📝 Implements a plugin for searching text patterns across all datasets in a specific Superset environment. - 🏗️ Layer: Plugins - ℂ **SearchPlugin** (`Class`) - 📝 Plugin for searching text patterns in Superset datasets. - ƒ **id** (`Function`) - 📝 Returns the unique identifier for the search plugin. - ƒ **name** (`Function`) - 📝 Returns the human-readable name of the search plugin. - ƒ **description** (`Function`) - 📝 Returns a description of the search plugin. - ƒ **version** (`Function`) - 📝 Returns the version of the search plugin. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the search plugin. - ƒ **get_schema** (`Function`) - 📝 Returns the JSON schema for the search plugin parameters. - ƒ **execute** (`Function`) - 📝 Executes the dataset search logic. - ƒ **_get_context** (`Function`) - 📝 Extracts a small context around the match for display. - 📦 **MapperPluginModule** (`Module`) - 📝 Implements a plugin for mapping dataset columns using external database connections or Excel files. - 🏗️ Layer: Plugins - ℂ **MapperPlugin** (`Class`) - 📝 Plugin for mapping dataset columns verbose names. - ƒ **id** (`Function`) - 📝 Returns the unique identifier for the mapper plugin. - ƒ **name** (`Function`) - 📝 Returns the human-readable name of the mapper plugin. - ƒ **description** (`Function`) - 📝 Returns a description of the mapper plugin. - ƒ **version** (`Function`) - 📝 Returns the version of the mapper plugin. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the mapper plugin. - ƒ **get_schema** (`Function`) - 📝 Returns the JSON schema for the mapper plugin parameters. - ƒ **execute** (`Function`) - 📝 Executes the dataset mapping logic. - 📦 **backend.src.plugins.git_plugin** (`Module`) - 📝 Предоставляет плагин для версионирования и развертывания дашбордов Superset. - 🏗️ Layer: Plugin - 🔒 Invariant: Все операции с Git должны выполняться через GitService. - ℂ **GitPlugin** (`Class`) - 📝 Реализация плагина Git Integration для управления версиями дашбордов. - ƒ **__init__** (`Function`) - 📝 Инициализирует плагин и его зависимости. - ƒ **id** (`Function`) - 📝 Returns the plugin identifier. - ƒ **name** (`Function`) - 📝 Returns the plugin name. - ƒ **description** (`Function`) - 📝 Returns the plugin description. - ƒ **version** (`Function`) - 📝 Returns the plugin version. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the git plugin. - ƒ **get_schema** (`Function`) - 📝 Возвращает JSON-схему параметров для выполнения задач плагина. - ƒ **initialize** (`Function`) - 📝 Выполняет начальную настройку плагина. - ƒ **execute** (`Function`) - 📝 Основной метод выполнения задач плагина. - 🔗 CALLS -> `self._handle_sync` - 🔗 CALLS -> `self._handle_deploy` - ƒ **_handle_sync** (`Function`) - 📝 Экспортирует дашборд из Superset и распаковывает в Git-репозиторий. - 🔗 CALLS -> `src.services.git_service.GitService.get_repo` - 🔗 CALLS -> `src.core.superset_client.SupersetClient.export_dashboard` - ƒ **_handle_deploy** (`Function`) - 📝 Упаковывает репозиторий в ZIP и импортирует в целевое окружение Superset. - 🔗 CALLS -> `src.core.superset_client.SupersetClient.import_dashboard` - ƒ **_get_env** (`Function`) - 📝 Вспомогательный метод для получения конфигурации окружения. - 📦 **MigrationPlugin** (`Module`) - 📝 A plugin that provides functionality to migrate Superset dashboards between environments. - 🏗️ Layer: App - 🔗 IMPLEMENTS -> `PluginBase` - 🔗 DEPENDS_ON -> `superset_tool.client` - 🔗 DEPENDS_ON -> `superset_tool.utils` - ℂ **MigrationPlugin** (`Class`) - 📝 Implementation of the migration plugin logic. - ƒ **id** (`Function`) - 📝 Returns the unique identifier for the migration plugin. - ƒ **name** (`Function`) - 📝 Returns the human-readable name of the migration plugin. - ƒ **description** (`Function`) - 📝 Returns a description of the migration plugin. - ƒ **version** (`Function`) - 📝 Returns the version of the migration plugin. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the migration plugin. - ƒ **get_schema** (`Function`) - 📝 Returns the JSON schema for migration plugin parameters. - ƒ **execute** (`Function`) - 📝 Executes the dashboard migration logic. - 📦 **MigrationPlugin.execute** (`Action`) - 📝 Execute the migration logic with proper task logging. - ƒ **schedule_dashboard_validation** (`Function`) - 📝 Schedules a recurring dashboard validation task. - 📦 **scheduler** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for backend/src/plugins/llm_analysis/scheduler.py - 🏗️ Layer: Unknown - ƒ **job_func** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **_parse_cron** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ℂ **LLMProviderType** (`Class`) - 📝 Enum for supported LLM providers. - ℂ **LLMProviderConfig** (`Class`) - 📝 Configuration for an LLM provider. - ℂ **ValidationStatus** (`Class`) - 📝 Enum for dashboard validation status. - ℂ **DetectedIssue** (`Class`) - 📝 Model for a single issue detected during validation. - ℂ **ValidationResult** (`Class`) - 📝 Model for dashboard validation result. - 📦 **backend.src.plugins.llm_analysis.plugin** (`Module`) - 📝 Implements DashboardValidationPlugin and DocumentationPlugin. - 🏗️ Layer: Domain - ℂ **DashboardValidationPlugin** (`Class`) - 📝 Plugin for automated dashboard health analysis using LLMs. - ℂ **DocumentationPlugin** (`Class`) - 📝 Plugin for automated dataset documentation using LLMs. - ƒ **id** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **name** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **description** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **version** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **get_schema** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **execute** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **id** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **name** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **description** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **version** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **get_schema** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **execute** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **backend.src.plugins.llm_analysis.service** (`Module`) - 📝 Services for LLM interaction and dashboard screenshots. - 🏗️ Layer: Domain - 🔗 DEPENDS_ON -> `playwright` - 🔗 DEPENDS_ON -> `openai` - 🔗 DEPENDS_ON -> `tenacity` - ℂ **ScreenshotService** (`Class`) - 📝 Handles capturing screenshots of Superset dashboards. - ƒ **capture_dashboard** (`Function`) - 📝 Captures a screenshot of a dashboard using Playwright. - ℂ **LLMClient** (`Class`) - 📝 Wrapper for LLM provider APIs. - ƒ **__init__** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **__init__** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - 📦 **StoragePlugin** (`Module`) - 📝 Provides core filesystem operations for managing backups and repositories. - 🏗️ Layer: App - 🔒 Invariant: All file operations must be restricted to the configured storage root. - 🔗 IMPLEMENTS -> `PluginBase` - 🔗 DEPENDS_ON -> `backend.src.models.storage` - ℂ **StoragePlugin** (`Class`) - 📝 Implementation of the storage management plugin. - ƒ **__init__** (`Function`) - 📝 Initializes the StoragePlugin and ensures required directories exist. - ƒ **id** (`Function`) - 📝 Returns the unique identifier for the storage plugin. - ƒ **name** (`Function`) - 📝 Returns the human-readable name of the storage plugin. - ƒ **description** (`Function`) - 📝 Returns a description of the storage plugin. - ƒ **version** (`Function`) - 📝 Returns the version of the storage plugin. - ƒ **ui_route** (`Function`) - 📝 Returns the frontend route for the storage plugin. - ƒ **get_schema** (`Function`) - 📝 Returns the JSON schema for storage plugin parameters. - ƒ **execute** (`Function`) - 📝 Executes storage-related tasks (placeholder for PluginBase compliance). - ƒ **get_storage_root** (`Function`) - 📝 Resolves the absolute path to the storage root. - ƒ **resolve_path** (`Function`) - 📝 Resolves a dynamic path pattern using provided variables. - ƒ **ensure_directories** (`Function`) - 📝 Creates the storage root and category subdirectories if they don't exist. - ƒ **validate_path** (`Function`) - 📝 Prevents path traversal attacks by ensuring the path is within the storage root. - ƒ **list_files** (`Function`) - 📝 Lists all files and directories in a specific category and subpath. - ƒ **save_file** (`Function`) - 📝 Saves an uploaded file to the specified category and optional subpath. - ƒ **delete_file** (`Function`) - 📝 Deletes a file or directory from the specified category and path. - ƒ **get_file_path** (`Function`) - 📝 Returns the absolute path of a file for download. - ℂ **GitLLMExtension** (`Class`) - 📝 Provides LLM capabilities to the Git plugin. - ƒ **suggest_commit_message** (`Function`) - 📝 Generates a suggested commit message based on a diff and history. - 📦 **llm_extension** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for backend/src/plugins/git/llm_extension.py - 🏗️ Layer: Unknown - ƒ **__init__** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **test_environment_model** (`Function`) - 📝 Tests that Environment model correctly stores values. - ƒ **test_belief_scope_logs_entry_action_exit** (`Function`) - 📝 Test that belief_scope generates [ID][Entry], [ID][Action], and [ID][Exit] logs. - ƒ **test_belief_scope_error_handling** (`Function`) - 📝 Test that belief_scope logs Coherence:Failed on exception. - ƒ **test_belief_scope_success_coherence** (`Function`) - 📝 Test that belief_scope logs Coherence:OK on success. - 📦 **test_auth** (`Module`) `[TRIVIAL]` - 📝 Auto-generated module for backend/tests/test_auth.py - 🏗️ Layer: Unknown - ƒ **db_session** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **auth_service** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **auth_repo** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **test_create_user** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **test_authenticate_user** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **test_create_session** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **test_role_permission_association** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **test_user_role_association** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan) - ƒ **test_ad_group_mapping** (`Function`) `[TRIVIAL]` - 📝 Auto-detected function (orphan)