Skip to main content

monoloop_testkit/
lib.rs

1//! SPDX-License-Identifier: AGPL-3.0-or-later
2//! Copyright (C) Alexander R. Croft
3//!
4//! Monoloop test kit — **not a product component**.
5//!
6//! Console renderer, event distributor, and Driver composition helpers.
7//! Product crates must not depend on this package.
8
9#![deny(missing_docs)]
10// Test-kit helpers prioritize clarity over every Clippy style preference.
11#![allow(
12    clippy::while_let_loop,
13    clippy::too_many_arguments,
14    clippy::field_reassign_with_default,
15    clippy::single_char_add_str,
16    dead_code
17)]
18
19mod chat_projector;
20mod console;
21mod distribute;
22mod driver;
23mod grok_serve;
24mod html_report;
25mod live_agy;
26mod live_claude;
27mod live_codex;
28mod live_cursor;
29mod live_grok;
30mod live_zai;
31mod pipeline;
32
33pub use chat_projector::{
34    project_chat, project_chat_with, ChatLine, ChatProjection, ChatRole, ProjectChatOptions,
35    ProjectedTool, ProjectionConfidence, ProjectionStrategy,
36};
37pub use console::{
38    ConsoleRenderRecord, ConsoleRenderer, ConsoleRendererConfig, ConsoleSink, StdoutSink,
39    SyncMemorySink,
40};
41pub use distribute::{pump_interpreter_to_distributor, EventDistributor, SubscriberPolicy};
42pub use driver::{
43    run_bytes_pipeline, run_bytes_pipeline_with_params, DriverRunReport, PipelineParams,
44    PipelineRawDump, RawInputFrame,
45};
46pub use grok_serve::{GrokServeOptions, ManagedGrokServe};
47pub use html_report::{
48    build_html_report, join_sentences_as_markdown, markdown_to_html, write_html_report, HtmlReport,
49    HtmlReportParams,
50};
51pub use live_agy::{
52    run_live_agy_prompt, LiveAgyArtifactPaths, LiveAgyRunOptions, LiveAgyRunReport,
53};
54pub use live_claude::{
55    run_live_claude_prompt, LiveClaudeArtifactPaths, LiveClaudeRunOptions, LiveClaudeRunReport,
56};
57pub use live_codex::{
58    run_live_codex_prompt, LiveCodexArtifactPaths, LiveCodexRunOptions, LiveCodexRunReport,
59};
60pub use live_cursor::{
61    run_live_cursor_prompt, LiveCursorArtifactPaths, LiveCursorRunOptions, LiveCursorRunReport,
62};
63pub use live_grok::{
64    run_live_grok_multi_session, run_live_grok_prompt, LiveGrokArtifactPaths,
65    LiveGrokMultiSessionOptions, LiveGrokMultiSessionReport, LiveGrokRunOptions, LiveGrokRunReport,
66    LiveGrokSessionOutcome,
67};
68pub use live_zai::{
69    run_live_zai_prompt, LiveZaiArtifactPaths, LiveZaiRunOptions, LiveZaiRunReport,
70};
71pub use pipeline::{
72    acp_binding, agy_acp_binding, claude_code_binding, codex_acp_binding, collect_interpretation,
73    cursor_acp_binding, feed_chunks, interpret_and_render, interpret_bytes, render_all,
74    test_text_binding, zai_cli_binding,
75};