@threadplane/coreTypeAliasv0.0.0

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>