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 app_server;
8pub mod approval;
9pub mod cli;
10pub mod config;
11pub mod constants;
12pub mod context;
13pub mod context_providers;
14pub mod event_store;
15pub mod events;
16pub mod execution_mode;
17pub mod guardrails;
18pub mod handoffs;
19pub mod integrations;
20pub mod llm;
21pub mod memory;
22pub mod model;
23pub mod model_settings;
24pub mod prompt;
25pub mod result;
26pub mod run_config;
27pub mod run_handle;
28pub mod runner;
29pub mod runtime;
30pub mod sessions;
31pub mod skills;
32pub mod tools;
33pub mod tracing;
34pub mod types;
35pub mod workspace;
36
37pub use agent::{Agent, ToolUseBehavior};
38pub use approval::{
39    ApprovalBroker, ApprovalError, ApprovalFuture, ApprovalProvider, ApprovalRequest,
40};
41pub use config::{
42    apply_resolved_model_limits, build_vv_llm_from_local_settings, build_vv_llm_settings,
43    decode_api_key, load_llm_settings_from_file, load_memory_summary_defaults_from_file,
44    resolve_model_endpoint, ConfigError, EndpointConfig, EndpointOption, MemorySummaryDefaults,
45    ResolvedModelConfig,
46};
47pub use context::{RunContext, ToolCallContext};
48pub use context_providers::{
49    assemble_context_fragments, collect_context_fragments, ContextBundle, ContextError,
50    ContextFragment, ContextProvider, ContextRequest, ContextSection,
51};
52pub use event_store::{
53    EventStoreError, JsonlRunEventStore, RunEventIter, RunEventReplayQuery, RunEventStore,
54};
55pub use events::{
56    AgentErrorPayload, EventId, RunEvent, RunEventPayload, RunEventVersion, ToolStatus,
57};
58pub use execution_mode::ExecutionMode;
59pub use guardrails::{GuardrailOutcome, InputGuardrail, OutputGuardrail};
60pub use handoffs::{handoff, Handoff};
61pub use llm::{
62    EndpointTarget, LlmClient, LlmError, LlmRequest, LlmStreamCallback, ScriptStep,
63    ScriptStepCallback, ScriptedLlmClient, VvLlmClient,
64};
65pub use memory::{
66    sanitize_for_resume, CompactionExhaustedError, LocalSummary, MemoryError, MemoryFuture,
67    MemoryManager, MemoryManagerConfig, MemoryProvider, MemoryProviderResult, MemorySaveRequest,
68    MemorySaveResult, MemorySearchRequest, MemorySearchResult, SessionMemory, SessionMemoryConfig,
69    SessionMemoryEntry, SessionMemoryState, SummaryCallback,
70};
71pub use model::{ModelError, ModelProvider, ModelRef, ScriptedModelProvider, VvLlmModelProvider};
72pub use model_settings::{ModelSettings, ResponseFormat, RetryPolicy, ToolChoice};
73pub use result::{RunResult, RunState};
74pub use run_config::RunConfig;
75pub use run_handle::{RunHandle, RunHandleState, RunHandleStatus};
76pub use runner::{NormalizedInput, RunEventStream, Runner};
77pub use runtime::backends::{
78    run_checkpointed_cycle, CycleDispatchResult, CycleDispatcher, DistributedBackend,
79    InlineBackend, RuntimeExecutionBackend, RuntimeRecipe, ThreadBackend,
80};
81pub use runtime::background_sessions::{
82    background_session_manager, BackgroundSessionAdoptOptions, BackgroundSessionListener,
83    BackgroundSessionManager, BackgroundSessionStartOptions, BackgroundSessionSubscription,
84};
85pub use runtime::shell::{
86    build_shell_invocation, prepare_shell_execution, resolve_shell_invocation,
87    PreparedShellCommand, ShellInvocation,
88};
89pub use runtime::state::{Checkpoint, InMemoryStateStore, StateStore};
90pub use runtime::stores::redis::RedisStateStore;
91pub use runtime::stores::sqlite::SqliteStateStore;
92pub use runtime::sub_task_manager::{
93    ManagedSubTask, ManagedSubTaskSnapshot, SubTaskManager, SubTaskSessionAttachment,
94};
95pub use runtime::{
96    _register_sub_agent_session, _unregister_sub_agent_session, continue_sub_agent_session,
97    get_sub_agent_session, register_sub_agent_session, steer_sub_agent_session,
98    sub_agent_session_registry, subscribe_sub_agent_session, unregister_sub_agent_session,
99    AfterLlmEvent, AfterToolCallEvent, AgentRuntime, BeforeCycleMessageProvider, BeforeLlmEvent,
100    BeforeLlmPatch, BeforeMemoryCompactEvent, BeforeToolCallEvent, BeforeToolCallPatch,
101    CancellationToken, CancelledError, CycleRunRequest, CycleRunner, ExecutionContext,
102    InterruptionMessageProvider, RuntimeEventHandler, RuntimeHook, RuntimeHookManager,
103    RuntimeRunControls, StreamCallback, SubAgentSession, SubAgentSessionListener,
104    SubAgentSessionRegistry, SubAgentSessionUnsubscribe, ToolCallRunner, ToolRunOutcome,
105    ToolRunRequest, MAX_PROMPT_TOO_LONG_RETRIES, MAX_PTL_RETRIES,
106};
107pub use sessions::{
108    session_store_conformance, MemorySession, Session, SessionItem, SessionStore,
109    SqliteSessionStore,
110};
111pub use tools::{
112    build_default_registry, dispatch_tool_call, AgentTool, AgentToolBuilder, ApprovalDecision,
113    ApprovalPolicy, ApprovalRequirement, BackgroundAgentTask, BackgroundAgentTaskBuilder,
114    BackgroundAgentTaskHandle, BackgroundAgentTaskSnapshot, FunctionTool, StaticTool, Tool,
115    ToolContext, ToolError, ToolExecutor, ToolExposure, ToolFuture, ToolHandler, ToolNotFoundError,
116    ToolOrchestrator, ToolOutput, ToolPolicy, ToolRegistry, ToolRunContext, ToolRunOptions,
117    ToolSpec, ToolSpecContext, ToolSpecExecutor, ToolSpecKind,
118};
119pub use tracing::{JsonlTraceExporter, Span, TraceSink};
120pub use types::{
121    AgentResult, AgentStatus, AgentTask, CycleRecord, CycleStatus, LLMResponse, Message,
122    MessageRole, NoToolPolicy, SubAgentConfig, SubTaskOutcome, SubTaskRequest, TaskTokenUsage,
123    TokenUsage, ToolCall, ToolDirective, ToolExecutionResult, ToolResultStatus,
124};
125pub use workspace::{
126    FileInfo, LocalWorkspaceBackend, MemoryWorkspaceBackend, S3WorkspaceBackend, S3WorkspaceConfig,
127    WorkspaceBackend,
128};