File size: 2,100 Bytes
0bdbf4d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | """Agentic tool protocol for Streamo OVO-Bench.
This subpackage is *additive*: it does NOT modify video_processor.py.
The agent main loop lives in core/agent.py.
"""
from .base import Tool, ToolRegistry, ToolContext, ToolResult, build_default_registry
from .memory import (
MemoryStore,
Event,
RuleSummarizer,
MemoryWriteTool,
MemoryReadTool,
MemoryListTool,
MemoryRetrieveTool,
)
from .memory_graph import (
EntityIndex,
EntitySubgraph,
MemoryGraph,
EvidencePath,
BOCPDSegmenter,
observation_to_embedding,
op_add_obs_node,
op_add_epi_node,
op_add_pin_node,
op_correct_node,
op_add_entity_edge,
op_add_causal_edge,
)
from .verification import (
Claim,
ClaimGroup,
VerificationResult,
ConsistencyChecker,
ReplayScheduler,
run_verification_pipeline,
apply_corrections,
)
from .efficiency import (
Budget,
SetSampleRateTool,
)
from .track import (
TrackerAdapter,
MockTracker,
DEFAULT_TRACKER,
TrackInitTool,
TrackQueryTool,
TrackEndTool,
)
from .audio import (
ASRAdapter,
MockASR,
DEFAULT_ASR,
ASRSegmentTool,
SpeakerIDTool,
AudioEventTool,
)
def build_extended_registry(
enable_memory: bool = True,
enable_track: bool = True,
enable_audio: bool = True,
enable_efficiency: bool = True,
) -> ToolRegistry:
"""Default registry + Phase-A extensions (memory / track / audio /
efficiency). Legacy callers using :func:`build_default_registry` are
unaffected.
"""
reg = build_default_registry()
if enable_memory:
for t in (MemoryWriteTool(), MemoryReadTool(), MemoryListTool(),
MemoryRetrieveTool()):
reg.register(t)
if enable_efficiency:
for t in (SetSampleRateTool(),):
reg.register(t)
if enable_track:
for t in (TrackInitTool(), TrackQueryTool(), TrackEndTool()):
reg.register(t)
if enable_audio:
for t in (ASRSegmentTool(), SpeakerIDTool(), AudioEventTool()):
reg.register(t)
return reg
|