UNPKG

@openai/agents-core

Version:

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

56 lines • 2.07 kB
import { InvalidToolInputError, } from "./errors.mjs"; import logger from "./logger.mjs"; const redactedInvalidToolInputErrors = new WeakSet(); const invalidToolInputFailures = new WeakMap(); /** * Constructs invalid tool input errors without retaining model-produced input * or parser details when tool data is redacted. * * @internal */ export function createInvalidToolInputFailure({ message, state, originalError, toolInvocation, disposition: requestedDisposition, fatal = false, }) { const disposition = requestedDisposition ?? createInvalidToolInputDisposition(); if (logger.dontLogToolData) { disposition.redacted = true; } const redacted = disposition.redacted; const error = new InvalidToolInputError(message, redacted ? undefined : state, redacted ? undefined : originalError, redacted ? undefined : toolInvocation); if (redacted) { redactedInvalidToolInputErrors.add(error); } const failure = { error, redacted, disposition, fatal, }; invalidToolInputFailures.set(error, failure); return failure; } /** @internal */ export function createInvalidToolInputDisposition() { return { redacted: logger.dontLogToolData }; } /** @internal */ export function refreshInvalidToolInputFailure(failure) { if (logger.dontLogToolData) { failure.disposition.redacted = true; } if (failure.disposition.redacted && !redactedInvalidToolInputErrors.has(failure.error)) { failure.error = new InvalidToolInputError(failure.error.message); redactedInvalidToolInputErrors.add(failure.error); invalidToolInputFailures.set(failure.error, failure); } failure.redacted = failure.disposition.redacted; return failure.redacted; } /** @internal */ export function isRedactedInvalidToolInputError(error) { return redactedInvalidToolInputErrors.has(error); } /** @internal */ export function getInvalidToolInputFailure(error) { return invalidToolInputFailures.get(error); } //# sourceMappingURL=toolInputError.mjs.map