UNPKG

@openai/agents-core

Version:

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

59 lines (58 loc) • 4.52 kB
import { OutputGuardrailTripwireTriggered } from '../errors'; import type { OutputGuardrailResult } from '../guardrail'; import { RunItem } from '../items'; import { AgentInputItem } from '../types'; import { type FunctionCallResultItem } from '../types/protocol'; import type { RunState } from '../runState'; import type { Session } from '../memory/session'; export declare function captureCurrentResponseToolOutputGuardrailResultStart(state: RunState<any, any>, overwrite: boolean, hasOutputGuardrail?: boolean): void; export declare function getCurrentResponseToolOutputGuardrailResultStart(state: RunState<any, any>): number | undefined; export declare function restoreCurrentResponseToolOutputGuardrailResultStart(state: RunState<any, any>, startIndex: number, hasNestedOwnership: boolean): void; /** Selects the checkpoint format only. Resume always evaluates the configured guardrails. */ export declare function needsNestedApprovalOwnership(state: RunState<any, any>, generatedItemStartIndex: number): boolean; export declare function hasPersistedToolOutput(state: RunState<any, any>): boolean; export declare function hasPendingApprovedToolInputCompaction(state: RunState<any, any>): boolean; export declare function hasDeterministicTerminalToolOutputSource(state: RunState<any, any>): boolean; export declare function hasTerminalToolOutputSource(state: RunState<any, any>): boolean; export declare function sanitizeBlockedTerminalToolOutput(state: RunState<any, any>, outputGuardrailResultStart: number, completedOutputGuardrailTripwireResult: OutputGuardrailResult<any, any> | undefined, observedOutputGuardrailResults: ReadonlyMap<OutputGuardrailResult<any, any>, boolean>, tripwire?: OutputGuardrailTripwireTriggered<any, any>, ownedOutputGuardrailResults?: ReadonlySet<OutputGuardrailResult<any, any>>, resolveBlockedMessage?: (guardrailName: string) => Promise<string>, signal?: AbortSignal, onBlockedOutput?: () => void): false | string | Promise<false | string>; export declare function shouldDeferInterruptedSessionItems(state: RunState<any, any>, hasOutputGuardrail: boolean): boolean; export declare function assertResumedSessionOutputGuardrailSafety(state: RunState<any, any>, session: Session | undefined, hasOutputGuardrail: boolean): void; export type RunItemPersistencePlan = Readonly<{ alreadyPersistedCount: number; runItemsToPersist: RunItem[]; runItemsToReplace: RunItem[]; processedRunItemCount: number; deferredRunItemIndexes: number[]; useHistoryTransaction: boolean; transactionKind?: 'blocked_append' | 'accepted_replace'; }>; /** * Selects replay-safe tool effects when an assistant's final output is blocked. * * Unknown run-item kinds are excluded. Reasoning is retained only when the next non-reasoning * item is a retained tool call or one of its required provenance records. */ export declare function selectRunItemIndexesForBlockedOutput(items: RunItem[], unpersistedStartIndex?: number): number[]; export declare function hasBlockedOutputExecutionEffect(items: RunItem[], unpersistedStartIndex?: number): boolean; export declare function buildRunItemPersistencePlan(options: { items: RunItem[]; alreadyPersistedCount: number; currentDeferredIndexes: Iterable<number>; outputBlocked: boolean; canUseHistoryTransactions: boolean; blockedSnapshot?: Readonly<{ items: RunItem[]; startIndex: number; alreadyPersistedCount: number; }>; }): RunItemPersistencePlan; export declare function buildBlockedToolOutputRawItem(rawItem: AgentInputItem, blockedMessage?: string): FunctionCallResultItem; /** Redacts runner-owned cancellation state without dropping mixed-response tool pairs. */ export declare function redactCancelledResponseToolOutputs(state: RunState<any, any>, blockedMessage: string): boolean; /** Replaces a rejected function response with allowlisted replay-safe values. */ export declare function redactBlockedResponseToolOutputs(state: RunState<any, any>, blockedMessage?: string): boolean; export declare function getBlockedOutputSessionSnapshotRunItems(state: RunState<any, any>): RunItem[]; export declare function isCanonicalBlockedOutputPayload(item: AgentInputItem): boolean; /** Neutralizes a canonical restored placeholder without trusting serialized guardrail identity. */ export declare function normalizeSerializedOutputGuardrailBlockedMessage(state: RunState<any, any>): void; export declare function hasOutputBearingApprovalCheckpoint(state: RunState<any, any>): boolean;