Coverage for src / lexigram / contracts / ai / chunks.py: 0%
14 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-15 18:57 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-15 18:57 +0800
1"""Shared AI chunk types."""
3from __future__ import annotations
5from dataclasses import dataclass, field
6from typing import Any
9@dataclass(frozen=True)
10class Chunk:
11 """Canonical AI chunk shared by RAG-oriented packages."""
13 text: str
14 source: str = "unknown"
15 metadata: dict[str, Any] = field(default_factory=dict)
16 score: float | None = None
17 embedding: list[float] | None = None
20@dataclass(frozen=True)
21class ContextChunk(Chunk):
22 """Retrieved chunk enriched with ranking metadata."""
24 rank: int = 0
27__all__ = ["Chunk", "ContextChunk"]