@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
42 lines • 1.65 kB
JavaScript
;
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