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 cli;
7pub mod config;
8pub mod constants;
9pub mod integrations;
10pub mod llm;
11pub mod memory;
12pub mod prompt;
13pub mod runtime;
14pub mod sdk;
15pub mod skills;
16pub mod tools;
17pub mod types;
18pub mod workspace;
19
20pub use config::{
21    apply_resolved_model_limits, build_vv_llm_from_local_settings, build_vv_llm_settings,
22    decode_api_key, load_llm_settings_from_file, load_memory_summary_defaults_from_file,
23    resolve_model_endpoint, ConfigError, EndpointConfig, EndpointOption, MemorySummaryDefaults,
24    ResolvedModelConfig,
25};
26pub use llm::{
27    EndpointTarget, LLMClient, LlmClient, LlmError, LlmRequest, LlmStreamCallback, ScriptStep,
28    ScriptStepCallback, ScriptedLLM, ScriptedLlmClient, VVLlmClient, VvLlmClient,
29};
30pub use memory::{
31    sanitize_for_resume, CompactionExhaustedError, LocalSummary, MemoryManager,
32    MemoryManagerConfig, SessionMemory, SessionMemoryConfig, SessionMemoryEntry,
33    SessionMemoryState, SummaryCallback,
34};
35pub use runtime::backends::{
36    run_checkpointed_cycle, CeleryBackend, CycleDispatchResult, CycleDispatcher,
37    CycleTaskDispatchResult, CycleTaskDispatcher, DistributedBackend, InlineBackend,
38    RuntimeExecutionBackend, RuntimeRecipe, ThreadBackend,
39};
40pub use runtime::background_sessions::{
41    background_session_manager, BackgroundSessionAdoptOptions, BackgroundSessionListener,
42    BackgroundSessionManager, BackgroundSessionStartOptions, BackgroundSessionSubscription,
43};
44pub use runtime::shell::{
45    build_shell_invocation, prepare_shell_execution, resolve_shell_invocation,
46    PreparedShellCommand, ShellInvocation,
47};
48pub use runtime::state::{Checkpoint, InMemoryStateStore, StateStore};
49pub use runtime::stores::redis::RedisStateStore;
50pub use runtime::stores::sqlite::SqliteStateStore;
51pub use runtime::sub_task_manager::{
52    ManagedSubTask, ManagedSubTaskSnapshot, SubTaskManager, SubTaskSessionAttachment,
53};
54pub use runtime::{
55    _register_sub_agent_session, _unregister_sub_agent_session, continue_sub_agent_session,
56    get_sub_agent_session, register_sub_agent_session, steer_sub_agent_session,
57    sub_agent_session_registry, subscribe_sub_agent_session, unregister_sub_agent_session,
58    AfterLLMEvent, AfterLlmEvent, AfterToolCallEvent, AgentRuntime, BaseRuntimeHook,
59    BeforeCycleMessageProvider, BeforeLLMEvent, BeforeLLMPatch, BeforeLlmEvent, BeforeLlmPatch,
60    BeforeMemoryCompactEvent, BeforeToolCallEvent, BeforeToolCallPatch, CancellationToken,
61    CancelledError, CycleRunRequest, CycleRunner, ExecutionBackend, ExecutionContext,
62    InterruptionMessageProvider, RuntimeEventHandler, RuntimeHook, RuntimeHookManager,
63    RuntimeRunControls, StreamCallback, SubAgentSession, SubAgentSessionListener,
64    SubAgentSessionRegistry, SubAgentSessionUnsubscribe, ToolCallRunner, ToolRunOutcome,
65    ToolRunRequest, MAX_PROMPT_TOO_LONG_RETRIES, MAX_PTL_RETRIES,
66};
67pub use sdk::{
68    create_agent_session, create_agent_session_with_id, create_agent_session_with_id_and_workspace,
69    create_agent_session_with_id_and_workspace_and_shared_state,
70    create_agent_session_with_shared_state, create_agent_session_with_workspace,
71    create_agent_session_with_workspace_and_shared_state, query, query_with_options_and_agent,
72    query_with_options_and_agent_in_workspace,
73    query_with_options_and_agent_in_workspace_with_require_completed,
74    query_with_options_and_agent_request,
75    query_with_options_and_agent_request_with_require_completed,
76    query_with_options_and_agent_with_require_completed, run, run_with_options_and_agent,
77    run_with_options_and_agent_in_workspace, run_with_options_and_agent_request, AgentDefinition,
78    AgentResourceLoader, AgentRun, AgentSDKClient, AgentSDKOptions, AgentSession,
79    AgentSessionRunRequest, AgentSessionState, LlmBuilder, SdkLlmClient, SessionCancellationHandle,
80    SessionEventHandler, SessionListenerId, SessionSteeringHandle, ToolRegistryFactory,
81};
82pub use tools::{
83    build_default_registry, dispatch_tool_call, ToolContext, ToolHandler, ToolNotFoundError,
84    ToolRegistry, ToolSpec,
85};
86pub use types::{
87    AgentResult, AgentStatus, AgentTask, CycleRecord, CycleStatus, LLMResponse, Message,
88    MessageRole, NoToolPolicy, SubAgentConfig, SubTaskOutcome, SubTaskRequest, TaskTokenUsage,
89    TokenUsage, ToolCall, ToolDirective, ToolExecutionResult, ToolResultStatus,
90};
91pub use workspace::{
92    FileInfo, LocalWorkspaceBackend, MemoryWorkspaceBackend, S3WorkspaceBackend, S3WorkspaceConfig,
93    WorkspaceBackend,
94};