Таски готовы

This commit is contained in:
2026-03-16 23:11:19 +03:00
parent 493a73827a
commit 9cae07a3b4
24 changed files with 10614 additions and 8733 deletions

View File

@@ -2,12 +2,12 @@
> High-level module structure for AI Context. Generated automatically.
**Generated:** 2026-03-16T10:03:28.287790
**Generated:** 2026-03-16T22:51:06.491000
## Summary
- **Total Modules:** 105
- **Total Entities:** 3313
- **Total Entities:** 3358
## Module Hierarchy
@@ -20,27 +20,34 @@
**Key Entities:**
- 📦 **backend.delete_running_tasks** (Module) `[TRIVIAL]`
- 📦 **DeleteRunningTasksUtil** (Module) `[TRIVIAL]`
- Script to delete tasks with RUNNING status from the database...
**Dependencies:**
- 🔗 DEPENDS_ON -> TaskRecord
- 🔗 DEPENDS_ON -> TasksSessionLocal
### 📁 `src/`
- 🏗️ **Layers:** API, Core, UI (API)
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 6, TRIVIAL: 18
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 6, TRIVIAL: 20
- 📄 **Files:** 3
- 📦 **Entities:** 26
- 📦 **Entities:** 28
**Key Entities:**
- 📦 **AppDependencies** (Module)
- Manages creation and provision of shared application depende...
- 📦 **AppModule** (Module) `[CRITICAL]`
- The main entry point for the FastAPI application. It initial...
- 📦 **backend.src.dependencies** (Module)
- Manages creation and provision of shared application depende...
- 📦 **SrcRoot** (Module) `[TRIVIAL]`
- Canonical backend package root for application, scripts, and...
**Dependencies:**
- 🔗 DEPENDS_ON -> AppDependencies
- 🔗 DEPENDS_ON -> backend.src.api.routes
- 🔗 DEPENDS_ON -> backend.src.dependencies
### 📁 `api/`
@@ -51,18 +58,25 @@
**Key Entities:**
- 📦 **backend.src.api.auth** (Module)
- 📦 **AuthApi** (Module)
- Authentication API endpoints.
**Dependencies:**
- 🔗 DEPENDS_ON -> AuthRepository:Class
- 🔗 DEPENDS_ON -> get_current_user
### 📁 `routes/`
- 🏗️ **Layers:** API, Infra, UI (API), UI/API
- 📊 **Tiers:** CRITICAL: 7, STANDARD: 184, TRIVIAL: 111
- 📊 **Tiers:** CRITICAL: 7, STANDARD: 191, TRIVIAL: 107
- 📄 **Files:** 21
- 📦 **Entities:** 302
- 📦 **Entities:** 305
**Key Entities:**
- **ApprovalRequest** (Class) `[TRIVIAL]`
- Schema for approval request payload.
- **AssistantAction** (Class) `[TRIVIAL]`
- UI action descriptor returned with assistant responses.
- **AssistantMessageRequest** (Class) `[TRIVIAL]`
@@ -81,46 +95,39 @@
- Schema for staging and committing changes.
- **CommitSchema** (Class) `[TRIVIAL]`
- Schema for representing Git commit details.
- **ConfirmationRecord** (Class)
- In-memory confirmation token model for risky operation dispa...
**Dependencies:**
- 🔗 DEPENDS_ON -> AppDependencies
- 🔗 DEPENDS_ON -> backend.src.core.config_manager.ConfigManager
- 🔗 DEPENDS_ON -> backend.src.core.config_models
- 🔗 DEPENDS_ON -> backend.src.core.database
- 🔗 DEPENDS_ON -> backend.src.core.database.get_db
- 🔗 DEPENDS_ON -> backend.src.core.mapping_service.IdMappingService
### 📁 `__tests__/`
- 🏗️ **Layers:** API, Domain, Domain (Tests), Tests, UI (API Tests), Unknown
- 📊 **Tiers:** STANDARD: 16, TRIVIAL: 275
- 📊 **Tiers:** STANDARD: 16, TRIVIAL: 265
- 📄 **Files:** 18
- 📦 **Entities:** 291
- 📦 **Entities:** 281
**Key Entities:**
- **_FakeConfigManager** (Class) `[TRIVIAL]`
- Provide deterministic environment aliases required by intent...
- **_FakeConfigManager** (Class) `[TRIVIAL]`
- Environment config fixture with dev/prod aliases for parser ...
- **_FakeDb** (Class) `[TRIVIAL]`
- In-memory session substitute for assistant route persistence...
- **_FakeDb** (Class) `[TRIVIAL]`
- In-memory fake database implementing subset of Session inter...
- **_FakeQuery** (Class) `[TRIVIAL]`
- Minimal chainable query object for fake DB interactions.
- **_FakeQuery** (Class) `[TRIVIAL]`
- Minimal chainable query object for fake SQLAlchemy-like DB b...
- **_FakeTask** (Class) `[TRIVIAL]`
- Lightweight task model used for assistant authz tests.
- **_FakeTask** (Class) `[TRIVIAL]`
- Lightweight task stub used by assistant API tests.
- **_FakeTaskManager** (Class) `[TRIVIAL]`
- Minimal task manager for deterministic operation creation an...
- **_FakeTaskManager** (Class) `[TRIVIAL]`
- Minimal async-compatible TaskManager fixture for determinist...
**Dependencies:**
@@ -130,9 +137,9 @@
### 📁 `core/`
- 🏗️ **Layers:** Core, Domain, Infra
- 📊 **Tiers:** CRITICAL: 9, STANDARD: 66, TRIVIAL: 134
- 📊 **Tiers:** CRITICAL: 9, STANDARD: 49, TRIVIAL: 153
- 📄 **Files:** 14
- 📦 **Entities:** 209
- 📦 **Entities:** 211
**Key Entities:**
@@ -159,11 +166,11 @@
**Dependencies:**
- 🔗 DEPENDS_ON -> AppConfig
- 🔗 DEPENDS_ON -> AppConfigRecord
- 🔗 DEPENDS_ON -> SessionLocal
- 🔗 DEPENDS_ON -> backend.src.core.auth.config
- 🔗 DEPENDS_ON -> backend.src.core.config_models.AppConfig
- 🔗 DEPENDS_ON -> backend.src.core.config_models.Environment
- 🔗 DEPENDS_ON -> backend.src.core.database.SessionLocal
- 🔗 DEPENDS_ON -> backend.src.core.logger
### 📁 `__tests__/`
@@ -186,16 +193,18 @@
### 📁 `auth/`
- 🏗️ **Layers:** Core, Domain
- 📊 **Tiers:** CRITICAL: 17, STANDARD: 2, TRIVIAL: 10
- 📊 **Tiers:** CRITICAL: 6, STANDARD: 2, TRIVIAL: 20
- 📄 **Files:** 7
- 📦 **Entities:** 29
- 📦 **Entities:** 28
**Key Entities:**
- **AuthConfig** (Class) `[CRITICAL]`
- Holds authentication-related settings.
- **AuthRepository** (Class) `[CRITICAL]`
- Encapsulates database operations for authentication-related ...
- Initialize repository with database session.
- 📦 **AuthRepository** (Module) `[CRITICAL]`
- Data access layer for authentication and user preference ent...
- 📦 **backend.src.core.auth.config** (Module) `[CRITICAL]`
- Centralized configuration for authentication and authorizati...
- 📦 **backend.src.core.auth.jwt** (Module)
@@ -204,18 +213,16 @@
- Audit logging for security-related events.
- 📦 **backend.src.core.auth.oauth** (Module) `[CRITICAL]`
- ADFS OIDC configuration and client using Authlib.
- 📦 **backend.src.core.auth.repository** (Module) `[CRITICAL]`
- Data access layer for authentication and user preference ent...
- 📦 **backend.src.core.auth.security** (Module) `[CRITICAL]`
- Utility for password hashing and verification using Passlib.
**Dependencies:**
- 🔗 DEPENDS_ON -> Permission:Class
- 🔗 DEPENDS_ON -> Role:Class
- 🔗 DEPENDS_ON -> User:Class
- 🔗 DEPENDS_ON -> UserDashboardPreference:Class
- 🔗 DEPENDS_ON -> authlib
- 🔗 DEPENDS_ON -> backend.src.core.logger.belief_scope
- 🔗 DEPENDS_ON -> backend.src.models.auth
- 🔗 DEPENDS_ON -> backend.src.models.profile
- 🔗 DEPENDS_ON -> jose
### 📁 `__tests__/`
@@ -304,10 +311,10 @@
**Dependencies:**
- 🔗 DEPENDS_ON -> Environment
- 🔗 DEPENDS_ON -> PluginLoader:Class
- 🔗 DEPENDS_ON -> TaskLogPersistenceService:Class
- 🔗 DEPENDS_ON -> TaskLogRecord
- 🔗 DEPENDS_ON -> TaskLogger, USED_BY -> plugins
- 🔗 DEPENDS_ON -> TaskManager, CALLS -> TaskManager._add_log
- 🔗 DEPENDS_ON -> TaskManagerModels
### 📁 `__tests__/`
@@ -326,7 +333,7 @@
### 📁 `utils/`
- 🏗️ **Layers:** Core, Domain, Infra
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 10, TRIVIAL: 61
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 11, TRIVIAL: 60
- 📄 **Files:** 6
- 📦 **Entities:** 72
@@ -393,10 +400,10 @@
**Dependencies:**
- 🔗 DEPENDS_ON -> AuthModels
- 🔗 DEPENDS_ON -> Role
- 🔗 DEPENDS_ON -> TaskRecord
- 🔗 DEPENDS_ON -> backend.src.core.task_manager.models
- 🔗 DEPENDS_ON -> backend.src.models.auth
- 🔗 DEPENDS_ON -> backend.src.models.mapping
### 📁 `__tests__/`
@@ -618,9 +625,9 @@
### 📁 `services/`
- 🏗️ **Layers:** Core, Domain, Domain/Service, Service
- 📊 **Tiers:** CRITICAL: 5, STANDARD: 47, TRIVIAL: 118
- 📊 **Tiers:** CRITICAL: 5, STANDARD: 47, TRIVIAL: 164
- 📄 **Files:** 10
- 📦 **Entities:** 170
- 📦 **Entities:** 216
**Key Entities:**
@@ -1346,9 +1353,9 @@
### 📁 `layout/`
- 🏗️ **Layers:** UI, Unknown
- 📊 **Tiers:** STANDARD: 7, TRIVIAL: 54
- 📊 **Tiers:** STANDARD: 7, TRIVIAL: 55
- 📄 **Files:** 5
- 📦 **Entities:** 61
- 📦 **Entities:** 62
**Key Entities:**
@@ -2066,10 +2073,10 @@
### 📁 `root/`
- 🏗️ **Layers:** DevOps/Tooling
- 📊 **Tiers:** CRITICAL: 11, STANDARD: 18, TRIVIAL: 11
- 📄 **Files:** 1
- 📦 **Entities:** 40
- 🏗️ **Layers:** DevOps/Tooling, Unknown
- 📊 **Tiers:** CRITICAL: 11, STANDARD: 18, TRIVIAL: 13
- 📄 **Files:** 2
- 📦 **Entities:** 42
**Key Entities:**
@@ -2087,16 +2094,14 @@
- Legacy tier buckets retained for backward-compatible reporti...
- 📦 **generate_semantic_map** (Module)
- Scans the codebase to generate a Semantic Map, Module Map, a...
- 📦 **merge_spec** (Module) `[TRIVIAL]`
- Auto-generated module for merge_spec.py
## Cross-Module Dependencies
```mermaid
graph TD
src-->|DEPENDS_ON|backend
src-->|DEPENDS_ON|backend
api-->|USES|backend
api-->|USES|backend
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|CALLS|backend
@@ -2123,7 +2128,6 @@ graph TD
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|USES|backend
routes-->|USES|backend
routes-->|CALLS|backend
@@ -2152,10 +2156,9 @@ graph TD
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|DEPENDS_ON|backend
routes-->|CALLS|backend
__tests__-->|TESTS|backend
__tests__-->|VERIFIES|backend
__tests__-->|TESTS|backend
__tests__-->|TESTS|backend
__tests__-->|TESTS|backend
@@ -2177,11 +2180,6 @@ graph TD
core-->|DEPENDS_ON|backend
core-->|DEPENDS_ON|backend
core-->|DEPENDS_ON|backend
core-->|CALLS|backend
core-->|CALLS|backend
core-->|DEPENDS_ON|backend
core-->|DEPENDS_ON|backend
core-->|DEPENDS_ON|backend
core-->|DEPENDS_ON|backend
core-->|INHERITS|backend
core-->|DEPENDS_ON|backend
@@ -2192,9 +2190,6 @@ graph TD
auth-->|USES|backend
auth-->|USES|backend
auth-->|USES|backend
auth-->|DEPENDS_ON|backend
auth-->|DEPENDS_ON|backend
auth-->|DEPENDS_ON|backend
migration-->|DEPENDS_ON|backend
migration-->|DEPENDS_ON|backend
migration-->|DEPENDS_ON|backend
@@ -2206,8 +2201,6 @@ graph TD
task_manager-->|USED_BY|backend
task_manager-->|USED_BY|backend
task_manager-->|DEPENDS_ON|backend
task_manager-->|DEPENDS_ON|backend
task_manager-->|DEPENDS_ON|backend
utils-->|DEPENDS_ON|backend
utils-->|DEPENDS_ON|backend
utils-->|CALLS|backend
@@ -2220,9 +2213,6 @@ graph TD
models-->|DEPENDS_ON|backend
models-->|DEPENDS_ON|backend
models-->|USED_BY|backend
models-->|INHERITS_FROM|backend
models-->|DEPENDS_ON|backend
models-->|INHERITS_FROM|backend
__tests__-->|TESTS|backend
llm_analysis-->|IMPLEMENTS|backend
llm_analysis-->|IMPLEMENTS|backend

View File

@@ -2,6 +2,11 @@
> Compressed view for AI Context. Generated automatically.
- 📦 **merge_spec** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for merge_spec.py
- 🏗️ Layer: Unknown
- ƒ **merge_specs** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **generate_semantic_map** (`Module`)
- 📝 Scans the codebase to generate a Semantic Map, Module Map, and Compliance Report based on the System Standard.
- 🏗️ Layer: DevOps/Tooling
@@ -653,6 +658,8 @@
- 📝 Auto-detected function (orphan)
- ƒ **llmValidationBadgeClass** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **getStatusClass** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **stopTaskDetailsPolling** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **loadEnvironmentOptions** (`Function`) `[TRIVIAL]`
@@ -2185,16 +2192,18 @@
- 🔒 Invariant: Edit action keeps explicit click handler and opens normalized edit form.
- ƒ **provider_config_edit_contract_tests** (`Function`)
- 📝 Validate edit and delete handler wiring plus normalized edit form state mapping.
- 📦 **backend.delete_running_tasks** (`Module`) `[TRIVIAL]`
- 📦 **DeleteRunningTasksUtil** (`Module`) `[TRIVIAL]`
- 📝 Script to delete tasks with RUNNING status from the database.
- 🏗️ Layer: Utility
- 🔗 DEPENDS_ON -> `TasksSessionLocal`
- 🔗 DEPENDS_ON -> `TaskRecord`
- ƒ **delete_running_tasks** (`Function`) `[TRIVIAL]`
- 📝 Delete all tasks with RUNNING status from the database.
- 📦 **AppModule** (`Module`) `[CRITICAL]`
- 📝 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)
- 🔒 Invariant: All WebSocket connections must be properly cleaned up on disconnect.
- 🔗 DEPENDS_ON -> `backend.src.dependencies`
- 🔗 DEPENDS_ON -> `AppDependencies`
- 🔗 DEPENDS_ON -> `backend.src.api.routes`
- 📦 **App** (`Global`) `[TRIVIAL]`
- 📝 The global FastAPI application instance.
@@ -2202,10 +2211,14 @@
- 📝 Handles application startup tasks, such as starting the scheduler.
- ƒ **shutdown_event** (`Function`)
- 📝 Handles application shutdown tasks, such as stopping the scheduler.
-**app_middleware** (`Block`) `[TRIVIAL]`
- 📝 Configure application-wide middleware (Session, CORS).
- ƒ **network_error_handler** (`Function`) `[TRIVIAL]`
- 📝 Global exception handler for NetworkError.
- ƒ **log_requests** (`Function`)
- 📝 Middleware to log incoming HTTP requests and their response status.
-**api_routes** (`Block`) `[TRIVIAL]`
- 📝 Register all application API routers.
- 📦 **api.include_routers** (`Action`) `[TRIVIAL]`
- 📝 Registers all API routers with the FastAPI application.
- 🏗️ Layer: API
@@ -2219,9 +2232,18 @@
- 📝 A simple root endpoint to confirm that the API is running when frontend is missing.
- ƒ **matches_filters** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.dependencies** (`Module`)
- 📦 **AppDependencies** (`Module`)
- 📝 Manages creation and provision of shared application dependencies, such as PluginLoader and TaskManager, to avoid circular imports.
- 🏗️ Layer: Core
- 🔗 CALLS -> `CleanReleaseRepository`
- 🔗 CALLS -> `ConfigManager`
- 🔗 CALLS -> `PluginLoader`
- 🔗 CALLS -> `SchedulerService`
- 🔗 CALLS -> `TaskManager`
- 🔗 CALLS -> `get_all_plugin_configs`
- 🔗 CALLS -> `get_db`
- 🔗 CALLS -> `info`
- 🔗 CALLS -> `init_db`
- ƒ **get_config_manager** (`Function`) `[TRIVIAL]`
- 📝 Dependency injector for ConfigManager.
- ƒ **get_plugin_loader** (`Function`) `[TRIVIAL]`
@@ -2246,7 +2268,7 @@
- 📝 Dependency for checking if the current user has a specific permission.
- ƒ **permission_checker** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **src** (`Package`) `[TRIVIAL]`
- 📦 **SrcRoot** (`Module`) `[TRIVIAL]`
- 📝 Canonical backend package root for application, scripts, and tests.
- 📦 **backend.src.scripts.seed_superset_load_test** (`Module`)
- 📝 Creates randomized load-test data in Superset by cloning chart configurations and creating dashboards in target environments.
@@ -2521,9 +2543,103 @@
- 🔗 DEPENDS_ON -> `backend.src.core.config_models.Environment`
- ƒ **backend.src.core.superset_client.SupersetClient.__init__** (`Function`)
- 📝 Инициализирует клиент, проверяет конфигурацию и создает сетевой клиент.
- ƒ **backend.src.core.superset_client.SupersetClient.authenticate** (`Function`)
- 📝 Authenticates the client using the configured credentials.
- 🔗 CALLS -> `self.network.authenticate`
- ƒ **backend.src.core.superset_client.SupersetClient.authenticate** (`Function`)
- 📝 Authenticates the client using the configured credentials.
- 🔗 CALLS -> `self.network.authenticate`
- ƒ **backend.src.core.superset_client.SupersetClient.headers** (`Function`) `[TRIVIAL]`
- 📝 Возвращает базовые HTTP-заголовки, используемые сетевым клиентом.
- ƒ **backend.src.core.superset_client.SupersetClient.get_dashboards** (`Function`)
- 📝 Получает полный список дашбордов, автоматически обрабатывая пагинацию.
- 🔗 CALLS -> `self._fetch_all_pages`
- ƒ **backend.src.core.superset_client.SupersetClient.get_dashboards_page** (`Function`)
- 📝 Fetches a single dashboards page from Superset without iterating all pages.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.get_dashboards_summary** (`Function`)
- 📝 Fetches dashboard metadata optimized for the grid.
- 🔗 CALLS -> `self.get_dashboards`
- ƒ **backend.src.core.superset_client.SupersetClient.get_dashboards_summary_page** (`Function`)
- 📝 Fetches one page of dashboard metadata optimized for the grid.
- 🔗 CALLS -> `self.get_dashboards_page`
- ƒ **backend.src.core.superset_client.SupersetClient._extract_owner_labels** (`Function`) `[TRIVIAL]`
- 📝 Normalize dashboard owners payload to stable display labels.
- ƒ **backend.src.core.superset_client.SupersetClient._extract_user_display** (`Function`) `[TRIVIAL]`
- 📝 Normalize user payload to a stable display name.
- ƒ **backend.src.core.superset_client.SupersetClient._sanitize_user_text** (`Function`) `[TRIVIAL]`
- 📝 Convert scalar value to non-empty user-facing text.
- ƒ **backend.src.core.superset_client.SupersetClient.get_dashboard** (`Function`)
- 📝 Fetches a single dashboard by ID.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.get_chart** (`Function`)
- 📝 Fetches a single chart by ID.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.get_dashboard_detail** (`Function`)
- 📝 Fetches detailed dashboard information including related charts and datasets.
- 🔗 CALLS -> `self.get_dashboard`
- 🔗 CALLS -> `self.get_chart`
- ƒ **backend.src.core.superset_client.SupersetClient.get_dashboard_detail.extract_dataset_id_from_form_data** (`Function`) `[TRIVIAL]`
- ƒ **backend.src.core.superset_client.SupersetClient.get_charts** (`Function`)
- 📝 Fetches all charts with pagination support.
- 🔗 CALLS -> `self._fetch_all_pages`
- ƒ **backend.src.core.superset_client.SupersetClient._extract_chart_ids_from_layout** (`Function`) `[TRIVIAL]`
- 📝 Traverses dashboard layout metadata and extracts chart IDs from common keys.
- ƒ **backend.src.core.superset_client.SupersetClient.export_dashboard** (`Function`)
- 📝 Экспортирует дашборд в виде ZIP-архива.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.import_dashboard** (`Function`)
- 📝 Импортирует дашборд из ZIP-файла.
- 🔗 CALLS -> `self._do_import`
- 🔗 CALLS -> `self.delete_dashboard`
- ƒ **backend.src.core.superset_client.SupersetClient.delete_dashboard** (`Function`)
- 📝 Удаляет дашборд по его ID или slug.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.get_datasets** (`Function`)
- 📝 Получает полный список датасетов, автоматически обрабатывая пагинацию.
- 🔗 CALLS -> `self._fetch_all_pages`
- ƒ **backend.src.core.superset_client.SupersetClient.get_datasets_summary** (`Function`)
- 📝 Fetches dataset metadata optimized for the Dataset Hub grid.
- ƒ **backend.src.core.superset_client.SupersetClient.get_dataset_detail** (`Function`)
- 📝 Fetches detailed dataset information including columns and linked dashboards
- 🔗 CALLS -> `self.get_dataset`
- 🔗 CALLS -> `self.network.request (for related_objects)`
- ƒ **backend.src.core.superset_client.SupersetClient.get_dataset** (`Function`)
- 📝 Получает информацию о конкретном датасете по его ID.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.update_dataset** (`Function`)
- 📝 Обновляет данные датасета по его ID.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.get_databases** (`Function`)
- 📝 Получает полный список баз данных.
- 🔗 CALLS -> `self._fetch_all_pages`
- ƒ **backend.src.core.superset_client.SupersetClient.get_database** (`Function`)
- 📝 Получает информацию о конкретной базе данных по её ID.
- 🔗 CALLS -> `self.network.request`
- ƒ **backend.src.core.superset_client.SupersetClient.get_databases_summary** (`Function`)
- 📝 Fetch a summary of databases including uuid, name, and engine.
- 🔗 CALLS -> `self.get_databases`
- ƒ **backend.src.core.superset_client.SupersetClient.get_database_by_uuid** (`Function`)
- 📝 Find a database by its UUID.
- 🔗 CALLS -> `self.get_databases`
- ƒ **backend.src.core.superset_client.SupersetClient._resolve_target_id_for_delete** (`Function`) `[TRIVIAL]`
- 📝 Resolves a dashboard ID from either an ID or a slug.
- 🔗 CALLS -> `self.get_dashboards`
- ƒ **backend.src.core.superset_client.SupersetClient._do_import** (`Function`) `[TRIVIAL]`
- 📝 Performs the actual multipart upload for import.
- 🔗 CALLS -> `self.network.upload_file`
- ƒ **backend.src.core.superset_client.SupersetClient._validate_export_response** (`Function`) `[TRIVIAL]`
- 📝 Validates that the export response is a non-empty ZIP archive.
- ƒ **backend.src.core.superset_client.SupersetClient._resolve_export_filename** (`Function`) `[TRIVIAL]`
- 📝 Determines the filename for an exported dashboard.
- ƒ **backend.src.core.superset_client.SupersetClient._validate_query_params** (`Function`) `[TRIVIAL]`
- 📝 Ensures query parameters have default page and page_size.
- ƒ **backend.src.core.superset_client.SupersetClient._fetch_total_object_count** (`Function`) `[TRIVIAL]`
- 📝 Fetches the total number of items for a given endpoint.
- 🔗 CALLS -> `self.network.fetch_paginated_count`
- ƒ **backend.src.core.superset_client.SupersetClient._fetch_all_pages** (`Function`) `[TRIVIAL]`
- 📝 Iterates through all pages to collect all data items.
- ƒ **backend.src.core.superset_client.SupersetClient._validate_import_file** (`Function`) `[TRIVIAL]`
- 📝 Validates that the file to be imported is a valid ZIP with metadata.yaml.
- ƒ **backend.src.core.superset_client.SupersetClient.get_all_resources** (`Function`)
- 📝 Fetches all resources of a given type with id, uuid, and name columns.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **authenticate** (`Function`) `[TRIVIAL]`
@@ -2609,54 +2725,54 @@
- 🔗 DEPENDS_ON -> `backend.src.core.logger`
- ƒ **ensure_encryption_key** (`Function`) `[TRIVIAL]`
- 📝 Ensure backend runtime has a persistent valid Fernet key.
- 📦 **ConfigManagerModule** (`Module`) `[CRITICAL]`
- 📦 **ConfigManager** (`Module`) `[CRITICAL]`
- 📝 Manages application configuration persistence in DB with one-time migration from legacy JSON.
- 🏗️ Layer: Domain
- 🔒 Invariant: Configuration must always be representable by AppConfig and persisted under global record id.
- 🔗 DEPENDS_ON -> `backend.src.core.config_models.AppConfig`
- 🔗 DEPENDS_ON -> `backend.src.core.database.SessionLocal`
- 🔗 DEPENDS_ON -> `backend.src.models.config.AppConfigRecord`
- 🔗 CALLS -> `backend.src.core.logger.logger`
- 🔗 CALLS -> `backend.src.core.logger.configure_logger`
- 🔗 DEPENDS_ON -> `AppConfig`
- 🔗 DEPENDS_ON -> `SessionLocal`
- 🔗 DEPENDS_ON -> `AppConfigRecord`
- 🔗 CALLS -> `logger`
- 🔗 CALLS -> `configure_logger`
- **ConfigManager** (`Class`) `[CRITICAL]`
- 📝 Handles application configuration load, validation, mutation, and persistence lifecycle.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Initialize manager state from persisted or migrated configuration.
- ƒ **_default_config** (`Function`)
- ƒ **_default_config** (`Function`) `[TRIVIAL]`
- 📝 Build default application configuration fallback.
- ƒ **_sync_raw_payload_from_config** (`Function`)
- ƒ **_sync_raw_payload_from_config** (`Function`) `[TRIVIAL]`
- 📝 Merge typed AppConfig state into raw payload while preserving unsupported legacy sections.
- ƒ **_load_from_legacy_file** (`Function`)
- ƒ **_load_from_legacy_file** (`Function`) `[TRIVIAL]`
- 📝 Load legacy JSON configuration for migration fallback path.
- ƒ **_get_record** (`Function`)
- ƒ **_get_record** (`Function`) `[TRIVIAL]`
- 📝 Resolve global configuration record from DB.
- ƒ **_load_config** (`Function`)
- ƒ **_load_config** (`Function`) `[TRIVIAL]`
- 📝 Load configuration from DB or perform one-time migration from legacy JSON.
- ƒ **_save_config_to_db** (`Function`)
- ƒ **_save_config_to_db** (`Function`) `[TRIVIAL]`
- 📝 Persist provided AppConfig into the global DB configuration record.
- ƒ **save** (`Function`)
- ƒ **save** (`Function`) `[TRIVIAL]`
- 📝 Persist current in-memory configuration state.
- ƒ **get_config** (`Function`)
- ƒ **get_config** (`Function`) `[TRIVIAL]`
- 📝 Return current in-memory configuration snapshot.
- ƒ **get_payload** (`Function`)
- ƒ **get_payload** (`Function`) `[TRIVIAL]`
- 📝 Return full persisted payload including sections outside typed AppConfig schema.
- ƒ **save_config** (`Function`)
- ƒ **save_config** (`Function`) `[TRIVIAL]`
- 📝 Persist configuration provided either as typed AppConfig or raw payload dict.
- ƒ **update_global_settings** (`Function`)
- ƒ **update_global_settings** (`Function`) `[TRIVIAL]`
- 📝 Replace global settings and persist the resulting configuration.
- ƒ **validate_path** (`Function`)
- ƒ **validate_path** (`Function`) `[TRIVIAL]`
- 📝 Validate that path exists and is writable, creating it when absent.
- ƒ **get_environments** (`Function`)
- ƒ **get_environments** (`Function`) `[TRIVIAL]`
- 📝 Return all configured environments.
- ƒ **has_environments** (`Function`)
- ƒ **has_environments** (`Function`) `[TRIVIAL]`
- 📝 Check whether at least one environment exists in configuration.
- ƒ **get_environment** (`Function`)
- ƒ **get_environment** (`Function`) `[TRIVIAL]`
- 📝 Resolve a configured environment by identifier.
- ƒ **add_environment** (`Function`)
- ƒ **add_environment** (`Function`) `[TRIVIAL]`
- 📝 Upsert environment by id into configuration and persist.
- ƒ **update_environment** (`Function`)
- ƒ **update_environment** (`Function`) `[TRIVIAL]`
- 📝 Update existing environment by id and preserve masked password placeholder behavior.
- ƒ **delete_environment** (`Function`)
- ƒ **delete_environment** (`Function`) `[TRIVIAL]`
- 📝 Delete environment by id and persist when deletion occurs.
- 📦 **SchedulerModule** (`Module`)
- 📝 Manages scheduled tasks using APScheduler.
@@ -2730,6 +2846,8 @@
- 📝 Applies additive schema upgrades for llm_validation_results table.
- ƒ **_ensure_git_server_configs_columns** (`Function`)
- 📝 Applies additive schema upgrades for git_server_configs table.
- ƒ **_ensure_auth_users_columns** (`Function`)
- 📝 Applies additive schema upgrades for auth users table.
- ƒ **ensure_connection_configs_table** (`Function`)
- 📝 Ensures the external connection registry table exists in the main database.
- ƒ **init_db** (`Function`)
@@ -2938,39 +3056,38 @@
- 📝 Verifies a plain password against a hashed password.
- ƒ **get_password_hash** (`Function`) `[TRIVIAL]`
- 📝 Generates a bcrypt hash for a plain password.
- 📦 **backend.src.core.auth.repository** (`Module`) `[CRITICAL]`
- 📦 **AuthRepository** (`Module`) `[CRITICAL]`
- 📝 Data access layer for authentication and user preference entities.
- 🏗️ Layer: Domain
- 🔒 Invariant: All database read/write operations must execute via the injected SQLAlchemy session boundary.
- 🔗 DEPENDS_ON -> `sqlalchemy.orm.Session`
- 🔗 DEPENDS_ON -> `backend.src.models.auth`
- 🔗 DEPENDS_ON -> `backend.src.models.profile`
- 🔗 DEPENDS_ON -> `backend.src.core.logger.belief_scope`
- 🔗 DEPENDS_ON -> `User:Class`
- 🔗 DEPENDS_ON -> `Role:Class`
- 🔗 DEPENDS_ON -> `Permission:Class`
- 🔗 DEPENDS_ON -> `UserDashboardPreference:Class`
- 🔗 DEPENDS_ON -> `belief_scope:Function`
- **AuthRepository** (`Class`) `[CRITICAL]`
- 📝 Encapsulates database operations for authentication-related entities.
- 🔗 DEPENDS_ON -> `sqlalchemy.orm.Session`
- ƒ **__init__** (`Function`) `[CRITICAL]`
- 📝 Bind repository instance to an existing SQLAlchemy session.
- ƒ **get_user_by_username** (`Function`) `[CRITICAL]`
- 📝 Retrieve a user entity by unique username.
- ƒ **get_user_by_id** (`Function`) `[CRITICAL]`
- 📝 Retrieve a user entity by identifier.
- ƒ **get_role_by_name** (`Function`) `[CRITICAL]`
- 📝 Retrieve a role entity by role name.
- ƒ **update_last_login** (`Function`) `[CRITICAL]`
- 📝 Update last_login timestamp for the provided user entity.
- ƒ **get_role_by_id** (`Function`) `[CRITICAL]`
- 📝 Retrieve a role entity by identifier.
- ƒ **get_permission_by_id** (`Function`) `[CRITICAL]`
- 📝 Retrieve a permission entity by identifier.
- ƒ **get_permission_by_resource_action** (`Function`) `[CRITICAL]`
- 📝 Retrieve a permission entity by resource and action pair.
- ƒ **get_user_dashboard_preference** (`Function`) `[CRITICAL]`
- 📝 Retrieve dashboard preference entity owned by specified user.
- ƒ **save_user_dashboard_preference** (`Function`) `[CRITICAL]`
- 📝 Persist dashboard preference entity and return refreshed persistent row.
- ƒ **list_permissions** (`Function`) `[CRITICAL]`
- 📝 List all permission entities available in storage.
- 📝 Initialize repository with database session.
- ƒ **get_user_by_id** (`Function`) `[TRIVIAL]`
- 📝 Retrieve user by UUID.
- ƒ **get_user_by_username** (`Function`) `[TRIVIAL]`
- 📝 Retrieve user by username.
- ƒ **get_role_by_id** (`Function`) `[TRIVIAL]`
- 📝 Retrieve role by UUID with permissions preloaded.
- ƒ **get_role_by_name** (`Function`) `[TRIVIAL]`
- 📝 Retrieve role by unique name.
- ƒ **get_permission_by_id** (`Function`) `[TRIVIAL]`
- 📝 Retrieve permission by UUID.
- ƒ **get_permission_by_resource_action** (`Function`) `[TRIVIAL]`
- 📝 Retrieve permission by resource and action tuple.
- ƒ **list_permissions** (`Function`) `[TRIVIAL]`
- 📝 List all system permissions.
- ƒ **get_user_dashboard_preference** (`Function`) `[TRIVIAL]`
- 📝 Retrieve dashboard filters/preferences for a user.
- ƒ **get_roles_by_ad_groups** (`Function`) `[TRIVIAL]`
- 📝 Retrieve roles that match a list of AD group names.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **src.core.auth** (`Package`) `[TRIVIAL]`
- 📝 Authentication and authorization package root.
- 📦 **test_auth** (`Module`)
@@ -3022,7 +3139,7 @@
- 📝 Auto-detected function (orphan)
- ƒ **_normalize_base_url** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.core.utils.fileio** (`Module`) `[TRIVIAL]`
- 📦 **FileIO** (`Module`)
- 📝 Предоставляет набор утилит для управления файловыми операциями, включая работу с временными файлами, архивами ZIP, файлами YAML и очистку директорий.
- 🏗️ Layer: Infra
- 🔗 DEPENDS_ON -> `backend.src.core.logger`
@@ -3327,15 +3444,19 @@
- 📝 Auto-detected function (orphan)
- ƒ **json_serializable** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **TaskManagerModule** (`Module`) `[CRITICAL]`
- 📦 **TaskManager** (`Module`) `[CRITICAL]`
- 📝 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.
- 🔗 DEPENDS_ON -> `backend.src.core.plugin_loader`
- 🔗 DEPENDS_ON -> `backend.src.core.task_manager.persistence`
- 🔗 DEPENDS_ON -> `PluginLoader:Class`
- 🔗 DEPENDS_ON -> `TaskPersistenceModule:Module`
- **TaskManager** (`Class`) `[CRITICAL]`
- 📝 Manages the lifecycle of tasks, including their creation, execution, and state tracking.
- 🏗️ Layer: Core
- 🔒 Invariant: Log entries are never deleted after being added to a task.
- 🔗 DEPENDS_ON -> `TaskPersistenceService:Class`
- 🔗 DEPENDS_ON -> `TaskLogPersistenceService:Class`
- 🔗 DEPENDS_ON -> `PluginLoader:Class`
- ƒ **__init__** (`Function`) `[CRITICAL]`
- 📝 Initialize the TaskManager with dependencies.
- ƒ **_flusher_loop** (`Function`)
@@ -3468,22 +3589,29 @@
- 📝 Verify TaskContext preserves optional background task scheduler across sub-context creation.
- ƒ **test_task_context_preserves_background_tasks_across_sub_context** (`Function`) `[TRIVIAL]`
- 📝 Plugins must be able to access background_tasks from both root and sub-context loggers.
- 📦 **backend.src.api.auth** (`Module`)
- 📦 **AuthApi** (`Module`)
- 📝 Authentication API endpoints.
- 🏗️ Layer: API
- 🔒 Invariant: All auth endpoints must return consistent error codes.
- 🔗 DEPENDS_ON -> `AuthRepository:Class`
- 📦 **router** (`Variable`) `[TRIVIAL]`
- 📝 APIRouter instance for authentication routes.
- ƒ **login_for_access_token** (`Function`)
- 📝 Authenticates a user and returns a JWT access token.
- 🔗 CALLS -> `AuthService.authenticate_user`
- 🔗 CALLS -> `AuthService.create_session`
- ƒ **read_users_me** (`Function`)
- 📝 Retrieves the profile of the currently authenticated user.
- 🔗 DEPENDS_ON -> `get_current_user`
- ƒ **logout** (`Function`)
- 📝 Logs out the current user (placeholder for session revocation).
- 🔗 DEPENDS_ON -> `get_current_user`
- ƒ **login_adfs** (`Function`)
- 📝 Initiates the ADFS OIDC login flow.
- ƒ **auth_callback_adfs** (`Function`)
- 📝 Handles the callback from ADFS after successful authentication.
- 🔗 CALLS -> `AuthService.provision_adfs_user`
- 🔗 CALLS -> `AuthService.create_session`
- 📦 **src.api** (`Package`) `[TRIVIAL]`
- 📝 Backend API package root.
- 📦 **router** (`Global`) `[TRIVIAL]`
@@ -3508,7 +3636,7 @@
- 📝 API endpoints for the Dataset Hub - listing datasets with mapping progress
- 🏗️ Layer: API
- 🔒 Invariant: All dataset responses include last_task metadata
- 🔗 DEPENDS_ON -> `backend.src.dependencies`
- 🔗 DEPENDS_ON -> `AppDependencies`
- 🔗 DEPENDS_ON -> `backend.src.services.resource_service.ResourceService`
- 🔗 DEPENDS_ON -> `backend.src.core.superset_client.SupersetClient`
- 📦 **MappedFields** (`DataClass`) `[TRIVIAL]`
@@ -3685,11 +3813,11 @@
- ƒ **get_environment_databases** (`Function`) `[TRIVIAL]`
- 📝 Fetch the list of databases from a specific environment.
- 🏗️ Layer: API
- 📦 **backend.src.api.routes.migration** (`Module`) `[CRITICAL]`
- 📦 **MigrationApi** (`Module`) `[CRITICAL]`
- 📝 HTTP contract layer for migration orchestration, settings, dry-run, and mapping sync endpoints.
- 🏗️ Layer: Infra
- 🔒 Invariant: Migration endpoints never execute with invalid environment references and always return explicit HTTP errors on guard failures.
- 🔗 DEPENDS_ON -> `backend.src.dependencies`
- 🔗 DEPENDS_ON -> `AppDependencies`
- 🔗 DEPENDS_ON -> `backend.src.core.database`
- 🔗 DEPENDS_ON -> `backend.src.core.superset_client.SupersetClient`
- 🔗 DEPENDS_ON -> `backend.src.core.migration.dry_run_orchestrator.MigrationDryRunService`
@@ -3717,21 +3845,34 @@
- 📝 Retrieve a list of all available plugins.
- 📦 **backend.src.api.routes.clean_release_v2** (`Module`)
- 📝 Redesigned clean release API for headless candidate lifecycle.
- 🏗️ Layer: API
- ƒ **register_candidate** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **import_artifacts** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **build_manifest** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **approve_candidate_endpoint** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **reject_candidate_endpoint** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **publish_candidate_endpoint** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **revoke_publication_endpoint** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- **ApprovalRequest** (`Class`) `[TRIVIAL]`
- 📝 Schema for approval request payload.
- **PublishRequest** (`Class`) `[TRIVIAL]`
- 📝 Schema for publication request payload.
- **RevokeRequest** (`Class`) `[TRIVIAL]`
- 📝 Schema for revocation request payload.
- ƒ **register_candidate** (`Function`)
- 📝 Register a new release candidate.
- 🔗 CALLS -> `CleanReleaseRepository.save_candidate`
- ƒ **import_artifacts** (`Function`)
- 📝 Associate artifacts with a release candidate.
- 🔗 CALLS -> `CleanReleaseRepository.get_candidate`
- ƒ **build_manifest** (`Function`)
- 📝 Generate distribution manifest for a candidate.
- 🔗 CALLS -> `CleanReleaseRepository.save_manifest`
- 🔗 CALLS -> `CleanReleaseRepository.get_candidate`
- ƒ **approve_candidate_endpoint** (`Function`)
- 📝 Endpoint to record candidate approval.
- 🔗 CALLS -> `approve_candidate`
- ƒ **reject_candidate_endpoint** (`Function`)
- 📝 Endpoint to record candidate rejection.
- 🔗 CALLS -> `reject_candidate`
- ƒ **publish_candidate_endpoint** (`Function`)
- 📝 Endpoint to publish an approved candidate.
- 🔗 CALLS -> `publish_candidate`
- ƒ **revoke_publication_endpoint** (`Function`)
- 📝 Endpoint to revoke a previous publication.
- 🔗 CALLS -> `revoke_publication`
- 📦 **backend.src.api.routes.mappings** (`Module`)
- 📝 API endpoints for managing database mappings and getting suggestions.
- 🏗️ Layer: API
@@ -3796,7 +3937,7 @@
- 📝 Updates an existing validation policy.
- ƒ **delete_validation_policy** (`Function`)
- 📝 Deletes a validation policy.
- 📦 **backend.src.api.routes.admin** (`Module`)
- 📦 **AdminApi** (`Module`)
- 📝 Admin API endpoints for user and role management.
- 🏗️ Layer: API
- 🔒 Invariant: All endpoints in this module require 'Admin' role or 'admin' scope.
@@ -4044,7 +4185,7 @@
- 🏗️ Layer: UI (API)
- 🔒 Invariant: Endpoints are read-only and do not trigger long-running tasks.
- 🔗 DEPENDS_ON -> `backend.src.services.reports.report_service.ReportsService`
- 🔗 DEPENDS_ON -> `backend.src.dependencies`
- 🔗 DEPENDS_ON -> `AppDependencies`
- ƒ **_parse_csv_enum_list** (`Function`) `[TRIVIAL]`
- 📝 Parse comma-separated query value into enum list.
- ƒ **list_reports** (`Function`)
@@ -4101,7 +4242,7 @@
- 📝 API endpoints for the Dashboard Hub - listing dashboards with Git and task status
- 🏗️ Layer: API
- 🔒 Invariant: All dashboard responses include git_status and last_task metadata
- 🔗 DEPENDS_ON -> `backend.src.dependencies`
- 🔗 DEPENDS_ON -> `AppDependencies`
- 🔗 DEPENDS_ON -> `backend.src.services.resource_service.ResourceService`
- 🔗 DEPENDS_ON -> `backend.src.core.superset_client.SupersetClient`
- 📦 **GitStatus** (`DataClass`)
@@ -4224,7 +4365,6 @@
- 📦 **backend.src.api.routes.__tests__.test_git_status_route** (`Module`)
- 📝 Validate status endpoint behavior for missing and error repository states.
- 🏗️ Layer: Domain (Tests)
- 🔗 CALLS -> `src.api.routes.git.get_repository_status`
- ƒ **test_get_repository_status_returns_no_repo_payload_for_missing_repo** (`Function`) `[TRIVIAL]`
- 📝 Ensure missing local repository is represented as NO_REPO payload instead of an API error.
- ƒ **test_get_repository_status_propagates_non_404_http_exception** (`Function`) `[TRIVIAL]`
@@ -4620,57 +4760,28 @@
- 📝 Auto-detected function (orphan)
- ƒ **_get_repo_path** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.api.routes.__tests__.test_assistant_api** (`Module`)
- 📦 **AssistantApiTests** (`Module`)
- 📝 Validate assistant API endpoint logic via direct async handler invocation.
- 🏗️ Layer: UI (API Tests)
- 🔒 Invariant: Every test clears assistant in-memory state before execution.
- 🔗 DEPENDS_ON -> `backend.src.api.routes.assistant`
- ƒ **_run_async** (`Function`) `[TRIVIAL]`
- 📝 Execute async endpoint handler in synchronous test context.
- **_FakeTask** (`Class`) `[TRIVIAL]`
- 📝 Lightweight task stub used by assistant API tests.
- 🔗 BINDS_TO -> `AssistantApiTests`
- **_FakeTaskManager** (`Class`) `[TRIVIAL]`
- 📝 Minimal async-compatible TaskManager fixture for deterministic test flows.
- 🔗 BINDS_TO -> `AssistantApiTests`
- **_FakeConfigManager** (`Class`) `[TRIVIAL]`
- 📝 Environment config fixture with dev/prod aliases for parser tests.
- 🔗 BINDS_TO -> `AssistantApiTests`
- ƒ **_admin_user** (`Function`) `[TRIVIAL]`
- 📝 Build admin principal fixture.
- ƒ **_limited_user** (`Function`) `[TRIVIAL]`
- 📝 Build non-admin principal fixture.
- **_FakeQuery** (`Class`) `[TRIVIAL]`
- 📝 Minimal chainable query object for fake SQLAlchemy-like DB behavior in tests.
- 🔗 BINDS_TO -> `AssistantApiTests`
- **_FakeDb** (`Class`) `[TRIVIAL]`
- 📝 In-memory fake database implementing subset of Session interface used by assistant routes.
- 🔗 BINDS_TO -> `AssistantApiTests`
- ƒ **_clear_assistant_state** (`Function`) `[TRIVIAL]`
- 📝 Reset in-memory assistant registries for isolation between tests.
- ƒ **test_unknown_command_returns_needs_clarification** (`Function`) `[TRIVIAL]`
- 📝 Unknown command should return clarification state and unknown intent.
- ƒ **test_capabilities_question_returns_successful_help** (`Function`) `[TRIVIAL]`
- 📝 Capability query should return deterministic help response, not clarification.
- ƒ **test_non_admin_command_returns_denied** (`Function`) `[TRIVIAL]`
- 📝 Non-admin user must receive denied state for privileged command.
- ƒ **test_migration_to_prod_requires_confirmation_and_can_be_confirmed** (`Function`) `[TRIVIAL]`
- 📝 Migration to prod must require confirmation and then start task after explicit confirm.
- ƒ **test_status_query_returns_task_status** (`Function`) `[TRIVIAL]`
- 📝 Task status command must surface current status text for existing task id.
- ƒ **test_status_query_without_task_id_returns_latest_user_task** (`Function`) `[TRIVIAL]`
- 📝 Status command without explicit task_id should resolve to latest task for current user.
- ƒ **test_llm_validation_with_dashboard_ref_requires_confirmation** (`Function`) `[TRIVIAL]`
- 📝 LLM validation with dashboard_ref should now require confirmation before dispatch.
- ƒ **test_list_conversations_groups_by_conversation_and_marks_archived** (`Function`) `[TRIVIAL]`
- 📝 Conversations endpoint must group messages and compute archived marker by inactivity threshold.
- ƒ **test_history_from_latest_returns_recent_page_first** (`Function`) `[TRIVIAL]`
- 📝 History endpoint from_latest mode must return newest page while preserving chronological order in chunk.
- ƒ **test_list_conversations_archived_only_filters_active** (`Function`) `[TRIVIAL]`
- 📝 archived_only mode must return only archived conversations.
- ƒ **test_guarded_operation_always_requires_confirmation** (`Function`) `[TRIVIAL]`
- 📝 Non-dangerous (guarded) commands must still require confirmation before execution.
- ƒ **test_guarded_operation_confirm_roundtrip** (`Function`) `[TRIVIAL]`
- 📝 Guarded operation must execute successfully after explicit confirmation.
- ƒ **test_confirm_nonexistent_id_returns_404** (`Function`) `[TRIVIAL]`
- 📝 Confirming a non-existent ID should raise 404.
- ƒ **test_migration_with_dry_run_includes_summary** (`Function`) `[TRIVIAL]`
- 📝 Migration command with dry run flag must return the dry run summary in confirmation text.
- 📝 Capability query should return deterministic help response.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **__init__** (`Function`) `[TRIVIAL]`
@@ -4681,6 +4792,10 @@
- 📝 Auto-detected function (orphan)
- ƒ **get_tasks** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_all_tasks** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_environments** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_config** (`Function`) `[TRIVIAL]`
@@ -4691,29 +4806,29 @@
- 📝 Auto-detected function (orphan)
- ƒ **order_by** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **limit** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **offset** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **first** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **all** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **count** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **offset** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **limit** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **add** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **merge** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **query** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **add** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **commit** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **rollback** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **run** (`Function`) `[TRIVIAL]`
- ƒ **merge** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **refresh** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.api.routes.__tests__.test_migration_routes** (`Module`)
- 📝 Unit tests for migration API route handlers.
@@ -4812,7 +4927,7 @@
- 🔗 DEPENDS_ON -> `sqlalchemy`
- **ConnectionConfig** (`Class`) `[TRIVIAL]`
- 📝 Stores credentials for external databases used for column mapping.
- 📦 **backend.src.models.mapping** (`Module`)
- 📦 **MappingModels** (`Module`)
- 📝 Defines the database schema for environment metadata and database mappings using SQLAlchemy.
- 🏗️ Layer: Domain
- 🔒 Invariant: All primary keys are UUID strings.
@@ -4958,7 +5073,7 @@
- 📝 Auto-detected function (orphan)
- ƒ **check_run_id** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.models.auth** (`Module`)
- 📦 **AuthModels** (`Module`)
- 📝 SQLAlchemy models for multi-user authentication and authorization.
- 🏗️ Layer: Domain
- 🔒 Invariant: Usernames and emails must be unique.
@@ -4977,11 +5092,11 @@
- **ADGroupMapping** (`Class`) `[CRITICAL]`
- 📝 Maps an Active Directory group to a local System Role.
- 🔗 DEPENDS_ON -> `Role`
- 📦 **backend.src.models.profile** (`Module`)
- 📦 **ProfileModels** (`Module`)
- 📝 Defines persistent per-user profile settings for dashboard filter, Git identity/token, and UX preferences.
- 🏗️ Layer: Domain
- 🔒 Invariant: Sensitive Git token is stored encrypted and never returned in plaintext.
- 🔗 DEPENDS_ON -> `backend.src.models.auth`
- 🔗 DEPENDS_ON -> `AuthModels`
- **UserDashboardPreference** (`Class`)
- 📝 Stores Superset username binding and default "my dashboards" toggle for one authenticated user.
- 📦 **src.models** (`Package`) `[TRIVIAL]`
@@ -5319,14 +5434,22 @@
- 🔗 DEPENDS_ON -> `backend.src.models.auth.Role`
- **AuthService** (`Class`)
- 📝 Provides high-level authentication services.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- ƒ **AuthService.__init__** (`Function`) `[TRIVIAL]`
- 📝 Initializes the authentication service with repository access over an active DB session.
- ƒ **authenticate_user** (`Function`)
- ƒ **AuthService.authenticate_user** (`Function`)
- 📝 Validates credentials and account state for local username/password authentication.
- ƒ **create_session** (`Function`)
- ƒ **AuthService.create_session** (`Function`)
- 📝 Issues an access token payload for an already authenticated user.
- ƒ **provision_adfs_user** (`Function`)
- ƒ **AuthService.provision_adfs_user** (`Function`)
- 📝 Performs ADFS Just-In-Time provisioning and role synchronization from AD group mappings.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **authenticate_user** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **create_session** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **provision_adfs_user** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.services.git_service** (`Module`)
- 📝 Core Git logic using GitPython to manage dashboard repositories.
- 🏗️ Layer: Service
@@ -5338,18 +5461,202 @@
- 📝 Wrapper for GitPython operations with semantic logging and error handling.
- ƒ **backend.src.services.git_service.GitService.__init__** (`Function`) `[TRIVIAL]`
- 📝 Initializes the GitService with a base path for repositories.
- ƒ **_ensure_base_path_exists** (`Function`) `[TRIVIAL]`
- 📝 Ensure the repositories root directory exists and is a directory.
- ƒ **backend.src.services.git_service.GitService._resolve_base_path** (`Function`) `[TRIVIAL]`
- 📝 Resolve base repository directory from explicit argument or global storage settings.
- 🔗 CALLS -> `GitService._resolve_base_path`
- 🔗 CALLS -> `GitService._ensure_base_path_exists`
- ƒ **backend.src.services.git_service.GitService._ensure_base_path_exists** (`Function`) `[TRIVIAL]`
- 📝 Ensure the repositories root directory exists and is a directory.
- ƒ **backend.src.services.git_service.GitService._resolve_base_path** (`Function`) `[TRIVIAL]`
- 📝 Resolve base repository directory from explicit argument or global storage settings.
- ƒ **backend.src.services.git_service.GitService._normalize_repo_key** (`Function`) `[TRIVIAL]`
- 📝 Convert user/dashboard-provided key to safe filesystem directory name.
- ƒ **backend.src.services.git_service.GitService._update_repo_local_path** (`Function`) `[TRIVIAL]`
- 📝 Persist repository local_path in GitRepository table when record exists.
- ƒ **backend.src.services.git_service.GitService._migrate_repo_directory** (`Function`) `[TRIVIAL]`
- 📝 Move legacy repository directory to target path and sync DB metadata.
- 🔗 CALLS -> `GitService._update_repo_local_path`
- ƒ **backend.src.services.git_service.GitService._ensure_gitflow_branches** (`Function`) `[TRIVIAL]`
- 📝 Ensure standard GitFlow branches (main/dev/preprod) exist locally and on origin.
- ƒ **backend.src.services.git_service.GitService._get_repo_path** (`Function`) `[TRIVIAL]`
- 📝 Resolves the local filesystem path for a dashboard's repository.
- 🔗 CALLS -> `GitService._normalize_repo_key`
- 🔗 CALLS -> `GitService._migrate_repo_directory`
- 🔗 CALLS -> `GitService._update_repo_local_path`
- ƒ **backend.src.services.git_service.GitService.init_repo** (`Function`) `[TRIVIAL]`
- 📝 Initialize or clone a repository for a dashboard.
- 🔗 CALLS -> `GitService._get_repo_path`
- 🔗 CALLS -> `GitService._ensure_gitflow_branches`
- ƒ **backend.src.services.git_service.GitService.delete_repo** (`Function`) `[TRIVIAL]`
- 📝 Remove local repository and DB binding for a dashboard.
- 🔗 CALLS -> `GitService._get_repo_path`
- ƒ **backend.src.services.git_service.GitService.get_repo** (`Function`) `[TRIVIAL]`
- 📝 Get Repo object for a dashboard.
- 🔗 CALLS -> `GitService._get_repo_path`
- ƒ **backend.src.services.git_service.GitService.configure_identity** (`Function`) `[TRIVIAL]`
- 📝 Configure repository-local Git committer identity for user-scoped operations.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.list_branches** (`Function`) `[TRIVIAL]`
- 📝 List all branches for a dashboard's repository.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.create_branch** (`Function`) `[TRIVIAL]`
- 📝 Create a new branch from an existing one.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.checkout_branch** (`Function`) `[TRIVIAL]`
- 📝 Switch to a specific branch.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.commit_changes** (`Function`) `[TRIVIAL]`
- 📝 Stage and commit changes.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService._extract_http_host** (`Function`) `[TRIVIAL]`
- 📝 Extract normalized host[:port] from HTTP(S) URL.
- ƒ **backend.src.services.git_service.GitService._strip_url_credentials** (`Function`) `[TRIVIAL]`
- 📝 Remove credentials from URL while preserving scheme/host/path.
- ƒ **backend.src.services.git_service.GitService._replace_host_in_url** (`Function`) `[TRIVIAL]`
- 📝 Replace source URL host with host from configured server URL.
- ƒ **backend.src.services.git_service.GitService._align_origin_host_with_config** (`Function`) `[TRIVIAL]`
- 📝 Auto-align local origin host to configured Git server host when they drift.
- 🔗 CALLS -> `GitService._extract_http_host`
- 🔗 CALLS -> `GitService._replace_host_in_url`
- 🔗 CALLS -> `GitService._strip_url_credentials`
- ƒ **backend.src.services.git_service.GitService.push_changes** (`Function`) `[TRIVIAL]`
- 📝 Push local commits to remote.
- 🔗 CALLS -> `GitService.get_repo`
- 🔗 CALLS -> `GitService._align_origin_host_with_config`
- ƒ **backend.src.services.git_service.GitService._read_blob_text** (`Function`) `[TRIVIAL]`
- 📝 Read text from a Git blob.
- ƒ **backend.src.services.git_service.GitService._get_unmerged_file_paths** (`Function`) `[TRIVIAL]`
- 📝 List files with merge conflicts.
- ƒ **backend.src.services.git_service.GitService._build_unfinished_merge_payload** (`Function`) `[TRIVIAL]`
- 📝 Build payload for unfinished merge state.
- 🔗 CALLS -> `GitService._get_unmerged_file_paths`
- ƒ **backend.src.services.git_service.GitService.get_merge_status** (`Function`) `[TRIVIAL]`
- 📝 Get current merge status for a dashboard repository.
- 🔗 CALLS -> `GitService.get_repo`
- 🔗 CALLS -> `GitService._build_unfinished_merge_payload`
- ƒ **backend.src.services.git_service.GitService.get_merge_conflicts** (`Function`) `[TRIVIAL]`
- 📝 List all files with conflicts and their contents.
- 🔗 CALLS -> `GitService.get_repo`
- 🔗 CALLS -> `GitService._read_blob_text`
- ƒ **backend.src.services.git_service.GitService.resolve_merge_conflicts** (`Function`) `[TRIVIAL]`
- 📝 Resolve conflicts using specified strategy.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.abort_merge** (`Function`) `[TRIVIAL]`
- 📝 Abort ongoing merge.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.continue_merge** (`Function`) `[TRIVIAL]`
- 📝 Finalize merge after conflict resolution.
- 🔗 CALLS -> `GitService.get_repo`
- 🔗 CALLS -> `GitService._get_unmerged_file_paths`
- ƒ **backend.src.services.git_service.GitService.pull_changes** (`Function`) `[TRIVIAL]`
- 📝 Pull changes from remote.
- 🔗 CALLS -> `GitService.get_repo`
- 🔗 CALLS -> `GitService._build_unfinished_merge_payload`
- ƒ **backend.src.services.git_service.GitService.get_status** (`Function`) `[TRIVIAL]`
- 📝 Get current repository status (dirty files, untracked, etc.)
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.get_diff** (`Function`) `[TRIVIAL]`
- 📝 Generate diff for a file or the whole repository.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.get_commit_history** (`Function`) `[TRIVIAL]`
- 📝 Retrieve commit history for a repository.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.test_connection** (`Function`) `[TRIVIAL]`
- 📝 Test connection to Git provider using PAT.
- ƒ **backend.src.services.git_service.GitService._normalize_git_server_url** (`Function`) `[TRIVIAL]`
- 📝 Normalize Git server URL for provider API calls.
- ƒ **backend.src.services.git_service.GitService._gitea_headers** (`Function`) `[TRIVIAL]`
- 📝 Build Gitea API authorization headers.
- ƒ **backend.src.services.git_service.GitService._gitea_request** (`Function`) `[TRIVIAL]`
- 📝 Execute HTTP request against Gitea API with stable error mapping.
- 🔗 CALLS -> `GitService._normalize_git_server_url`
- 🔗 CALLS -> `GitService._gitea_headers`
- ƒ **backend.src.services.git_service.GitService.get_gitea_current_user** (`Function`) `[TRIVIAL]`
- 📝 Resolve current Gitea user for PAT.
- 🔗 CALLS -> `GitService._gitea_request`
- ƒ **backend.src.services.git_service.GitService.list_gitea_repositories** (`Function`) `[TRIVIAL]`
- 📝 List repositories visible to authenticated Gitea user.
- 🔗 CALLS -> `GitService._gitea_request`
- ƒ **backend.src.services.git_service.GitService.create_gitea_repository** (`Function`) `[TRIVIAL]`
- 📝 Create repository in Gitea for authenticated user.
- 🔗 CALLS -> `GitService._gitea_request`
- ƒ **backend.src.services.git_service.GitService.delete_gitea_repository** (`Function`) `[TRIVIAL]`
- 📝 Delete repository in Gitea.
- 🔗 CALLS -> `GitService._gitea_request`
- ƒ **backend.src.services.git_service.GitService._gitea_branch_exists** (`Function`) `[TRIVIAL]`
- 📝 Check whether a branch exists in Gitea repository.
- 🔗 CALLS -> `GitService._gitea_request`
- ƒ **backend.src.services.git_service.GitService._build_gitea_pr_404_detail** (`Function`) `[TRIVIAL]`
- 📝 Build actionable error detail for Gitea PR 404 responses.
- 🔗 CALLS -> `GitService._gitea_branch_exists`
- ƒ **backend.src.services.git_service.GitService.create_github_repository** (`Function`) `[TRIVIAL]`
- 📝 Create repository in GitHub or GitHub Enterprise.
- 🔗 CALLS -> `GitService._normalize_git_server_url`
- ƒ **backend.src.services.git_service.GitService.create_gitlab_repository** (`Function`) `[TRIVIAL]`
- 📝 Create repository(project) in GitLab.
- 🔗 CALLS -> `GitService._normalize_git_server_url`
- ƒ **backend.src.services.git_service.GitService._parse_remote_repo_identity** (`Function`) `[TRIVIAL]`
- 📝 Parse owner/repo from remote URL for Git server API operations.
- ƒ **backend.src.services.git_service.GitService._derive_server_url_from_remote** (`Function`) `[TRIVIAL]`
- 📝 Build API base URL from remote repository URL without credentials.
- ƒ **backend.src.services.git_service.GitService.promote_direct_merge** (`Function`) `[TRIVIAL]`
- 📝 Perform direct merge between branches in local repo and push target branch.
- 🔗 CALLS -> `GitService.get_repo`
- ƒ **backend.src.services.git_service.GitService.create_gitea_pull_request** (`Function`) `[TRIVIAL]`
- 📝 Create pull request in Gitea.
- 🔗 CALLS -> `GitService._parse_remote_repo_identity`
- 🔗 CALLS -> `GitService._gitea_request`
- 🔗 CALLS -> `GitService._derive_server_url_from_remote`
- 🔗 CALLS -> `GitService._normalize_git_server_url`
- 🔗 CALLS -> `GitService._build_gitea_pr_404_detail`
- ƒ **backend.src.services.git_service.GitService.create_github_pull_request** (`Function`) `[TRIVIAL]`
- 📝 Create pull request in GitHub or GitHub Enterprise.
- 🔗 CALLS -> `GitService._parse_remote_repo_identity`
- 🔗 CALLS -> `GitService._normalize_git_server_url`
- ƒ **backend.src.services.git_service.GitService.create_gitlab_merge_request** (`Function`) `[TRIVIAL]`
- 📝 Create merge request in GitLab.
- 🔗 CALLS -> `GitService._parse_remote_repo_identity`
- 🔗 CALLS -> `GitService._normalize_git_server_url`
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_ensure_base_path_exists** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_resolve_base_path** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_normalize_repo_key** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_update_repo_local_path** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_migrate_repo_directory** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_ensure_gitflow_branches** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_get_repo_path** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **init_repo** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **delete_repo** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_repo** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **configure_identity** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **list_branches** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **create_branch** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **checkout_branch** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **commit_changes** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_extract_http_host** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_strip_url_credentials** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_replace_host_in_url** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_align_origin_host_with_config** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **push_changes** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_read_blob_text** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_get_unmerged_file_paths** (`Function`) `[TRIVIAL]`
@@ -5366,10 +5673,44 @@
- 📝 Auto-detected function (orphan)
- ƒ **continue_merge** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **pull_changes** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_status** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_diff** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_commit_history** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_connection** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_normalize_git_server_url** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_gitea_headers** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_gitea_request** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_gitea_current_user** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **list_gitea_repositories** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **create_gitea_repository** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **delete_gitea_repository** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_gitea_branch_exists** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_build_gitea_pr_404_detail** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **create_github_repository** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **create_gitlab_repository** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_parse_remote_repo_identity** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_derive_server_url_from_remote** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **promote_direct_merge** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **create_gitea_pull_request** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **create_github_pull_request** (`Function`) `[TRIVIAL]`