Skip to main content

monoloop_interpreter/
lib.rs

1//! SPDX-License-Identifier: AGPL-3.0-or-later
2//! Copyright (C) Alexander R. Croft
3//!
4//! Component 02 — Interpreter.
5//!
6//! Consumes ordered raw Connector bytes + dialect binding, assembles complete
7//! provider-neutral canonical units, and publishes them immediately. Never emits
8//! tokens, text deltas, or partial tool JSON as canonical content.
9//!
10//! See `doc/INTERPRETER.md`.
11
12#![deny(missing_docs)]
13
14mod acp;
15mod claude_stream;
16mod engine;
17mod factory;
18mod openai_chat;
19mod sentence;
20mod stream;
21mod zai_chat;
22
23pub use acp::AcpDialect;
24pub use engine::{Interpretation, InterpretationInput, StartInterpretation};
25pub use factory::{DefaultInterpreterFactory, InterpreterFactory, SupportLevel};
26pub use openai_chat::{OpenAiSseState, DEFAULT_CHOICE_INDEX};
27pub use sentence::{CompletedSentence, SentenceSegmenter, SENTENCE_SEGMENTER_VERSION};
28pub use stream::CanonicalEventStream;
29
30pub use monoloop_contracts::{
31    BoundaryKind, Bytes, CanonicalUnit, CanonicalUnitEvent, CanonicalUnitSnapshot, ConnectionId,
32    DialectBinding, DialectDescriptor, DialectFamily, ExternalSessionId, FlowId, InterpretationEnd,
33    InterpretationEndKind, InterpretationId, InterpretationLimits, InterpreterError,
34    InterpreterErrorKind, InterpreterOutputEvent, LaneId, SourceTimeObservation, TextChannel,
35    TextSentence, ToolActionId, UnitId, UnitState,
36};