UNPKG

@openai/agents-core

Version:

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

44 lines • 2.41 kB
import { normalizeExposedPort } from "../../session.mjs"; import { isRecord, isStringRecord, readOptionalNumberArray, readOptionalString, readString, } from "../../shared/typeGuards.mjs"; import { rehydrateLocalSnapshotSpec } from "./localSnapshots.mjs"; import { deserializeHostPathGrantRedactionMetadata, deserializeManifest, deserializeMountCredentialRedactionMetadata, } from "./manifestPersistence.mjs"; import { rehydratePersistedEnvironmentForRuntime } from "../../shared/environment.mjs"; export async function deserializeLocalSandboxSessionStateValues(state, configuredSnapshot) { const manifest = deserializeManifest(state.manifest); const persistedEnvironment = readEnvironmentState(state.environment); const runtimeEnvironment = Object.fromEntries(Object.entries(persistedEnvironment).filter(([key]) => !(key in manifest.environment))); return { manifest, workspaceRootPath: readString(state, 'workspaceRootPath'), workspaceRootOwned: Boolean(state.workspaceRootOwned), environment: { ...runtimeEnvironment, ...(await rehydratePersistedEnvironmentForRuntime(manifest, persistedEnvironment)), }, snapshotSpec: rehydrateLocalSnapshotSpec(state.snapshotSpec, configuredSnapshot), snapshot: state.snapshot ?? null, snapshotFingerprint: readOptionalString(state, 'snapshotFingerprint') ?? readOptionalString(state, 'snapshot_fingerprint') ?? null, snapshotFingerprintVersion: readOptionalString(state, 'snapshotFingerprintVersion') ?? readOptionalString(state, 'snapshot_fingerprint_version') ?? null, configuredExposedPorts: normalizeExposedPorts(readOptionalNumberArray(state.configuredExposedPorts)), exposedPorts: readExposedPortsState(state), ...deserializeHostPathGrantRedactionMetadata(state), ...deserializeMountCredentialRedactionMetadata(state), }; } export function readExposedPortsState(state) { const exposedPorts = state.exposedPorts; return isRecord(exposedPorts) ? exposedPorts : undefined; } export function normalizeExposedPorts(ports) { return [...new Set((ports ?? []).map((port) => normalizeExposedPort(port)))]; } function readEnvironmentState(value) { return isStringRecord(value) ? { ...value } : {}; } //# sourceMappingURL=sessionStateValues.mjs.map