UNPKG

@openai/agents-core

Version:

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

96 lines (95 loc) • 2.95 kB
import { RequestUsageData, UsageData, TokenDetails } from './types/protocol'; export type RequestUsageInput = Partial<RequestUsageData & { input_tokens: number; output_tokens: number; total_tokens: number; input_tokens_details: object; output_tokens_details: object; endpoint?: string; }>; export type UsageInput = Partial<UsageData & { input_tokens: number; output_tokens: number; total_tokens: number; input_tokens_details: TokenDetails | Array<TokenDetails> | object; output_tokens_details: TokenDetails | Array<TokenDetails> | object; request_usage_entries: RequestUsageInput[]; }> & { requests?: number; requestUsageEntries?: RequestUsageInput[]; }; /** * Usage details for a single API request. */ export declare class RequestUsage { /** * The number of input tokens used for this request. */ inputTokens: number; /** * The number of output tokens used for this request. */ outputTokens: number; /** * The total number of tokens sent and received for this request. */ totalTokens: number; /** * Details about the input tokens used for this request. */ inputTokensDetails: TokenDetails; /** * Details about the output tokens used for this request. */ outputTokensDetails: TokenDetails; /** * The endpoint that produced this usage entry (e.g., responses.create, responses.compact). */ endpoint?: 'responses.create' | 'responses.compact' | (string & {}); constructor(input?: RequestUsageInput); /** * Reconstructs a RequestUsage instance from a JSON-compatible wire value. */ static fromJSON(input?: RequestUsageInput): RequestUsage; } export declare function cloneTokenDetails(details: TokenDetails): TokenDetails; /** * Tracks token usage and request counts for an agent run. */ export declare class Usage { /** * The number of requests made to the LLM API. */ requests: number; /** * The number of input tokens used across all requests. */ inputTokens: number; /** * The number of output tokens used across all requests. */ outputTokens: number; /** * The total number of tokens sent and received, across all requests. */ totalTokens: number; /** * Details about the input tokens used across all requests. */ inputTokensDetails: Array<TokenDetails>; /** * Details about the output tokens used across all requests. */ outputTokensDetails: Array<TokenDetails>; /** * List of per-request usage entries for detailed cost calculations. */ requestUsageEntries: RequestUsage[] | undefined; constructor(input?: UsageInput); /** * Reconstructs a Usage instance from a JSON-compatible wire value. */ static fromJSON(input?: UsageInput): Usage; add(newUsage: Usage): void; } export { RequestUsageData, UsageData };