Skip to main content

Crate ai

Crate ai 

Source

Re-exports§

pub use agent::Agent;
pub use agent::AgentOptions;
pub use agent::AgentOptionsBuilder;
pub use agent::AgentPrepareNextTurnFn;
pub use agent::AgentState;
pub use agent::AgentStateBuilder;
pub use agent::AgentSubscription;
pub use agent_error::AgentError;
pub use agent_error::AgentResult;
pub use agent_loop::AgentEventStream;
pub use agent_loop::agent_loop;
pub use agent_loop::agent_loop_continue;
pub use agent_loop::run_agent_loop;
pub use agent_loop::run_agent_loop_continue;
pub use env_api_keys::ANTHROPIC_API_KEY_ENV_VAR;
pub use env_api_keys::ANTHROPIC_OAUTH_TOKEN_ENV_VAR;
pub use env_api_keys::GITHUB_COPILOT_TOKEN_ENV_VAR;
pub use env_api_keys::KnownProvider;
pub use env_api_keys::OPENAI_API_KEY_ENV_VAR;
pub use env_api_keys::get_env_api_key;
pub use error::Error;
pub use error::Result;
pub use event_stream::AssistantEventStream;
pub use event_stream::AssistantMessageEventStreamSender;
pub use event_stream::create_assistant_message_event_stream;
pub use oauth::AnthropicOAuthProvider;
pub use oauth::GitHubCopilotOAuthProvider;
pub use oauth::OAuthApiKey;
pub use oauth::OAuthAuthCallback;
pub use oauth::OAuthAuthInfo;
pub use oauth::OAuthCredentials;
pub use oauth::OAuthDeviceCodeInfo;
pub use oauth::OAuthDeviceCodePollResult;
pub use oauth::OAuthLoginCallbacks;
pub use oauth::OAuthLoginCallbacksBuilder;
pub use oauth::OAuthManualCodeInputCallback;
pub use oauth::OAuthPrompt;
pub use oauth::OAuthProvider;
pub use oauth::OAuthProviderId;
pub use oauth::OAuthProviderInfo;
pub use oauth::OAuthProviderInterface;
pub use oauth::OAuthSelectCallback;
pub use oauth::OAuthSelectOption;
pub use oauth::OAuthSelectPrompt;
pub use oauth::anthropic_oauth_provider;
pub use oauth::exchange_anthropic_authorization_code;
pub use oauth::get_oauth_provider;
pub use oauth::get_oauth_provider_info_list;
pub use oauth::get_oauth_providers;
pub use oauth::github_copilot_oauth_provider;
pub use oauth::login_anthropic;
pub use oauth::login_github_copilot;
pub use oauth::modify_github_copilot_models;
pub use oauth::normalize_domain;
pub use oauth::poll_oauth_device_code_flow;
pub use oauth::refresh_anthropic_token;
pub use oauth::refresh_github_copilot_token;
pub use oauth::refresh_oauth_token;
pub use oauth::register_oauth_provider;
pub use oauth::reset_oauth_providers;
pub use oauth::unregister_oauth_provider;
pub use provider::LanguageModelApi;
pub use provider::ModelBuilder;
pub use provider::Provider;
pub use provider::ProviderCapabilities;
pub use providers::anthropic::Anthropic;
pub use providers::anthropic::AnthropicEffort;
pub use providers::anthropic::AnthropicOptions;
pub use providers::anthropic::AnthropicThinkingDisplay;
pub use providers::faux::FauxAssistantContent;
pub use providers::faux::FauxAssistantMessageOptions;
pub use providers::faux::FauxModelDefinition;
pub use providers::faux::FauxProviderRegistration;
pub use providers::faux::FauxProviderState;
pub use providers::faux::FauxResponseStep;
pub use providers::faux::FauxTokenSize;
pub use providers::faux::RegisterFauxProviderOptions;
pub use providers::faux::faux_assistant_message;
pub use providers::faux::faux_text;
pub use providers::faux::faux_thinking;
pub use providers::faux::faux_tool_call;
pub use providers::faux::register_faux_provider;
pub use providers::github_copilot::GitHubCopilot;
pub use providers::github_copilot::GitHubCopilotApi;
pub use providers::openai::OpenAi;
pub use providers::openai::OpenAiApi;
pub use providers::openai_completions::OpenAICompletionsOptions;
pub use providers::openai_responses::OpenAIResponsesOptions;
pub use providers::register_builtins::stream_anthropic;
pub use providers::register_builtins::stream_openai_completions;
pub use providers::register_builtins::stream_openai_responses;
pub use providers::register_builtins::stream_simple_anthropic;
pub use providers::register_builtins::stream_simple_openai_completions;
pub use providers::register_builtins::stream_simple_openai_responses;
pub use session_resources::SessionResourceCleanup;
pub use session_resources::SessionResourceCleanupRegistration;
pub use session_resources::cleanup_session_resources;
pub use session_resources::register_session_resource_cleanup;
pub use stream::complete;
pub use stream::complete_simple;
pub use stream::stream;
pub use stream::stream_simple;
pub use utils::diagnostics::AssistantMessageDiagnostic;
pub use utils::diagnostics::DiagnosticErrorInfo;
pub use utils::diagnostics::append_assistant_message_diagnostic;
pub use utils::diagnostics::create_assistant_message_diagnostic;
pub use utils::diagnostics::extract_diagnostic_error;
pub use utils::diagnostics::format_thrown_value;
pub use utils::json::parse_json_with_repair;
pub use utils::json::parse_streaming_json;
pub use utils::json::repair_json;
pub use utils::overflow::get_overflow_patterns;
pub use utils::overflow::is_context_overflow;
pub use utils::validation::validate_tool_arguments;
pub use utils::validation::validate_tool_call;
pub use agent_types::*;
pub use types::*;

Modules§

agent
agent_error
agent_loop
agent_types
env_api_keys
error
event_stream
oauth
provider
providers
session_resources
stream
types
utils

Functions§

calculate_cost
clamp_thinking_level
get_supported_thinking_levels
models_are_equal