pub enum CompactInputItem {
Message {
role: String,
content: CompactContent,
},
FunctionCall {
call_id: String,
name: String,
arguments: String,
},
FunctionCallOutput {
call_id: String,
output: String,
},
Compaction {
encrypted_content: String,
},
}Expand description
Input item for compact request
These are the same types as ResponsesInputItem but exposed publicly for callers to construct compact requests.
Variants§
Message
A message (user, assistant, or developer)
FunctionCall
A function call from the assistant
FunctionCallOutput
Output from a function call
Compaction
A compaction item (from a previous compact call)
Implementations§
Source§impl CompactInputItem
impl CompactInputItem
Sourcepub fn from_llm_message(msg: &LlmMessage) -> Vec<CompactInputItem>
pub fn from_llm_message(msg: &LlmMessage) -> Vec<CompactInputItem>
Convert an LlmMessage to CompactInputItem(s)
An assistant message with tool_calls is expanded into multiple items: one Message for the text content and one FunctionCall for each tool call.
Trait Implementations§
Source§impl Clone for CompactInputItem
impl Clone for CompactInputItem
Source§fn clone(&self) -> CompactInputItem
fn clone(&self) -> CompactInputItem
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompactInputItem
impl Debug for CompactInputItem
Source§impl<'de> Deserialize<'de> for CompactInputItem
impl<'de> Deserialize<'de> for CompactInputItem
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompactInputItem, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompactInputItem, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for CompactInputItem
impl Serialize for CompactInputItem
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for CompactInputItem
impl RefUnwindSafe for CompactInputItem
impl Send for CompactInputItem
impl Sync for CompactInputItem
impl Unpin for CompactInputItem
impl UnsafeUnpin for CompactInputItem
impl UnwindSafe for CompactInputItem
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request