pub struct HandleRegistry { /* private fields */ }Expand description
Registry that owns all active handles and generates sequential ref-labels.
Implementations§
Source§impl HandleRegistry
impl HandleRegistry
pub fn new() -> Self
Sourcepub fn register(
&mut self,
item_id: ContextItemId,
kind: ContextKind,
source_path: &str,
summary: &str,
view_costs: &ViewCosts,
phi: f64,
pinned: bool,
) -> &ContextHandle
pub fn register( &mut self, item_id: ContextItemId, kind: ContextKind, source_path: &str, summary: &str, view_costs: &ViewCosts, phi: f64, pinned: bool, ) -> &ContextHandle
Register a new context item and assign the next sequential ref-label.
Returns a reference to the newly created handle.
Sourcepub fn resolve(&self, ref_label: &str) -> Option<&ContextHandle>
pub fn resolve(&self, ref_label: &str) -> Option<&ContextHandle>
Look up a handle by its ref-label (e.g. “F1”, “S3”).
Accepts labels with or without the leading @.
Sourcepub fn resolve_by_item(&self, item_id: &ContextItemId) -> Option<&ContextHandle>
pub fn resolve_by_item(&self, item_id: &ContextItemId) -> Option<&ContextHandle>
Look up a handle by its underlying item ID.
Sourcepub fn all(&self) -> &[ContextHandle]
pub fn all(&self) -> &[ContextHandle]
All registered handles, in registration order.
Sourcepub fn total_handle_tokens(&self) -> usize
pub fn total_handle_tokens(&self) -> usize
Sum of handle_tokens across all registered handles.
Sourcepub fn format_manifest(&self, budget_total: usize, budget_used: usize) -> String
pub fn format_manifest(&self, budget_total: usize, budget_used: usize) -> String
Render the compact handle manifest for inclusion in a system prompt.
Trait Implementations§
Source§impl Clone for HandleRegistry
impl Clone for HandleRegistry
Source§fn clone(&self) -> HandleRegistry
fn clone(&self) -> HandleRegistry
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 HandleRegistry
impl Debug for HandleRegistry
Source§impl Default for HandleRegistry
impl Default for HandleRegistry
Source§impl<'de> Deserialize<'de> for HandleRegistry
impl<'de> Deserialize<'de> for HandleRegistry
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
Auto Trait Implementations§
impl Freeze for HandleRegistry
impl RefUnwindSafe for HandleRegistry
impl Send for HandleRegistry
impl Sync for HandleRegistry
impl Unpin for HandleRegistry
impl UnsafeUnpin for HandleRegistry
impl UnwindSafe for HandleRegistry
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,
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