pub mod client;
pub mod completion;
pub mod embedding;
pub mod interactions_api;
pub mod model_listing;
pub mod streaming;
pub mod transcription;
pub use client::{Client, InteractionsClient};
pub use completion::CompletionModel;
pub use embedding::{EMBEDDING_001, EMBEDDING_004, EmbeddingModel};
pub use model_listing::*;
pub mod gemini_api_types {
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ExecutionLanguage {
LanguageUnspecified,
Python,
}
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct ExecutableCode {
pub language: ExecutionLanguage,
pub code: String,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct CodeExecutionResult {
pub outcome: CodeExecutionOutcome,
#[serde(skip_serializing_if = "Option::is_none")]
pub output: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub enum CodeExecutionOutcome {
#[serde(rename = "OUTCOME_UNSPECIFIED")]
Unspecified,
#[serde(rename = "OUTCOME_OK")]
Ok,
#[serde(rename = "OUTCOME_FAILED")]
Failed,
#[serde(rename = "OUTCOME_DEADLINE_EXCEEDED")]
DeadlineExceeded,
}
}