Skip to main content

Crate harn_vm

Crate harn_vm 

Source

Re-exports§

pub use checkpoint::register_checkpoint_builtins;
pub use connectors::active_connector_client;
pub use connectors::clear_active_connector_clients;
pub use connectors::cron::CatchupMode;
pub use connectors::cron::CronConnector;
pub use connectors::harn_module::load_contract as load_harn_connector_contract;
pub use connectors::harn_module::HarnConnector;
pub use connectors::harn_module::HarnConnectorContract;
pub use connectors::hmac::verify_hmac_signed;
pub use connectors::install_active_connector_clients;
pub use connectors::load_pending_webhook_handshakes;
pub use connectors::postprocess_normalized_event;
pub use connectors::ActivationHandle;
pub use connectors::ClientError;
pub use connectors::Connector;
pub use connectors::ConnectorClient;
pub use connectors::ConnectorCtx;
pub use connectors::ConnectorError;
pub use connectors::ConnectorMetricsSnapshot;
pub use connectors::ConnectorRegistry;
pub use connectors::GenericWebhookConnector;
pub use connectors::GitHubConnector;
pub use connectors::LinearConnector;
pub use connectors::MetricsRegistry;
pub use connectors::NotionConnector;
pub use connectors::PersistedNotionWebhookHandshake;
pub use connectors::PostNormalizeOutcome;
pub use connectors::ProviderPayloadSchema;
pub use connectors::RateLimitConfig;
pub use connectors::RateLimiterFactory;
pub use connectors::RawInbound;
pub use connectors::SlackConnector;
pub use connectors::TriggerBinding;
pub use connectors::TriggerKind;
pub use connectors::TriggerRegistry;
pub use connectors::WebhookSignatureVariant;
pub use llm::register_llm_builtins;
pub use mcp::connect_mcp_server;
pub use mcp::connect_mcp_server_from_json;
pub use mcp::connect_mcp_server_from_spec;
pub use mcp::register_mcp_builtins;
pub use mcp_card::fetch_server_card;
pub use mcp_card::load_server_card_from_path;
pub use mcp_card::CardError;
pub use mcp_registry::active_handle as mcp_active_handle;
pub use mcp_registry::ensure_active as mcp_ensure_active;
pub use mcp_registry::get_registration as mcp_get_registration;
pub use mcp_registry::install_active as mcp_install_active;
pub use mcp_registry::is_registered as mcp_is_registered;
pub use mcp_registry::register_servers as mcp_register_servers;
pub use mcp_registry::release as mcp_release;
pub use mcp_registry::reset as mcp_reset_registry;
pub use mcp_registry::snapshot_status as mcp_snapshot_status;
pub use mcp_registry::sweep_expired as mcp_sweep_expired;
pub use mcp_registry::RegisteredMcpServer;
pub use mcp_registry::RegistryStatus;
pub use mcp_server::take_mcp_serve_prompts;
pub use mcp_server::take_mcp_serve_registry;
pub use mcp_server::take_mcp_serve_resource_templates;
pub use mcp_server::take_mcp_serve_resources;
pub use mcp_server::tool_registry_to_mcp_tools;
pub use mcp_server::McpServer;
pub use metadata::register_metadata_builtins;
pub use metadata::register_scan_builtins;
pub use record_filter::normalize_record_filter_expression;
pub use record_filter::CompiledRecordFilter;
pub use stdlib::host::clear_host_call_bridge;
pub use stdlib::host::set_host_call_bridge;
pub use stdlib::host::HostCallBridge;
pub use stdlib::secret_scan::append_secret_scan_audit;
pub use stdlib::secret_scan::audit_secret_scan_active;
pub use stdlib::secret_scan::scan_content as secret_scan_content;
pub use stdlib::secret_scan::SecretFinding;
pub use stdlib::secret_scan::SECRET_SCAN_AUDIT_TOPIC;
pub use stdlib::template::lookup_prompt_consumers;
pub use stdlib::template::lookup_prompt_span;
pub use stdlib::template::prompt_render_indices;
pub use stdlib::template::record_prompt_render_index;
pub use stdlib::template::PromptSourceSpan;
pub use stdlib::template::PromptSpanKind;
pub use stdlib::register_agent_stdlib;
pub use stdlib::register_core_stdlib;
pub use stdlib::register_io_stdlib;
pub use stdlib::register_vm_stdlib;
pub use store::register_store_builtins;
pub use triggers::append_dispatch_cancel_request;
pub use triggers::begin_in_flight;
pub use triggers::binding_version_as_of;
pub use triggers::clear_dispatcher_state;
pub use triggers::clear_trigger_registry;
pub use triggers::drain;
pub use triggers::dynamic_deregister;
pub use triggers::dynamic_register;
pub use triggers::finish_in_flight;
pub use triggers::install_manifest_triggers;
pub use triggers::parse_flow_control_duration;
pub use triggers::pin_trigger_binding;
pub use triggers::provider_metadata;
pub use triggers::redact_headers;
pub use triggers::register_provider_schema;
pub use triggers::registered_provider_metadata;
pub use triggers::registered_provider_schema_names;
pub use triggers::reset_provider_catalog;
pub use triggers::resolve_live_or_as_of;
pub use triggers::resolve_live_trigger_binding;
pub use triggers::resolve_trigger_binding_as_of;
pub use triggers::run_trigger_harness_fixture;
pub use triggers::snapshot_dispatcher_stats;
pub use triggers::snapshot_trigger_bindings;
pub use triggers::unpin_trigger_binding;
pub use triggers::worker_claims_topic_name;
pub use triggers::worker_job_topic_name;
pub use triggers::worker_response_topic_name;
pub use triggers::ClaimedWorkerJob;
pub use triggers::DispatchCancelRequest;
pub use triggers::DispatchError;
pub use triggers::DispatchOutcome;
pub use triggers::DispatchStatus;
pub use triggers::Dispatcher;
pub use triggers::DispatcherDrainReport;
pub use triggers::DispatcherStatsSnapshot;
pub use triggers::HeaderRedactionPolicy;
pub use triggers::InboxIndex;
pub use triggers::NotionPolledChangeEvent;
pub use triggers::ProviderCatalog;
pub use triggers::ProviderCatalogError;
pub use triggers::ProviderId;
pub use triggers::ProviderMetadata;
pub use triggers::ProviderOutboundMethod;
pub use triggers::ProviderPayload;
pub use triggers::ProviderRuntimeMetadata;
pub use triggers::ProviderSchema;
pub use triggers::ProviderSecretRequirement;
pub use triggers::RecordedTriggerBinding;
pub use triggers::RetryPolicy;
pub use triggers::SignatureStatus;
pub use triggers::SignatureVerificationMetadata;
pub use triggers::TenantId;
pub use triggers::TraceId;
pub use triggers::TriggerBatchConfig;
pub use triggers::TriggerBindingSnapshot;
pub use triggers::TriggerBindingSource;
pub use triggers::TriggerBindingSpec;
pub use triggers::TriggerConcurrencyConfig;
pub use triggers::TriggerDebounceConfig;
pub use triggers::TriggerDispatchOutcome;
pub use triggers::TriggerEvent;
pub use triggers::TriggerEventId;
pub use triggers::TriggerExpressionSpec;
pub use triggers::TriggerFlowControlConfig;
pub use triggers::TriggerHandlerSpec;
pub use triggers::TriggerHarnessResult;
pub use triggers::TriggerId;
pub use triggers::TriggerMetricsSnapshot;
pub use triggers::TriggerPredicateSpec;
pub use triggers::TriggerPriorityOrderConfig;
pub use triggers::TriggerRateLimitConfig;
pub use triggers::TriggerRegistryError;
pub use triggers::TriggerRetryConfig;
pub use triggers::TriggerSingletonConfig;
pub use triggers::TriggerState;
pub use triggers::TriggerThrottleConfig;
pub use triggers::WorkerQueue;
pub use triggers::WorkerQueueClaimHandle;
pub use triggers::WorkerQueueEnqueueReceipt;
pub use triggers::WorkerQueueJob;
pub use triggers::WorkerQueueJobState;
pub use triggers::WorkerQueuePriority;
pub use triggers::WorkerQueueResponseRecord;
pub use triggers::WorkerQueueState;
pub use triggers::WorkerQueueSummary;
pub use triggers::DEFAULT_INBOX_RETENTION_DAYS;
pub use triggers::TRIGGERS_LIFECYCLE_TOPIC;
pub use triggers::TRIGGER_ATTEMPTS_TOPIC;
pub use triggers::TRIGGER_CANCEL_REQUESTS_TOPIC;
pub use triggers::TRIGGER_DLQ_TOPIC;
pub use triggers::TRIGGER_INBOX_CLAIMS_TOPIC;
pub use triggers::TRIGGER_INBOX_ENVELOPES_TOPIC;
pub use triggers::TRIGGER_INBOX_LEGACY_TOPIC;
pub use triggers::TRIGGER_OPERATION_AUDIT_TOPIC;
pub use triggers::TRIGGER_OUTBOX_TOPIC;
pub use triggers::TRIGGER_TEST_FIXTURES;
pub use triggers::WORKER_QUEUE_CATALOG_TOPIC;
pub use trust_graph::append_active_trust_record;
pub use trust_graph::append_trust_record;
pub use trust_graph::query_trust_records;
pub use trust_graph::resolve_agent_autonomy_tier;
pub use trust_graph::summarize_trust_records;
pub use trust_graph::topic_for_agent;
pub use trust_graph::AutonomyTier;
pub use trust_graph::TrustAgentSummary;
pub use trust_graph::TrustOutcome;
pub use trust_graph::TrustQueryFilters;
pub use trust_graph::TrustRecord;
pub use trust_graph::OPENTRUSTGRAPH_SCHEMA_V0;
pub use trust_graph::TRUST_GRAPH_GLOBAL_TOPIC;
pub use trust_graph::TRUST_GRAPH_TOPIC_PREFIX;
pub use value::*;

Modules§

a2a
agent_events
Agent event stream — the ACP-aligned observation surface for the agent loop.
agent_sessions
First-class session storage.
bridge
JSON-RPC 2.0 bridge for host communication.
checkpoint
Checkpoint system for resilient pipeline execution.
connectors
Connector traits and shared helpers for inbound event-source providers.
event_log
events
Structured event emission for observability.
iter
Lazy iterator protocol for the Harn VM.
jsonrpc
Shared JSON-RPC 2.0 message construction helpers.
llm
LLM integration: API calls, streaming, agent loops, tool handling, and tracing.
llm_config
mcp
MCP (Model Context Protocol) client for connecting to external tool servers.
mcp_card
MCP Server Card consumer + publisher (2026 MCP v2.1 spec, harn#75).
mcp_registry
Process-local MCP server registry for lazy boot + skill-scoped binding (harn#75).
mcp_server
MCP server mode: expose Harn tools, resources, resource templates, and prompts as MCP capabilities over stdio.
metadata
Project metadata store for Harn’s runtime state root.
observability
orchestration
record_filter
runtime_paths
schema
secrets
skills
Filesystem-and-host skill discovery for Harn.
stdlib
Standard library builtins for the Harn VM.
stdlib_modules
store
Persistent key-value store backed by Harn’s runtime state root.
tool_annotations
Tool annotations — the single source of truth for tool semantics.
tracing
Pipeline Observability: structured tracing spans with parent/child relationships.
triggers
trust_graph
value
visible_text
workspace_path

Structs§

AsyncBuiltinChildVmGuard
Chunk
A compiled chunk of bytecode.
CompileError
Compile error.
CompiledFunction
A compiled function (closure body).
Compiler
Compiles an AST into bytecode.
DebugState
Information about current execution state for the debugger.
HitlHostResponse
TriggerPredicateBudget
Vm
The Harn bytecode virtual machine.

Enums§

Constant
A constant value in the constant pool.
DebugAction
Debug action returned by the debug hook.
Op
Bytecode opcodes for the Harn VM.

Constants§

HITL_APPROVALS_TOPIC
HITL_DUAL_CONTROL_TOPIC
HITL_ESCALATIONS_TOPIC
HITL_QUESTIONS_TOPIC

Functions§

append_hitl_response
clone_async_builtin_child_vm
Clone the VM at the top of the async-builtin child VM stack, returning a fresh Vm instance the caller owns. Enables concurrent tool-handler execution within a single agent_loop iteration — the VM shares its heavy state (env, builtins, bridge, module_cache) via Arc/Rc, so cloning is cheap and each handler gets its own execution context.
compile_source
Lex, parse, type-check, and compile source to bytecode in one call. Bails on the first type error. For callers that need diagnostics rather than early exit, use harn_parser::check_source directly and then call Compiler::new().compile(&program).
install_async_builtin_child_vm
json_schema_for_type_expr
json_schema_for_typed_params
register_http_builtins
Register HTTP builtins on a VM.
reset_http_state
Reset thread-local HTTP mock state. Call between test runs.
reset_thread_local_state
Reset all thread-local state that can leak between test runs.
resolve_module_import_path
restore_async_builtin_child_vmDeprecated
Legacy no-op retained for backward compatibility.
take_async_builtin_child_vmDeprecated
Legacy API preserved for out-of-tree callers; new code should use clone_async_builtin_child_vm(). take/restore serialized concurrent callers because only one could hold the popped value at a time.