1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//! Rust types for the xAI API.
//!
//! This crate provides type definitions for interacting with the xAI API,
//! including support for Grok models via chat completions, embeddings,
//! image generation, and more.
//!
//! # Overview
//!
//! The types in this crate are organized by API endpoint:
//!
//! - [`chat`] - Chat completions API (`/v1/chat/completions`)
//! - [`responses`] - Responses API (`/v1/responses`)
//! - [`embeddings`] - Embeddings API (`/v1/embeddings`)
//! - [`images`] - Image generation API (`/v1/images/generations`)
//! - [`models`] - Models API (`/v1/models`, `/v1/language-models`, etc.)
//! - [`messages`] - Anthropic-compatible messages API (`/v1/messages`)
//! - [`search`] - Document search API (`/v1/documents/search`)
//! - [`tokenize`] - Tokenization API (`/v1/tokenize-text`)
//!
//! # Features
//!
//! - `std` (default) - Enable std library support. Uses `std::collections::HashMap`.
//! - When `std` is disabled (`no_std`), uses `hashbrown::HashMap` and requires `alloc`.
//!
//! # Example
//!
//! ```ignore
//! use xai_openapi::chat::{ChatRequest, Message};
//!
//! let request = ChatRequest {
//! model: Some("grok-3".to_string()),
//! messages: vec![Message::User {
//! content: "Hello!".into(),
//! name: None,
//! }],
//! ..Default::default()
//! };
//! ```
extern crate alloc;
// Re-export HashMap based on feature flag
pub use HashMap;
pub use HashMap;
// Re-export commonly used types at crate root for convenience
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use Usage;