AgentSnapshot
Unpublished development API. This package is under development and is not available as a published release.
An immutable aggregate, owned by the session, stable between actual changes. The conditional projects concrete shapes so interface-authored tools widen to a generic observer without requiring an index signature on their arguments.
import type { AgentSnapshot } from '@threadplane/core';Declaration
export type AgentSnapshot<TTools extends {
[K in keyof TTools]: ToolContract;
} = Record<string, ToolContract>> = TTools extends unknown ? {
readonly status: AgentStatus;
readonly messages: readonly Message[];
readonly toolCalls: readonly ToolCall<TTools>[];
readonly error?: AgentError;
} : never;Type parameters
TTools{ [K in keyof TTools]: ToolContract; }Default:Record<string, ToolContract>