SessionStorage#

Restore model context and preserve immutable original messages. See the guide.

class zett_agent.extensions.persistence.SessionStorage(*args, **kwargs)[源代码]#

Persistence boundary; implementations own transactions and message encoding.

async load(session_id)[源代码]#

Load the latest checkpoint and all Raw Log messages after its boundary.

参数:

session_id (str)

返回类型:

SessionView

async append(session_id, request_id, message, timing=None, parent_session_id=None, title=None, agent_name=None, metadata=None, tags=None, usage=None)[源代码]#

Append one immutable Raw Log message and return its allocated sequence.

A direct storage caller may omit timing for an instantaneous imported message. The Agent runtime always supplies measured timing. The optional Session attributes initialize the session record on its first append and are not copied into each Raw Log row. Usage belongs only to assistant model responses. The parent ID is immutable.

参数:
  • session_id (str)

  • request_id (str)

  • message (AnyMessage)

  • timing (MessageTiming | None)

  • parent_session_id (str | None)

  • title (str | None)

  • agent_name (str | None)

  • metadata (Mapping[str, JsonValue] | None)

  • tags (Mapping[str, JsonValue] | None)

  • usage (ModelUsage | None)

返回类型:

int

async snapshot(session_id, compacted_message, compacted_through_sequence, expected_version)[源代码]#

Create one immutable checkpoint, rejecting a stale snapshot version.

参数:
  • session_id (str)

  • compacted_message (CompactedMessage)

  • compacted_through_sequence (int)

  • expected_version (int)

返回类型:

ContextSnapshot