feat(application-form-fill): 新增模板配置骨架

This commit is contained in:
2026-06-07 18:23:06 +08:00
parent 74cbe349a8
commit e48d44f832
10 changed files with 479 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any
from review_agent.models import ApplicationFormFillBatch, ExportedSummaryFile, FileSummaryBatch, RegulatoryReviewBatch
@dataclass(frozen=True)
class TemplateSpec:
code: str
name: str
source_file: str
output_label: str
applies_when: dict[str, Any]
file_format: str
fields: list[dict[str, Any]]
checklist_items: list[dict[str, Any]] = field(default_factory=list)
@dataclass(frozen=True)
class ExtractedField:
key: str
label: str
value: str
source_file: str
source_role: str
evidence: str
extractor: str
confidence: float
@dataclass(frozen=True)
class MergedField:
key: str
label: str
value: str
source_file: str
evidence: str
confidence: float
has_conflict: bool = False
conflict_values: list[dict[str, Any]] = field(default_factory=list)
@dataclass
class FormFillContext:
batch: ApplicationFormFillBatch
source_summary_batch: FileSummaryBatch
source_regulatory_batch: RegulatoryReviewBatch | None
template_config: dict[str, Any] = field(default_factory=dict)
selected_templates: list[TemplateSpec] = field(default_factory=list)
document_texts: dict[str, str] = field(default_factory=dict)
regex_results: dict[str, Any] = field(default_factory=dict)
llm_results: dict[str, Any] = field(default_factory=dict)
merged_fields: dict[str, MergedField] = field(default_factory=dict)
checklist_items: dict[str, Any] = field(default_factory=dict)
conflicts: list[dict[str, Any]] = field(default_factory=list)
exports: list[ExportedSummaryFile] = field(default_factory=list)