refactor: move settings and secrets stores to app_server (#14165)

Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
Tim O'Farrell
2026-04-27 13:54:33 -06:00
committed by GitHub
parent 3a40ecb931
commit 9e3aed7f53
21 changed files with 36 additions and 36 deletions

View File

@@ -3,11 +3,11 @@ from __future__ import annotations
import json
from dataclasses import dataclass
from openhands.app_server.secrets.secrets_store import SecretsStore
from openhands.core.config.openhands_config import OpenHandsConfig
from openhands.storage import get_file_store
from openhands.storage.data_models.secrets import Secrets
from openhands.storage.files import FileStore
from openhands.storage.secrets.secrets_store import SecretsStore
from openhands.utils.async_utils import call_sync_from_async

View File

@@ -13,6 +13,7 @@ from openhands.app_server.secrets.secrets_models import (
CustomSecretPage,
CustomSecretWithoutValue,
)
from openhands.app_server.secrets.secrets_store import SecretsStore
from openhands.app_server.utils.dependencies import get_dependencies
from openhands.app_server.utils.models import EditResponse
from openhands.integrations.provider import (
@@ -30,7 +31,6 @@ from openhands.server.user_auth import (
get_secrets_store,
)
from openhands.storage.data_models.secrets import Secrets
from openhands.storage.secrets.secrets_store import SecretsStore
# Create router with /api/v1/secrets prefix
router = APIRouter(

View File

@@ -3,11 +3,11 @@ from __future__ import annotations
import json
from dataclasses import dataclass
from openhands.app_server.settings.settings_store import SettingsStore
from openhands.core.config.openhands_config import OpenHandsConfig
from openhands.storage import get_file_store
from openhands.storage.data_models.settings import Settings
from openhands.storage.files import FileStore
from openhands.storage.settings.settings_store import SettingsStore
from openhands.utils.async_utils import call_sync_from_async

View File

@@ -9,6 +9,8 @@ from typing import Any
from fastapi import APIRouter, Depends, status
from fastapi.responses import JSONResponse
from openhands.app_server.secrets.secrets_store import SecretsStore
from openhands.app_server.settings.settings_store import SettingsStore
from openhands.app_server.utils.dependencies import get_dependencies
from openhands.core.logger import openhands_logger as logger
from openhands.integrations.provider import (
@@ -28,8 +30,6 @@ from openhands.server.user_auth import (
)
from openhands.storage.data_models.secrets import Secrets
from openhands.storage.data_models.settings import Settings
from openhands.storage.secrets.secrets_store import SecretsStore
from openhands.storage.settings.settings_store import SettingsStore
from openhands.utils.llm import (
get_provider_api_base,
is_openhands_model,

View File

@@ -22,10 +22,10 @@ class ServerConfig(ServerConfigInterface):
hide_llm_settings = os.environ.get('HIDE_LLM_SETTINGS', 'false') == 'true'
# This config is used to hide the microagent management page from the users for now. We will remove this once we release the new microagent management page.
settings_store_class: str = (
'openhands.storage.settings.file_settings_store.FileSettingsStore'
'openhands.app_server.settings.file_settings_store.FileSettingsStore'
)
secret_store_class: str = (
'openhands.storage.secrets.file_secrets_store.FileSecretsStore'
'openhands.app_server.secrets.file_secrets_store.FileSecretsStore'
)
user_auth_class: str = (
'openhands.server.user_auth.default_user_auth.DefaultUserAuth'

View File

@@ -11,14 +11,14 @@ import os
import socketio
from dotenv import load_dotenv
from openhands.app_server.secrets.secrets_store import SecretsStore
from openhands.app_server.settings.settings_store import SettingsStore
from openhands.core.config import load_openhands_config
from openhands.core.config.openhands_config import OpenHandsConfig
from openhands.server.config.server_config import ServerConfig, load_server_config
from openhands.server.types import ServerConfigInterface
from openhands.storage import get_file_store
from openhands.storage.files import FileStore
from openhands.storage.secrets.secrets_store import SecretsStore
from openhands.storage.settings.settings_store import SettingsStore
from openhands.utils.import_utils import get_impl
load_dotenv()

View File

@@ -2,12 +2,12 @@ from fastapi import Depends, Request
from fastapi.security import APIKeyHeader
from pydantic import SecretStr
from openhands.app_server.secrets.secrets_store import SecretsStore
from openhands.app_server.settings.settings_store import SettingsStore
from openhands.integrations.provider import PROVIDER_TOKEN_TYPE
from openhands.server.settings import Settings
from openhands.server.user_auth.user_auth import AuthType, get_user_auth
from openhands.storage.data_models.secrets import Secrets
from openhands.storage.secrets.secrets_store import SecretsStore
from openhands.storage.settings.settings_store import SettingsStore
async def get_provider_tokens(request: Request) -> PROVIDER_TOKEN_TYPE | None:

View File

@@ -11,13 +11,13 @@ from dataclasses import dataclass
from fastapi import Request
from pydantic import SecretStr
from openhands.app_server.secrets.secrets_store import SecretsStore
from openhands.app_server.settings.settings_store import SettingsStore
from openhands.integrations.provider import PROVIDER_TOKEN_TYPE
from openhands.server import shared
from openhands.server.settings import Settings
from openhands.server.user_auth.user_auth import UserAuth
from openhands.storage.data_models.secrets import Secrets
from openhands.storage.secrets.secrets_store import SecretsStore
from openhands.storage.settings.settings_store import SettingsStore
@dataclass

View File

@@ -14,13 +14,13 @@ from enum import Enum
from fastapi import Request
from pydantic import SecretStr
from openhands.app_server.secrets.secrets_store import SecretsStore
from openhands.app_server.settings.settings_store import SettingsStore
from openhands.integrations.provider import PROVIDER_TOKEN_TYPE, ProviderHandler
from openhands.integrations.service_types import UserGitInfo
from openhands.server.settings import Settings
from openhands.server.shared import server_config
from openhands.storage.data_models.secrets import Secrets
from openhands.storage.secrets.secrets_store import SecretsStore
from openhands.storage.settings.settings_store import SettingsStore
from openhands.utils.import_utils import get_impl

View File

@@ -52,7 +52,7 @@ def get_impl(cls: type[T], impl_name: str | None) -> type[T]:
Args:
cls: The base class that defines the interface
impl_name: Fully qualified name of the implementation class, or None to use the base class
e.g. 'openhands.storage.settings.file_settings_store.FileSettingsStore'
e.g. 'openhands.app_server.settings.file_settings_store.FileSettingsStore'
Returns:
The implementation class, which is guaranteed to be a subclass of cls