pub struct File {
pub file_data: Option<String>,
pub file_id: Option<String>,
pub filename: Option<String>,
pub file_url: Option<String>,
}Expand description
A file attachment for multimodal input.
Fields§
§file_data: Option<String>Base64-encoded file data.
file_id: Option<String>The ID of a previously uploaded file.
filename: Option<String>The filename for display purposes.
file_url: Option<String>A URL to fetch the file from.
Implementations§
Source§impl File
impl File
Sourcepub fn file_content(&self) -> Option<FileContent<'_>>
pub fn file_content(&self) -> Option<FileContent<'_>>
Returns extractable file content if inline file data is present.
Files referenced only by URL or ID return None (kept inline).
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for File
impl<'arbitrary> Arbitrary<'arbitrary> for File
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§impl CommandResponse for File
Available on crate feature mcp only.
impl CommandResponse for File
Available on crate feature
mcp only.fn into_mcp(self) -> McpResponseItem
Source§impl<'de> Deserialize<'de> for File
impl<'de> Deserialize<'de> for File
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for File
Source§impl From<File> for ContentBlock
Direct conversion from a typed File to a ContentBlock.
Multi-field collapse:
file_data > file_url > file_id by precedence. Lower-priority
fields are dropped; filename rides through via _meta.
impl From<File> for ContentBlock
Direct conversion from a typed File to a ContentBlock.
Multi-field collapse:
file_data > file_url > file_id by precedence. Lower-priority
fields are dropped; filename rides through via _meta.
Source§impl FromSpecial for File
impl FromSpecial for File
fn from_special( _special: &Special, _params: &Params<'_, '_>, ) -> Result<Self, ExpressionError>
Source§impl FromStarlarkValue for File
impl FromStarlarkValue for File
fn from_starlark_value( value: &StarlarkValue<'_>, ) -> Result<Self, ExpressionError>
Source§impl JsonSchema for File
impl JsonSchema for File
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreimpl StructuralPartialEq for File
Source§impl ToStarlarkValue for File
impl ToStarlarkValue for File
fn to_starlark_value<'v>(&self, heap: &'v StarlarkHeap) -> StarlarkValue<'v>
Auto Trait Implementations§
impl Freeze for File
impl RefUnwindSafe for File
impl Send for File
impl Sync for File
impl Unpin for File
impl UnsafeUnpin for File
impl UnwindSafe for File
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more