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
//! # File Management Module
//!
//! Provides file management for the Zhipu AI API: upload, list, content
//! retrieval, and deletion with validation and error handling.
//!
//! # Operations
//!
//! | Operation | Module | Description |
//! |-----------|--------|-------------|
//! | Upload | [`FileUploadRequest`] | Upload a local file |
//! | List | [`FileListRequest`] | List files with metadata |
//! | Content | [`FileContentRequest`] | Retrieve file content |
//! | Delete | [`FileDeleteRequest`] | Delete files |
//! | Parse | [`FileParseSyncRequest`] | Stream a local file to the synchronous parser |
//!
//! # Usage
//!
//! ```rust,no_run
//! use zai_rs::{ZaiResult, client::ZaiClient, file::*};
//!
//! # async fn example(client: &ZaiClient) -> ZaiResult<()> {
//! let uploaded = FileUploadRequest::new(FileUploadPurpose::Agent, "report.pdf")
//! .send_via(client)
//! .await?;
//!
//! let files = FileListRequest::new(FileListPurpose::Agent)
//! .with_query(FileListQuery::new(FileListPurpose::Agent).with_limit(10))
//! .send_via(client)
//! .await?;
//!
//! let content = FileContentRequest::new("file-id").send_via(client).await?;
//! let deleted = FileDeleteRequest::new("file-id").send_via(client).await?;
//! let parsed = FileParseSyncRequest::new("report.pdf")
//! .with_file_type(FileParseSyncFileType::PDF)
//! .send_via(client)
//! .await?;
//! # let _ = (uploaded, files, content, deleted, parsed);
//! # Ok(())
//! # }
//! ```
/// Request body / shared types for file operations.
/// Response types for file operations.
/// Retrieve file content (`GET …/files/{id}/content`).
/// Delete a file (`DELETE …/files/{id}`).
/// List files with metadata (`GET …/files`).
/// Synchronous file parsing (`POST …/files/parser/sync`).
/// Upload files (`POST …/files`, multipart).
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;