fix(classification): satisfy type and module contracts

This commit is contained in:
jxxghp
2026-09-12 18:28:31 +08:00
parent 761d02ba68
commit 4192585969
5 changed files with 14 additions and 13 deletions

View File

@@ -285,15 +285,16 @@ async def validate_policy(
async def preview_policy(
request: ClassificationPreviewRequest,
_: object = Depends(get_current_active_user_async),
runtime: ClassificationRuntime = Depends(get_classification_runtime),
host_runtime: HostRuntime = Depends(get_host_runtime),
) -> ClassificationEvaluation | JSONResponse:
"""对选择的媒体信息或兼容事实执行策略,并返回完整匹配说明。"""
runtime = host_runtime.classification
if request.policy is None:
_require_active_policy(runtime)
try:
return ClassificationAnalysisService(
runtime.service,
execution=runtime.classification_execution,
execution=host_runtime.classification_execution,
).preview(request)
except ClassificationPolicyValidationError as error:
return _validation_response(error)

View File

@@ -1,4 +1,4 @@
"""旧版分类迁移的值展开和条件树基础工具。"""
"""旧版分类迁移的值编译和条件树基础工具。"""
from __future__ import annotations

View File

@@ -8,7 +8,7 @@ from collections.abc import Iterable, Mapping, Sequence
from dataclasses import dataclass, field
from typing import Callable, Final, Literal, Optional, TypeAlias, Union, cast
from app.application.classification.migration_values import (
from app.application.classification.compiler import (
_all_or_single,
_any_or_single,
_legacy_field_definition,

View File

@@ -1078,7 +1078,7 @@
}
},
"edge_count": 8579,
"edge_sha256": "896fdba07ea557dad95790a532c4890a6094f6d30d870de3bea440157764d656",
"edge_sha256": "1ffc77ec803f7ee447d884559e5e6298e5a812aabb3e5d74cec72f61a37c10a8",
"edges": [
"app -> app.foundation",
"app -> app.foundation.environment",
@@ -3236,6 +3236,11 @@
"app.application.classification.catalog -> app.domain.classification.fields",
"app.application.classification.catalog -> app.schemas",
"app.application.classification.catalog -> app.schemas.category",
"app.application.classification.compiler -> app.domain",
"app.application.classification.compiler -> app.domain.classification",
"app.application.classification.compiler -> app.domain.classification.vocabulary",
"app.application.classification.compiler -> app.schemas",
"app.application.classification.compiler -> app.schemas.category",
"app.application.classification.configuration -> app.application",
"app.application.classification.configuration -> app.application.classification",
"app.application.classification.configuration -> app.application.classification.contract",
@@ -3271,17 +3276,12 @@
"app.application.classification.legacy -> app.application.classification.projection",
"app.application.classification.migration -> app.application",
"app.application.classification.migration -> app.application.classification",
"app.application.classification.migration -> app.application.classification.migration_values",
"app.application.classification.migration -> app.application.classification.compiler",
"app.application.classification.migration -> app.domain",
"app.application.classification.migration -> app.domain.classification",
"app.application.classification.migration -> app.domain.classification.vocabulary",
"app.application.classification.migration -> app.schemas",
"app.application.classification.migration -> app.schemas.category",
"app.application.classification.migration_values -> app.domain",
"app.application.classification.migration_values -> app.domain.classification",
"app.application.classification.migration_values -> app.domain.classification.vocabulary",
"app.application.classification.migration_values -> app.schemas",
"app.application.classification.migration_values -> app.schemas.category",
"app.application.classification.projection -> app.application",
"app.application.classification.projection -> app.application.classification",
"app.application.classification.projection -> app.application.classification.migration",
@@ -9883,13 +9883,13 @@
"app.application.classification",
"app.application.classification.analysis",
"app.application.classification.catalog",
"app.application.classification.compiler",
"app.application.classification.configuration",
"app.application.classification.contract",
"app.application.classification.enrichment",
"app.application.classification.execution",
"app.application.classification.legacy",
"app.application.classification.migration",
"app.application.classification.migration_values",
"app.application.classification.projection",
"app.application.classification.reference",
"app.application.classification.runtime",

View File

@@ -460,7 +460,7 @@ def test_application_classification_uses_same_named_package() -> None:
"execution.py",
"legacy.py",
"migration.py",
"migration_values.py",
"compiler.py",
"projection.py",
"reference.py",
"runtime.py",