Skip to main content

sim_lib_bridge/
lib.rs

1//! Checked BRIDGE packet runtime for SIM model exchanges.
2//!
3//! `sim-lib-bridge` is the send and receive guard around the reversible
4//! BRIDGE packet codec. It keeps packet validation, capability ceilings,
5//! content-addressed request identity, model request construction, response
6//! decoding, and runtime exports in library space. The crate targets
7//! [`EvalFabric`](sim_kernel::EvalFabric) and the provider-neutral runner
8//! contracts; it does not own transports or model providers.
9
10#![forbid(unsafe_code)]
11#![deny(missing_docs)]
12
13mod ask;
14mod brief;
15mod collab;
16mod frontier;
17mod loom_validate;
18mod loom_woven;
19mod materialize;
20mod model;
21mod receipt;
22mod repair;
23mod report;
24mod runtime;
25mod rx;
26mod tx;
27mod warrant;
28
29#[cfg(test)]
30mod tests;
31
32pub use ask::{
33    ask_default_codec, ask_packet, ask_packet_with_model_params, run_ask, run_ask_with_policy,
34};
35pub use brief::{bridge_brief, render_brief_sentences};
36pub use collab::{MergePolicy, merge_bridge_replies};
37pub use frontier::{FrontierMenu, frontier};
38pub use loom_validate::{LoomObligation, next_frontier_menu, validate_weave};
39pub use loom_woven::{validate_woven_row, weave_row_by_row};
40pub use materialize::{
41    GivenMaterialization, bridge_fetch_capability, bridge_given_materialize_capability,
42    fetch_obligation, materialize_given,
43};
44pub use model::{
45    bridge_request_content_key, output_contract_for_packet, terminal_bridge_text,
46    terminal_response_packet,
47};
48pub use receipt::{receipt_packet_for_report, receipt_symbol};
49pub use repair::{AskFailure, RepairPolicy};
50pub use report::{BridgeObligation, BridgeReport};
51pub use runtime::{
52    BridgeFunction, BridgeFunctionKind, BridgeLib, bridge_ask_symbol, bridge_brief_symbol,
53    bridge_report_symbol, bridge_rx_symbol, bridge_tx_symbol, install_bridge_lib, manifest_name,
54};
55pub use rx::{bridge_rx, bridge_rx_response, effective_caps, rx_check};
56pub use tx::{bridge_tx, prepare_packet, render_model_face, run_bridge};
57pub use warrant::verify_warrant;
58
59/// Cookbook recipes embedded from this crate's `recipes/` directory.
60pub static RECIPES: sim_cookbook::EmbeddedDir =
61    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));