Skip to main content

agnt5_sdk_core/
lib.rs

1// AGNT5 SDK Core - Simple, focused foundation for worker coordination
2
3pub mod adk;
4pub mod chat;
5pub mod client;
6pub mod context;
7pub mod core_metrics;
8pub mod error;
9pub mod eval;
10pub mod external_worker_identity;
11pub mod journal_queue;
12pub mod lm;
13pub mod logging;
14pub mod mcp;
15pub mod memory_service;
16pub mod runtime_adapter;
17pub mod sandbox;
18pub mod span_filter;
19pub mod telemetry;
20pub mod webhook;
21pub mod worker;
22
23// Re-export main types
24pub use adk::{
25    AgentHandle, ContextHandle, DeterministicUtils, RuntimeControls, RuntimeServiceClient,
26    SignalControls, TaskControls, TimerControls, ToolDefinition, ToolHandle, ToolRegistry,
27};
28pub use client::{build_engine_record, CheckpointResult, EngineClient, WorkerCoordinatorClient};
29pub use context::{
30    ContextConfig, CoreContext, FunctionCall, FunctionHandle, FunctionNamespace, FunctionRegistry,
31    FunctionResult, FunctionStatus, LanguageModelNamespace, SignalNamespace, TimerActivationClient,
32    TimerNamespace,
33};
34pub use error::{Result, SdkError};
35pub use eval::{
36    contains, exact_match, json_valid, levenshtein, llm_judge, regex_match, trace_score,
37    ContainsConfig, ExactMatchConfig, LevenshteinConfig, LlmJudgeConfig, RegexConfig, ScorerInput,
38    ScorerResult, TraceAssertion, TraceEvent,
39};
40pub use journal_queue::{
41    JournalEventMessage, JournalEventQueue, JournalQueueConfig, JournalQueueMetrics,
42};
43pub use lm::{
44    generate, stream, AnthropicConfig, AnthropicProvider, AzureOpenAiConfig, AzureOpenAiProvider,
45    BasetenConfig, BasetenProvider, BedrockConfig, BedrockProvider, BuiltInTool, Embedder,
46    EmbedderRegistry, FireworksConfig, FireworksProvider, GenerateRequest, GenerateResponse,
47    GenerationConfig, GroqConfig, GroqProvider, JsonSchemaFormat, LanguageModel, LeptonConfig,
48    LeptonProvider, Message, MessageRole, Modality, OpenAiChatConfig, OpenAiChatProvider,
49    OpenAiConfig, OpenAiEmbedder, OpenAiEmbedderConfig, OpenAiEmbeddingModel, OpenAiProvider,
50    OpenRouterConfig, OpenRouterProvider, PromptRef, ReasoningEffort, ResponseFormat, StreamChunk,
51    StreamHandle, StreamRequest, TogetherConfig, TogetherProvider, TokenUsage, ToolChoice,
52};
53pub use logging::{clear_error_buffer, get_error_buffer, init_logging};
54pub use runtime_adapter::{
55    activation_decision, ActivationAdapter, ActivationCompletionReceipt, ActivationDecision,
56    ActivationExecutionReceipt, ActivationFailureReceipt, ActivationReplayReceipt,
57    ActivationSuspensionReceipt, DummyStateManager, EntityStateLoadResult, EntityStateManager,
58    EntityStateSaveResult, InvocationRequest, InvocationResponse, RuntimeAdapter,
59    RuntimeCapabilities, RuntimeContext, StateManager,
60};
61pub use sandbox::{
62    CreateSandboxOptions, ExecuteCodeRequest, ExecuteCodeResult, FileInfo, Language,
63    ListFilesResult, ReadFileResult, RemoteSandbox, RemoteSandboxConfig, SandboxAuth,
64    SandboxBackend, SandboxBackendKind, SandboxCapabilities, SandboxExecutor, SandboxHealthResult,
65    SandboxInfo, SandboxProvider, SandboxRegistry, SandboxWorkspace, StreamEvent, WriteFileRequest,
66    WriteFileResult,
67};
68#[cfg(feature = "wasm-sandbox")]
69pub use sandbox::{WasmSandbox, WasmSandboxConfig};
70pub use telemetry::{
71    create_component_span, create_function_span, create_sandbox_span, end_span,
72    extract_context_from_runtime_message, init_telemetry, record_execution_request,
73    record_execution_request_with_attrs, record_sandbox_error, record_sandbox_success,
74    record_span_error, record_span_success, record_worker_memory_bytes, shutdown_telemetry,
75};
76pub use worker::Worker;
77
78// MCP (Model Context Protocol) support
79pub use mcp::{
80    McpClient, McpError, McpResult, McpTool, McpToolWithServer, ServerConfig, SseConfig,
81    StdioConfig, Transport,
82};
83
84// Re-export flume for language bindings
85pub use flume;
86
87// Generated protobuf modules
88pub mod pb {
89    tonic::include_proto!("api.v1");
90}
91
92// Re-export checkpoint types for language bindings
93pub use pb::CheckpointType;
94
95#[cfg(test)]
96mod tests {
97    #[test]
98    fn it_works() {
99        let result = 2 + 2;
100        assert_eq!(result, 4);
101    }
102}