Synaptic.ToolResultStore (synaptic v0.3.0-alpha.11)

View Source

Ephemeral storage for oversized or compacted tool results.

Handles returned by the context hygiene layer can be resolved through this module for follow-up retrieval outside the model prompt.

Summary

Types

entry()

@type entry() :: %{
  handle: String.t(),
  result: term(),
  metadata: map(),
  inserted_at: non_neg_integer(),
  expires_at: non_neg_integer()
}

Functions

delete(handle)

@spec delete(String.t()) :: :ok

delete_by_run(run_id)

@spec delete_by_run(String.t()) :: non_neg_integer()

fetch(handle, opts \\ [])

@spec fetch(
  String.t(),
  keyword()
) :: {:ok, entry()} | {:error, :not_found | :expired | :forbidden}

prune_expired()

@spec prune_expired() :: non_neg_integer()

put(result, metadata \\ %{}, ttl_ms \\ 900_000)

@spec put(term(), map(), pos_integer() | nil) :: String.t()