UNPKG

@openai/agents-core

Version:

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

42 lines • 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sandboxRunAsName = sandboxRunAsName; exports.manifestWithRunAsUser = manifestWithRunAsUser; const manifest_1 = require("../manifest.js"); function sandboxRunAsName(runAs) { if (runAs === undefined) { return undefined; } if (typeof runAs === 'string') { return runAs.trim(); } return runAs.name; } function manifestWithRunAsUser(manifest, runAs) { const runAsName = sandboxRunAsName(runAs); if (!runAsName || manifestHasUser(manifest, runAsName)) { return manifest; } const updatedManifest = new manifest_1.Manifest({ version: manifest.version, root: manifest.root, entries: structuredClone(manifest.entries), environment: Object.fromEntries(Object.entries(manifest.environment).map(([key, value]) => [ key, value instanceof manifest_1.Environment ? value.init() : value, ])), users: [...structuredClone(manifest.users), { name: runAsName }], groups: structuredClone(manifest.groups), extraPathGrants: structuredClone(manifest.extraPathGrants), remoteMountCommandAllowlist: [...manifest.remoteMountCommandAllowlist], }); (0, manifest_1.copyManifestMountCredentialExposurePolicy)(updatedManifest, manifest); return updatedManifest; } function manifestHasUser(manifest, name) { if (manifest.users.some((user) => user.name === name)) { return true; } return manifest.groups.some((group) => group.users?.some((user) => user.name === name)); } //# sourceMappingURL=runAsManifest.js.map