Skip to main content

SyncStore

Struct SyncStore 

Source
pub struct SyncStore { /* private fields */ }
Expand description

A small file-backed event log used by the HTTP sync endpoints.

Each request loads the current log, applies its operation, and (for writes) saves it back, so the stateless server still shares one log across requests.

Implementations§

Source§

impl SyncStore

Source

pub fn open() -> Self

Open the configured store, loading any existing events from disk.

Source

pub fn open_at(path: &Path) -> Self

Open a store at an explicit path (used by tests).

Source

pub fn events(&self) -> &[MemoryEvent]

The events currently held.

Render the log as a demo_memory Links-Notation document.

Render only the events after last_seen as Links Notation (the delta a puller applies).

Import a demo_memory document, merging by id, and persist the result. Returns the number of events added.

§Errors

Returns an std::io::Error when the backing file cannot be written.

Source

pub fn record_chat_exchange( &mut self, prompt: &str, answer: &str, ) -> Result<usize>

Record one live chat exchange into the shared memory log (issue #540’s live-usage loop): the user turn becomes a message event that requirement learning can lift, and the assistant turn becomes a task event with the exact input/output pair dreaming can replay and generalize. Ids are stable over (prompt, answer), so retries do not duplicate. Set FORMAL_AI_RECORD_CHAT=0 to opt out.

§Errors

Returns an std::io::Error when the backing file cannot be written.

Source

pub fn record_chat_exchange_with_tools( &mut self, prompt: &str, answer: &str, tools: &[RecordedToolExecution], ) -> Result<usize>

Record a completed exchange plus the actual tool work delegated to and returned by an agentic API client. The tool events use the same durable schema as browser-side tool traces, and the final task cites them as evidence. Stable ids omit transient protocol call ids, so a retried exchange merges instead of duplicating learned evidence.

§Errors

Returns an std::io::Error when the backing file cannot be written.

Trait Implementations§

Source§

impl Clone for SyncStore

Source§

fn clone(&self) -> SyncStore

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SyncStore

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SyncStore

Source§

fn default() -> SyncStore

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more