@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
TypeScript
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>;
}