UNPKG

@openai/agents-core

Version:

The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.

61 lines (60 loc) • 1.83 kB
export interface Snapshot { id: string; type: string; [key: string]: unknown; } export interface SnapshotSpec { type: string; [key: string]: unknown; } export type RemoteSnapshotSaveArgs = { id?: string; data: Uint8Array; metadata?: Record<string, unknown>; }; export type RemoteSnapshotLoadArgs = { id: string; }; export type RemoteSnapshotDeleteArgs = { id: string; }; export interface RemoteSnapshotStore { save(args: RemoteSnapshotSaveArgs): Promise<{ id: string; metadata?: Record<string, unknown>; }>; load(args: RemoteSnapshotLoadArgs): Promise<{ data: Uint8Array; metadata?: Record<string, unknown>; }>; delete?(args: RemoteSnapshotDeleteArgs): Promise<void>; exists?(args: RemoteSnapshotLoadArgs): Promise<boolean>; } export interface RemoteSnapshot extends Snapshot { type: 'remote'; metadata?: Record<string, unknown>; } export interface RemoteSnapshotSpec extends SnapshotSpec { type: 'remote'; id?: string; store: RemoteSnapshotStore; metadata?: Record<string, unknown>; } export declare class NoopSnapshotSpec implements SnapshotSpec { readonly type = "noop"; readonly [key: string]: unknown; } export declare function isNoopSnapshotSpec(spec: SnapshotSpec | null | undefined): spec is NoopSnapshotSpec; export declare class InMemoryRemoteSnapshotStore implements RemoteSnapshotStore { private readonly snapshots; save(args: RemoteSnapshotSaveArgs): Promise<{ id: string; metadata?: Record<string, unknown>; }>; load(args: RemoteSnapshotLoadArgs): Promise<{ data: Uint8Array; metadata?: Record<string, unknown>; }>; delete(args: RemoteSnapshotDeleteArgs): Promise<void>; exists(args: RemoteSnapshotLoadArgs): Promise<boolean>; }