@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
49 lines • 2.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deserializeLocalSandboxSessionStateValues = deserializeLocalSandboxSessionStateValues;
exports.readExposedPortsState = readExposedPortsState;
exports.normalizeExposedPorts = normalizeExposedPorts;
const session_1 = require("../../session.js");
const typeGuards_1 = require("../../shared/typeGuards.js");
const localSnapshots_1 = require("./localSnapshots.js");
const manifestPersistence_1 = require("./manifestPersistence.js");
const environment_1 = require("../../shared/environment.js");
async function deserializeLocalSandboxSessionStateValues(state, configuredSnapshot) {
const manifest = (0, manifestPersistence_1.deserializeManifest)(state.manifest);
const persistedEnvironment = readEnvironmentState(state.environment);
const runtimeEnvironment = Object.fromEntries(Object.entries(persistedEnvironment).filter(([key]) => !(key in manifest.environment)));
return {
manifest,
workspaceRootPath: (0, typeGuards_1.readString)(state, 'workspaceRootPath'),
workspaceRootOwned: Boolean(state.workspaceRootOwned),
environment: {
...runtimeEnvironment,
...(await (0, environment_1.rehydratePersistedEnvironmentForRuntime)(manifest, persistedEnvironment)),
},
snapshotSpec: (0, localSnapshots_1.rehydrateLocalSnapshotSpec)(state.snapshotSpec, configuredSnapshot),
snapshot: state.snapshot ?? null,
snapshotFingerprint: (0, typeGuards_1.readOptionalString)(state, 'snapshotFingerprint') ??
(0, typeGuards_1.readOptionalString)(state, 'snapshot_fingerprint') ??
null,
snapshotFingerprintVersion: (0, typeGuards_1.readOptionalString)(state, 'snapshotFingerprintVersion') ??
(0, typeGuards_1.readOptionalString)(state, 'snapshot_fingerprint_version') ??
null,
configuredExposedPorts: normalizeExposedPorts((0, typeGuards_1.readOptionalNumberArray)(state.configuredExposedPorts)),
exposedPorts: readExposedPortsState(state),
...(0, manifestPersistence_1.deserializeHostPathGrantRedactionMetadata)(state),
...(0, manifestPersistence_1.deserializeMountCredentialRedactionMetadata)(state),
};
}
function readExposedPortsState(state) {
const exposedPorts = state.exposedPorts;
return (0, typeGuards_1.isRecord)(exposedPorts)
? exposedPorts
: undefined;
}
function normalizeExposedPorts(ports) {
return [...new Set((ports ?? []).map((port) => (0, session_1.normalizeExposedPort)(port)))];
}
function readEnvironmentState(value) {
return (0, typeGuards_1.isStringRecord)(value) ? { ...value } : {};
}
//# sourceMappingURL=sessionStateValues.js.map