Skip to main content
A session is identified by its index name. Any process that calls client.session(name) loads the most recent version of that index pushed to the cloud. Multiple agents, channels, or services can share one evolving index by using the same name: one process calls push_index() to write, another calls session(name) to read the result.

How it works

Agent A pushes conversation context to a cloud index, then Agent B loads the latest version and continues the sessionAgent A pushes conversation context to a cloud index, then Agent B loads the latest version and continues the session
  • session(name) loads the cloud index with that name into a local session (no re-embedding).
  • push_index() writes the session back to the cloud, creating or replacing that index.

Example

Agent A accumulates context, then pushes:
Agent B (another process or device) opens the same name and resumes:

Semantics

  • push_index() creates or replaces the cloud index of that name. Readers see the most recent completed push.
  • session(name) loads the stored index directly; documents keep their pushed embeddings, with no re-embedding.
  • All participants must use the same embedding model. Passing a model_id that differs from the stored index raises an error.

Use cases

  • Omni-channel - voice, chat, and email handlers share one index keyed by conversation or customer ID.
  • Agent escalation - a frontline agent pushes; a specialist or human agent opens the same index with the full history.
  • Multi-device - a session continues when the user moves from one device to another.
  • Multi-agent pipelines - specialized agents (router, retrieval, reasoning, review) pass state through one named index; each read and write is a local in-memory operation rather than a network call.

Sessions guide

Create, resume, and persist sessions.

Data hydration & sync

Loading and refreshing indexes.