Files
ss-tools/specs/project_map.md
2026-02-07 11:26:06 +03:00

2074 lines
102 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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<any> , 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)