Skip to main content

vv_agent/
lib.rs

1//! VectorVein agent runtime, SDK, CLI, tools, memory, prompt, and workspace APIs.
2//!
3//! This crate exposes a stable Rust library surface for building and running
4//! agent workflows with built-in tool dispatch and vv-llm backed chat clients.
5
6pub mod agent;
7pub mod cli;
8pub mod config;
9pub mod constants;
10pub mod context;
11pub mod events;
12pub mod execution_mode;
13pub mod guardrails;
14pub mod handoffs;
15pub mod integrations;
16pub mod llm;
17pub mod memory;
18pub mod model;
19pub mod model_settings;
20pub mod prompt;
21pub mod result;
22pub mod run_config;
23pub mod runner;
24pub mod runtime;
25pub mod sessions;
26pub mod skills;
27pub mod tools;
28pub mod tracing;
29pub mod types;
30pub mod workspace;
31
32pub use agent::{Agent, ToolUseBehavior};
33pub use config::{
34    apply_resolved_model_limits, build_vv_llm_from_local_settings, build_vv_llm_settings,
35    decode_api_key, load_llm_settings_from_file, load_memory_summary_defaults_from_file,
36    resolve_model_endpoint, ConfigError, EndpointConfig, EndpointOption, MemorySummaryDefaults,
37    ResolvedModelConfig,
38};
39pub use context::{RunContext, ToolCallContext};
40pub use events::{AgentErrorPayload, RunEvent, ToolStatus};
41pub use execution_mode::ExecutionMode;
42pub use guardrails::{GuardrailOutcome, InputGuardrail, OutputGuardrail};
43pub use handoffs::{handoff, Handoff};
44pub use llm::{
45    EndpointTarget, LlmClient, LlmError, LlmRequest, LlmStreamCallback, ScriptStep,
46    ScriptStepCallback, ScriptedLlmClient, VvLlmClient,
47};
48pub use memory::{
49    sanitize_for_resume, CompactionExhaustedError, LocalSummary, MemoryManager,
50    MemoryManagerConfig, SessionMemory, SessionMemoryConfig, SessionMemoryEntry,
51    SessionMemoryState, SummaryCallback,
52};
53pub use model::{ModelError, ModelProvider, ModelRef, ScriptedModelProvider, VvLlmModelProvider};
54pub use model_settings::{ModelSettings, ResponseFormat, RetryPolicy, ToolChoice};
55pub use result::{RunResult, RunState};
56pub use run_config::RunConfig;
57pub use runner::{NormalizedInput, RunEventStream, Runner};
58pub use runtime::backends::{
59    run_checkpointed_cycle, CycleDispatchResult, CycleDispatcher, DistributedBackend,
60    InlineBackend, RuntimeExecutionBackend, RuntimeRecipe, ThreadBackend,
61};
62pub use runtime::background_sessions::{
63    background_session_manager, BackgroundSessionAdoptOptions, BackgroundSessionListener,
64    BackgroundSessionManager, BackgroundSessionStartOptions, BackgroundSessionSubscription,
65};
66pub use runtime::shell::{
67    build_shell_invocation, prepare_shell_execution, resolve_shell_invocation,
68    PreparedShellCommand, ShellInvocation,
69};
70pub use runtime::state::{Checkpoint, InMemoryStateStore, StateStore};
71pub use runtime::stores::redis::RedisStateStore;
72pub use runtime::stores::sqlite::SqliteStateStore;
73pub use runtime::sub_task_manager::{
74    ManagedSubTask, ManagedSubTaskSnapshot, SubTaskManager, SubTaskSessionAttachment,
75};
76pub use runtime::{
77    _register_sub_agent_session, _unregister_sub_agent_session, continue_sub_agent_session,
78    get_sub_agent_session, register_sub_agent_session, steer_sub_agent_session,
79    sub_agent_session_registry, subscribe_sub_agent_session, unregister_sub_agent_session,
80    AfterLlmEvent, AfterToolCallEvent, AgentRuntime, BeforeCycleMessageProvider, BeforeLlmEvent,
81    BeforeLlmPatch, BeforeMemoryCompactEvent, BeforeToolCallEvent, BeforeToolCallPatch,
82    CancellationToken, CancelledError, CycleRunRequest, CycleRunner, ExecutionContext,
83    InterruptionMessageProvider, RuntimeEventHandler, RuntimeHook, RuntimeHookManager,
84    RuntimeRunControls, StreamCallback, SubAgentSession, SubAgentSessionListener,
85    SubAgentSessionRegistry, SubAgentSessionUnsubscribe, ToolCallRunner, ToolRunOutcome,
86    ToolRunRequest, MAX_PROMPT_TOO_LONG_RETRIES, MAX_PTL_RETRIES,
87};
88pub use sessions::{
89    session_store_conformance, MemorySession, Session, SessionItem, SessionStore,
90    SqliteSessionStore,
91};
92pub use tools::{
93    build_default_registry, dispatch_tool_call, AgentTool, AgentToolBuilder, ApprovalDecision,
94    ApprovalPolicy, BackgroundAgentTask, BackgroundAgentTaskBuilder, BackgroundAgentTaskHandle,
95    BackgroundAgentTaskSnapshot, FunctionTool, StaticTool, Tool, ToolContext, ToolHandler,
96    ToolNotFoundError, ToolOutput, ToolPolicy, ToolRegistry, ToolSpec,
97};
98pub use tracing::{JsonlTraceExporter, Span, TraceSink};
99pub use types::{
100    AgentResult, AgentStatus, AgentTask, CycleRecord, CycleStatus, LLMResponse, Message,
101    MessageRole, NoToolPolicy, SubAgentConfig, SubTaskOutcome, SubTaskRequest, TaskTokenUsage,
102    TokenUsage, ToolCall, ToolDirective, ToolExecutionResult, ToolResultStatus,
103};
104pub use workspace::{
105    FileInfo, LocalWorkspaceBackend, MemoryWorkspaceBackend, S3WorkspaceBackend, S3WorkspaceConfig,
106    WorkspaceBackend,
107};