@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
87 lines (86 loc) • 2.63 kB
TypeScript
import { RequestUsageData, UsageData } from './types/protocol';
type RequestUsageInput = Partial<RequestUsageData & {
input_tokens: number;
output_tokens: number;
total_tokens: number;
input_tokens_details: object;
output_tokens_details: object;
endpoint?: string;
}>;
type UsageInput = Partial<UsageData & {
input_tokens: number;
output_tokens: number;
total_tokens: number;
input_tokens_details: Record<string, number> | Array<Record<string, number>> | object;
output_tokens_details: Record<string, number> | Array<Record<string, number>> | 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: Record<string, number>;
/**
* Details about the output tokens used for this request.
*/
outputTokensDetails: Record<string, number>;
/**
* The endpoint that produced this usage entry (e.g., responses.create, responses.compact).
*/
endpoint?: 'responses.create' | 'responses.compact' | (string & {});
constructor(input?: RequestUsageInput);
}
/**
* 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<Record<string, number>>;
/**
* Details about the output tokens used across all requests.
*/
outputTokensDetails: Array<Record<string, number>>;
/**
* List of per-request usage entries for detailed cost calculations.
*/
requestUsageEntries: RequestUsage[] | undefined;
constructor(input?: UsageInput);
add(newUsage: Usage): void;
}
export { RequestUsageData, UsageData };