Coverage for repo_ctx / models.py: 100%
41 statements
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-25 17:42 +0100
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-25 17:42 +0100
1"""Data models."""
2from dataclasses import dataclass
3from datetime import datetime
4from typing import Optional
7@dataclass
8class Library:
9 group_name: str
10 project_name: str
11 description: str
12 default_version: str
13 id: Optional[int] = None
14 last_indexed: Optional[datetime] = None
17@dataclass
18class Version:
19 library_id: int
20 version_tag: str
21 commit_sha: str
22 id: Optional[int] = None
25@dataclass
26class Document:
27 version_id: int
28 file_path: str
29 content: str
30 content_type: str = "markdown"
31 tokens: int = 0
32 id: Optional[int] = None
35@dataclass
36class SearchResult:
37 library_id: str # /group/project
38 name: str
39 description: str
40 versions: list[str]
41 score: float = 0.0
44@dataclass
45class FuzzySearchResult:
46 library_id: str # /group/project
47 name: str
48 group: str
49 description: str
50 score: float
51 match_type: str
52 matched_field: str