from __future__ import annotations from pydantic import BaseModel, Field from one_c_normalizer import MetadataObject class NormalizedObjectDetail(BaseModel): project_id: str | None = None group_name: str object: MetadataObject class ModuleRoutineResponse(BaseModel): name: str kind: str line_start: int | None = None line_end: int | None = None export: bool = False calls_count: int = 0 queries_count: int = 0 writes_count: int = 0 calls: list[str] = Field(default_factory=list) queries: list[str] = Field(default_factory=list) writes: list[str] = Field(default_factory=list) impact_level: str = "LOW" impact_reasons: list[str] = Field(default_factory=list) class ModuleSourceResponse(BaseModel): name: str qualified_name: str module_role: str = "MODULE" owner_qualified_name: str | None = None owner_kind: str | None = None object_part: str | None = None form_name: str | None = None form_qualified_name: str | None = None source_path: str source_text: str routines_count: int = 0 routines: list[ModuleRoutineResponse] = Field(default_factory=list) class BslCompletionItemResponse(BaseModel): label: str kind: str = "VALUE" detail: str | None = None insert_text: str | None = None