Coverage for src / lilbee / runtime / progress / callbacks.py: 100%
8 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-05-15 20:55 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-05-15 20:55 +0000
1"""Progress callback protocol, no-op default, and shared progress context."""
3from collections.abc import Callable
4from contextvars import ContextVar
5from typing import Any
7from lilbee.runtime.progress.types import (
8 BatchProgressEvent,
9 CrawlDoneEvent,
10 CrawlPageEvent,
11 CrawlStartEvent,
12 EmbedEvent,
13 EventType,
14 ExtractEvent,
15 FileDoneEvent,
16 FileStartEvent,
17 SetupDoneEvent,
18 SetupProgressEvent,
19 SetupStartEvent,
20 SyncDoneEvent,
21)
23ProgressEvent = (
24 FileStartEvent
25 | FileDoneEvent
26 | BatchProgressEvent
27 | ExtractEvent
28 | EmbedEvent
29 | SyncDoneEvent
30 | CrawlStartEvent
31 | CrawlPageEvent
32 | CrawlDoneEvent
33 | SetupStartEvent
34 | SetupProgressEvent
35 | SetupDoneEvent
36)
38DetailedProgressCallback = Callable[[EventType, ProgressEvent], None]
40# When set, vision updates the batch task's description instead of creating its own bar.
41# Value is (Progress, batch_task_id).
42shared_progress: ContextVar[tuple[Any, Any] | None] = ContextVar("shared_progress", default=None)
45def noop_callback(event_type: EventType, data: ProgressEvent) -> None:
46 """Default no-op callback: discards all events."""