@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
83 lines • 3.62 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.TOOL_APPROVAL_REJECTION_MESSAGE = void 0;
exports.resolveApprovalRejectionMessage = resolveApprovalRejectionMessage;
const logger_1 = __importStar(require("../logger.js"));
exports.TOOL_APPROVAL_REJECTION_MESSAGE = 'Tool execution was not approved.';
function toErrorMessage(error) {
return error instanceof Error ? error.message : String(error);
}
async function resolveApprovalRejectionMessage({ runContext, toolType, toolName, approvalToolNames = [toolName], approvalAgent, callId, toolErrorFormatter, }) {
// Per-call message from state.reject(item, { message }) takes precedence over
// the global toolErrorFormatter callback and the SDK default.
const perCallMessage = approvalToolNames
.map((approvalToolName) => approvalAgent
? runContext._getFunctionRejectionMessage(approvalToolName, callId, approvalAgent)
: runContext.getRejectionMessage(approvalToolName, callId, {
functionTool: false,
}))
.find((message) => typeof message === 'string');
if (typeof perCallMessage === 'string') {
return perCallMessage;
}
if (!toolErrorFormatter) {
return exports.TOOL_APPROVAL_REJECTION_MESSAGE;
}
try {
const formattedMessage = await toolErrorFormatter({
kind: 'approval_rejected',
toolType,
toolName,
callId,
defaultMessage: exports.TOOL_APPROVAL_REJECTION_MESSAGE,
runContext,
});
if (typeof formattedMessage === 'string') {
return formattedMessage;
}
if (typeof formattedMessage !== 'undefined') {
logger_1.default.warn('toolErrorFormatter returned a non-string value. Falling back to the default tool approval rejection message.');
}
}
catch (error) {
const errorDetails = logger_1.default.dontLogToolData
? (0, logger_1.getSafeErrorType)(error)
: toErrorMessage(error);
logger_1.default.warn(`toolErrorFormatter threw while formatting approval rejection: ${errorDetails}`);
}
return exports.TOOL_APPROVAL_REJECTION_MESSAGE;
}
//# sourceMappingURL=approvalRejection.js.map