UNPKG

@openai/agents-core

Version:

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

69 lines • 3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SandboxAgent = void 0; const agent_1 = require("../agent.js"); const brand_1 = require("./brand.js"); const capabilities_1 = require("./capabilities/index.js"); const manifest_1 = require("./manifest.js"); const users_1 = require("./users.js"); class SandboxAgent extends agent_1.Agent { [brand_1.SANDBOX_AGENT_BRAND] = true; defaultManifest; baseInstructions; capabilities; runAs; runtimeManifest; constructor(config) { super(config); if (config.baseInstructions !== undefined && typeof config.baseInstructions !== 'string' && typeof config.baseInstructions !== 'function') { throw new TypeError('SandboxAgent baseInstructions must be a string or function.'); } this.defaultManifest = config.defaultManifest ? (0, manifest_1.cloneManifest)(config.defaultManifest) : undefined; this.baseInstructions = config.baseInstructions; this.capabilities = config.capabilities ?? capabilities_1.Capabilities.default(); this.runAs = normalizeRunAs(config.runAs); this.runtimeManifest = this.defaultManifest ?? new manifest_1.Manifest(); } clone(config) { return new SandboxAgent({ name: config.name ?? this.name, instructions: config.instructions ?? this.instructions, prompt: config.prompt ?? this.prompt, handoffDescription: config.handoffDescription ?? this.handoffDescription, handoffs: config.handoffs ?? this.handoffs, model: config.model ?? this.model, modelSettings: config.modelSettings ?? this.modelSettings, tools: config.tools ?? this.tools, mcpServers: config.mcpServers ?? this.mcpServers, mcpConfig: config.mcpConfig ?? this.mcpConfig, inputGuardrails: config.inputGuardrails ?? this.inputGuardrails, outputGuardrails: config.outputGuardrails ?? this.outputGuardrails, outputType: config.outputType ?? this.outputType, toolUseBehavior: config.toolUseBehavior ?? this.toolUseBehavior, resetToolChoice: config.resetToolChoice ?? this.resetToolChoice, defaultManifest: config.defaultManifest ?? this.defaultManifest, baseInstructions: config.baseInstructions ?? this.baseInstructions, capabilities: config.capabilities ?? this.capabilities, runAs: config.runAs ?? this.runAs, }); } } exports.SandboxAgent = SandboxAgent; function normalizeRunAs(runAs) { if (runAs === undefined) { return undefined; } if (typeof runAs === 'string') { const trimmed = runAs.trim(); if (!trimmed) { throw new TypeError('SandboxAgent runAs must be non-empty.'); } return trimmed; } return (0, users_1.normalizeUser)(runAs); } //# sourceMappingURL=agent.js.map