@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
39 lines • 1.17 kB
JavaScript
import { randomUUID } from '@openai/agents-core/_shims';
export class NoopSnapshotSpec {
type = 'noop';
}
export function isNoopSnapshotSpec(spec) {
return spec?.type === 'noop';
}
export class InMemoryRemoteSnapshotStore {
snapshots = new Map();
async save(args) {
const id = args.id ?? randomUUID();
const metadata = args.metadata ? { ...args.metadata } : undefined;
this.snapshots.set(id, {
data: new Uint8Array(args.data),
...(metadata ? { metadata } : {}),
});
return {
id,
...(metadata ? { metadata } : {}),
};
}
async load(args) {
const snapshot = this.snapshots.get(args.id);
if (!snapshot) {
throw new Error(`Remote snapshot not found: ${args.id}`);
}
return {
data: new Uint8Array(snapshot.data),
...(snapshot.metadata ? { metadata: { ...snapshot.metadata } } : {}),
};
}
async delete(args) {
this.snapshots.delete(args.id);
}
async exists(args) {
return this.snapshots.has(args.id);
}
}
//# sourceMappingURL=snapshot.mjs.map