UNPKG

@openai/agents-core

Version:

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

121 lines (120 loc) 3.35 kB
import { TracingProcessor } from './processor'; type SpanDataBase = { type: string; }; export type AgentSpanData = SpanDataBase & { type: 'agent'; name: string; handoffs?: string[]; tools?: string[]; output_type?: string; }; export type FunctionSpanData = SpanDataBase & { type: 'function'; name: string; input: string; output: string; mcp_data?: string; }; export type GenerationSpanData = SpanDataBase & { type: 'generation'; input?: Array<Record<string, any>>; output?: Array<Record<string, any>>; model?: string; model_config?: Record<string, any>; usage?: Record<string, any>; }; export type ResponseSpanData = SpanDataBase & { type: 'response'; response_id?: string; /** * Not used by the OpenAI tracing provider but helpful for other tracing providers. */ _input?: string | Record<string, any>[]; _response?: Record<string, any>; }; export type HandoffSpanData = SpanDataBase & { type: 'handoff'; from_agent?: string; to_agent?: string; }; export type CustomSpanData = SpanDataBase & { type: 'custom'; name: string; data: Record<string, any>; }; export type GuardrailSpanData = SpanDataBase & { type: 'guardrail'; name: string; triggered: boolean; }; export type TranscriptionSpanData = SpanDataBase & { type: 'transcription'; input: { data: string; format: 'pcm' | string; }; output?: string; model?: string; model_config?: Record<string, any>; }; export type SpeechSpanData = SpanDataBase & { type: 'speech'; input?: string; output: { data: string; format: 'pcm' | string; }; model?: string; model_config?: Record<string, any>; }; export type SpeechGroupSpanData = SpanDataBase & { type: 'speech_group'; input?: string; }; export type MCPListToolsSpanData = SpanDataBase & { type: 'mcp_tools'; server?: string; result?: string[]; }; export type SpanData = AgentSpanData | FunctionSpanData | GenerationSpanData | ResponseSpanData | HandoffSpanData | CustomSpanData | GuardrailSpanData | TranscriptionSpanData | SpeechSpanData | SpeechGroupSpanData | MCPListToolsSpanData; export type SpanOptions<TData extends SpanData> = { traceId: string; spanId?: string; parentId?: string; data: TData; startedAt?: string; endedAt?: string; error?: SpanError; }; export type SpanError = { message: string; data?: Record<string, any>; }; export declare class Span<TData extends SpanData> { #private; type: "trace.span"; constructor(options: SpanOptions<TData>, processor: TracingProcessor); get traceId(): string; get spanData(): TData; get spanId(): string; get parentId(): string | null; get previousSpan(): Span<any> | undefined; set previousSpan(span: Span<any> | undefined); start(): void; end(): void; setError(error: SpanError): void; get error(): SpanError | null; get startedAt(): string | null; get endedAt(): string | null; clone(): Span<TData>; toJSON(): object | null; } export declare class NoopSpan<TSpanData extends SpanData> extends Span<TSpanData> { constructor(data: TSpanData, processor: TracingProcessor); start(): void; end(): void; setError(): void; toJSON(): null; } export {};