rename ss-tools to superset-tools across the entire project

- Replace all occurrences of 'ss-tools' with 'superset-tools' in 104 files
- Rename git bundle file ss-tools.bundle → superset-tools.bundle
- Update .gitignore pattern accordingly
- Preserve variable names (hasSsTools etc.) and code identifiers
This commit is contained in:
2026-06-16 11:15:19 +03:00
parent d75db60343
commit ec6421de35
129 changed files with 467 additions and 467 deletions

View File

@@ -3,7 +3,7 @@ requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "ss-tools-backend"
name = "superset-tools-backend"
version = "0.0.0"
requires-python = ">=3.13"

View File

@@ -1,4 +1,4 @@
# Development dependencies for ss-tools backend
# Development dependencies for superset-tools backend
# Install with: pip install -r requirements-dev.txt
pytest-httpx>=0.34.0

View File

@@ -31,8 +31,8 @@ class AuthConfig(BaseSettings):
ALGORITHM: str = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES: int = 480
REFRESH_TOKEN_EXPIRE_DAYS: int = 7
JWT_AUDIENCE: str = Field(default="ss-tools-api", validation_alias="JWT_AUDIENCE")
JWT_ISSUER: str = Field(default="ss-tools", validation_alias="JWT_ISSUER")
JWT_AUDIENCE: str = Field(default="superset-tools-api", validation_alias="JWT_AUDIENCE")
JWT_ISSUER: str = Field(default="superset-tools", validation_alias="JWT_ISSUER")
# Database Settings
AUTH_DATABASE_URL: str = Field(default="", validation_alias="AUTH_DATABASE_URL")

View File

@@ -245,7 +245,7 @@ class ConnectionService:
# #region test_connection [C:3] [TYPE Function] [SEMANTICS settings,connections,test]
# @BRIEF Test connectivity to a saved connection. Opens native driver, runs SELECT 1.
# @PRE Connection exists and is reachable from the ss-tools backend.
# @PRE Connection exists and is reachable from the superset-tools backend.
# @POST Returns {success, latency_ms, db_version, error}. Connection always closed.
# @SIDE_EFFECT Opens/closes native DB connection. Network I/O. May trigger auth.
async def test_connection(self, connection_id: str) -> dict[str, Any]:

View File

@@ -242,7 +242,7 @@ class GitPlugin(PluginBase):
# @POST Файлы в репозитории обновлены до текущего состояния в Superset.
# Управляемые директории backup-ируются перед удалением; при ошибке распаковки backup восстанавливается.
# @SIDE_EFFECT Изменяет файлы в локальной рабочей директории репозитория.
# Создаёт временный backup в /tmp/ss-tools-backup-{dashboard_id}-{timestamp}/.
# Создаёт временный backup в /tmp/superset-tools-backup-{dashboard_id}-{timestamp}/.
# @RETURN Dict[str, str] - Результат синхронизации.
# @RELATION CALLS -> src.services.git_service.GitService.get_repo
# @RELATION CALLS -> src.core.superset_client.SupersetClient.export_dashboard
@@ -266,7 +266,7 @@ class GitPlugin(PluginBase):
managed_files = ["metadata.yaml"]
# Fix 1: Create backup before deleting managed files (wrapped in run_blocking)
backup_dir = Path(f"/tmp/ss-tools-backup-{dashboard_id}-{time.time_ns()}")
backup_dir = Path(f"/tmp/superset-tools-backup-{dashboard_id}-{time.time_ns()}")
await run_blocking(kind='file', fn=_create_sync_backup, repo_path=repo_path, backup_dir=backup_dir, managed_dirs=managed_dirs, managed_files=managed_files)

View File

@@ -14,7 +14,7 @@ from src.plugins.llm_analysis.service import LLMClient
# @POST Async client headers include Authorization, HTTP-Referer, and X-Title.
def test_openrouter_client_includes_referer_and_title_headers(monkeypatch):
monkeypatch.setenv("OPENROUTER_SITE_URL", "http://localhost:8000")
monkeypatch.setenv("OPENROUTER_APP_NAME", "ss-tools-test")
monkeypatch.setenv("OPENROUTER_APP_NAME", "superset-tools-test")
client = LLMClient(
provider_type=LLMProviderType.OPENROUTER,
@@ -26,7 +26,7 @@ def test_openrouter_client_includes_referer_and_title_headers(monkeypatch):
headers = dict(client.client.default_headers)
assert headers["Authorization"] == "Bearer sk-test-provider-key-123456"
assert headers["HTTP-Referer"] == "http://localhost:8000"
assert headers["X-Title"] == "ss-tools-test"
assert headers["X-Title"] == "superset-tools-test"
# endregion test_openrouter_client_includes_referer_and_title_headers

View File

@@ -870,7 +870,7 @@ class LLMClient:
or os.getenv("APP_BASE_URL", "").strip()
or "http://localhost:8000"
)
default_headers["X-Title"] = os.getenv("OPENROUTER_APP_NAME", "").strip() or "ss-tools"
default_headers["X-Title"] = os.getenv("OPENROUTER_APP_NAME", "").strip() or "superset-tools"
if self.provider_type == LLMProviderType.KILO:
default_headers["Authentication"] = f"Bearer {self.api_key}"
default_headers["X-API-Key"] = self.api_key

View File

@@ -157,7 +157,7 @@ class StoragePlugin(PluginBase):
if not root.is_absolute():
# Resolve relative to the backend directory
# Path(__file__) is backend/src/plugins/storage/plugin.py
# parents[3] is the project root (ss-tools)
# parents[3] is the project root (superset-tools)
# We need to ensure it's relative to where backend/ is
project_root = Path(__file__).parents[3]
root = (project_root / root).resolve()

View File

@@ -1,6 +1,6 @@
# #region TestSupersetTlsCustomCA [C:3] [TYPE Module] [SEMANTICS test,superset,tls,ssl,integration,ca]
# @BRIEF Integration tests validating the full corporate SSL certificate chain:
# custom CA generation → system store installation → HTTPS via ss-tools HTTP clients.
# custom CA generation → system store installation → HTTPS via superset-tools HTTP clients.
# @RELATION BINDS_TO -> [AsyncAPIClient]
# @RELATION BINDS_TO -> [SupersetClientBase]
# @RELATION BINDS_TO -> [SupersetClientRegistryModule]
@@ -29,7 +29,7 @@ from urllib.parse import urlparse
# #region TestCustomCATrustChain [C:3] [TYPE Class]
# @BRIEF Validate that custom CA certificates installed into the system store
# are trusted by openssl, httpx, and ss-tools patched HTTP clients.
# are trusted by openssl, httpx, and superset-tools patched HTTP clients.
@pytest.mark.parametrize("superset_container", [{"tls": True}], indirect=True)
class TestCustomCATrustChain:
"""Full corporate CA trust chain validation against TLS-protected Superset."""
@@ -160,7 +160,7 @@ class TestCustomCATrustChain:
# #endregion test_httpx_certifi_fails
# ── ss-tools client tests ────────────────────────────────────────
# ── superset-tools client tests ────────────────────────────────────────
# #region test_asyncapiclient_verify_true [C:2] [TYPE Function]
# @BRIEF AsyncAPIClient(verify_ssl=True) authenticates against TLS Superset.

View File

@@ -24,7 +24,7 @@ class TestAuthConfig:
assert config.SECRET_KEY == "test-secret-key"
assert config.ALGORITHM == "HS256"
assert config.ACCESS_TOKEN_EXPIRE_MINUTES == 480
assert config.JWT_AUDIENCE == "ss-tools-api"
assert config.JWT_AUDIENCE == "superset-tools-api"
def test_validates_secret_key_empty(self):
from src.core.auth.config import AuthConfig
@@ -87,8 +87,8 @@ class TestAuthConfig:
"AUTH_DATABASE_URL": "sqlite:///test.db",
}, clear=True):
config = AuthConfig()
assert config.JWT_AUDIENCE == "ss-tools-api"
assert config.JWT_ISSUER == "ss-tools"
assert config.JWT_AUDIENCE == "superset-tools-api"
assert config.JWT_ISSUER == "superset-tools"
# #endregion test_auth_config