> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Restart Store Protocol • AI Agent SDK

> RestartStoreProtocol: Durable-store contract for cross-boot restart timestamps (Issue #4603).

# RestartStoreProtocol

> Defined in the [**protocols**](../modules/protocols) module.

<Badge color="blue">AI Agent</Badge>

Durable-store contract for cross-boot restart timestamps (Issue #4603).

The pure decision (:class:`PersistentRestartLoopGuard`) lives in core; the
wrapper injects a concrete store that reads/writes the timestamps to a small
sentinel file. Both methods are best-effort: an implementation that cannot
reach its backing store returns `[]` from :meth:`load_events` and silently
drops :meth:`save_events`, so the breaker degrades to in-memory behaviour
rather than crashing the gateway it protects.

## Methods

<CardGroup cols={2}>
  <Card title="load_events()" icon="function" href="../functions/RestartStoreProtocol-load_events">
    Return the persisted restart timestamps (`[]` when unavailable).
  </Card>

  <Card title="save_events()" icon="function" href="../functions/RestartStoreProtocol-save_events">
    Persist the restart timestamps (best-effort, never raises).
  </Card>
</CardGroup>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/gateway/protocols.py#L4962">
  `praisonaiagents/gateway/protocols.py` at line 4962
</Card>
