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
77
78
//! # File Management Module
//!
//! Provides comprehensive file management capabilities for the Zhipu AI API.
//! This module handles file uploads, content retrieval, listing, and deletion
//! operations with proper error handling and validation.
//!
//! ## Module Components
//!
//! - [`content`] - File content retrieval operations
//! - [`delete`] - File deletion functionality
//! - [`list`] - File listing and enumeration
//! - [`request`] - Request types for file operations
//! - [`response`] - Response types for file operations
//! - [`upload`] - File upload functionality
//!
//! ## Supported Operations
//!
//! ### File Upload
//! - Upload files to the Zhipu AI storage system
//! - Support for various file types and formats
//! - Automatic validation and error handling
//!
//! ### File Management
//! - List available files with metadata
//! - Retrieve file content and information
//! - Delete files when no longer needed
//!
//! ## Usage Examples
//!
//! ### Upload a file
//! ```rust,ignore
//! use zai_rs::file::{FileUploadRequest, ContentType};
//! use tokio::fs::File;
//!
//! let file = File::open("document.pdf").await?;
//! let request = FileUploadRequest::new(file, ContentType::Pdf);
//! let result = client.upload_file(&request).await?;
//! ```
//!
//! ### List files
//! ```rust,ignore
//! use zai_rs::file::FileListRequest;
//!
//! let request = FileListRequest::new().limit(10);
//! let files = client.list_files(&request).await?;
//! ```
//!
//! ### Get file content
//! ```rust,ignore
//! use zai_rs::file::FileContentRequest;
//!
//! let request = FileContentRequest::new(file_id);
//! let content = client.get_file_content(&request).await?;
//! ```
//!
//! ### Delete a file
//! ```rust,ignore
//! use zai_rs::file::FileDeleteRequest;
//!
//! let request = FileDeleteRequest::new(file_id);
//! client.delete_file(&request).await?;
//! ```
// Split operations into clear modules
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;