@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
TypeScript
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;