UNPKG

@openai/agents-core

Version:

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

76 lines • 2.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isAbortError = void 0; exports.streamStepItemsToRunResult = streamStepItemsToRunResult; exports.addStepToRunResult = addStepToRunResult; const logger_1 = __importDefault(require("../logger.js")); const events_1 = require("../events.js"); const items_1 = require("../items.js"); var abortSignals_1 = require("../utils/abortSignals.js"); Object.defineProperty(exports, "isAbortError", { enumerable: true, get: function () { return abortSignals_1.isAbortError; } }); function getRunItemStreamEventName(item) { if (item instanceof items_1.RunMessageOutputItem) { return 'message_output_created'; } if (item instanceof items_1.RunHandoffCallItem) { return 'handoff_requested'; } if (item instanceof items_1.RunHandoffOutputItem) { return 'handoff_occurred'; } // tool_search uses dedicated run items because its payload shape and // downstream UI correlation differ from generic tool call/output events. if (item instanceof items_1.RunToolSearchCallItem) { return 'tool_search_called'; } if (item instanceof items_1.RunToolSearchOutputItem) { return 'tool_search_output_created'; } if (item instanceof items_1.RunToolCallItem) { return 'tool_called'; } if (item instanceof items_1.RunToolCallOutputItem) { return 'tool_output'; } if (item instanceof items_1.RunReasoningItem) { return 'reasoning_item_created'; } if (item instanceof items_1.RunCompactionItem) { return 'compaction_item_created'; } if (item instanceof items_1.RunToolApprovalItem) { return 'tool_approval_requested'; } return undefined; } function enqueueRunItemStreamEvent(result, item) { const itemName = getRunItemStreamEventName(item); if (!itemName) { if (logger_1.default.dontLogModelData || logger_1.default.dontLogToolData) { logger_1.default.warn('Unknown item type. Item data is redacted.'); } else { logger_1.default.warn('Unknown item type: ', item); } return; } result._addItem(new events_1.RunItemStreamEvent(itemName, item)); } function streamStepItemsToRunResult(result, items) { for (const item of items) { enqueueRunItemStreamEvent(result, item); } } function addStepToRunResult(result, step, options) { const skippedItems = options?.skipItems; for (const item of step.newStepItems) { if (skippedItems?.has(item)) { continue; } enqueueRunItemStreamEvent(result, item); } } //# sourceMappingURL=streaming.js.map