Skip to main content

harn_vm/
lib.rs

1#![allow(clippy::result_large_err, clippy::cloned_ref_to_slice_refs)]
2
3pub mod bridge;
4pub mod checkpoint;
5mod chunk;
6mod compiler;
7pub mod events;
8mod http;
9pub mod llm;
10pub mod llm_config;
11pub mod mcp;
12pub mod mcp_server;
13pub mod metadata;
14pub mod orchestration;
15pub mod runtime_paths;
16pub mod schema;
17pub mod stdlib;
18pub mod stdlib_modules;
19pub mod store;
20pub mod tracing;
21pub mod value;
22pub mod visible_text;
23mod vm;
24
25pub use checkpoint::register_checkpoint_builtins;
26pub use chunk::*;
27pub use compiler::*;
28pub use http::{register_http_builtins, reset_http_state};
29pub use llm::register_llm_builtins;
30pub use mcp::{
31    connect_mcp_server, connect_mcp_server_from_json, connect_mcp_server_from_spec,
32    register_mcp_builtins,
33};
34pub use mcp_server::{
35    take_mcp_serve_prompts, take_mcp_serve_registry, take_mcp_serve_resource_templates,
36    take_mcp_serve_resources, tool_registry_to_mcp_tools, McpServer,
37};
38pub use metadata::{register_metadata_builtins, register_scan_builtins};
39pub use stdlib::{
40    register_agent_stdlib, register_core_stdlib, register_io_stdlib, register_vm_stdlib,
41};
42pub use store::register_store_builtins;
43pub use value::*;
44pub use vm::*;
45
46/// Reset all thread-local state that can leak between test runs.
47/// Call this before each test execution for proper isolation.
48pub fn reset_thread_local_state() {
49    llm::reset_llm_state();
50    http::reset_http_state();
51    stdlib::reset_stdlib_state();
52    events::reset_event_sinks();
53}