UNPKG

@openai/agents-core

Version:

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

61 lines • 2.51 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createInvalidToolOutputError = createInvalidToolOutputError; exports.refreshInvalidToolOutputFailure = refreshInvalidToolOutputFailure; exports.getInvalidToolOutputFailure = getInvalidToolOutputFailure; exports.isRedactedInvalidToolOutputError = isRedactedInvalidToolOutputError; const errors_1 = require("./errors.js"); const logger_1 = __importDefault(require("./logger.js")); const redactedInvalidToolOutputErrors = new WeakSet(); const invalidToolOutputFailures = new WeakMap(); const invalidToolOutputRedactedMessages = new WeakMap(); const REDACTED_INVALID_TOOL_OUTPUT_MESSAGE = 'Invalid function tool output.'; /** * Constructs invalid tool output errors without retaining tool output or * validator details when tool data is redacted. * * @internal */ function createInvalidToolOutputError(message, originalError, toolOutput) { const disposition = { redacted: logger_1.default.dontLogToolData }; const error = disposition.redacted ? new errors_1.InvalidToolOutputError(message) : new errors_1.InvalidToolOutputError(message, undefined, originalError, toolOutput); if (disposition.redacted) { redactedInvalidToolOutputErrors.add(error); } const failure = { error, redacted: disposition.redacted, disposition, }; invalidToolOutputFailures.set(error, failure); invalidToolOutputRedactedMessages.set(failure, message); return error; } /** @internal */ function refreshInvalidToolOutputFailure(failure) { if (logger_1.default.dontLogToolData) { failure.disposition.redacted = true; } if (failure.disposition.redacted) { failure.error = new errors_1.InvalidToolOutputError(invalidToolOutputRedactedMessages.get(failure) ?? REDACTED_INVALID_TOOL_OUTPUT_MESSAGE); redactedInvalidToolOutputErrors.add(failure.error); invalidToolOutputFailures.set(failure.error, failure); } failure.redacted = failure.disposition.redacted; return failure.redacted; } /** @internal */ function getInvalidToolOutputFailure(error) { return invalidToolOutputFailures.get(error); } /** @internal */ function isRedactedInvalidToolOutputError(error) { return redactedInvalidToolOutputErrors.has(error); } //# sourceMappingURL=toolOutputError.js.map