/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { llmUsageClassify } from "../funcs/llmUsageClassify.js"; import { llmUsageCompletions } from "../funcs/llmUsageCompletions.js"; import { llmUsageConversations } from "../funcs/llmUsageConversations.js"; import { llmUsageCosts } from "../funcs/llmUsageCosts.js"; import { llmUsageEmbeddings } from "../funcs/llmUsageEmbeddings.js"; import { llmUsageExtract } from "../funcs/llmUsageExtract.js"; import { llmUsageFiles } from "../funcs/llmUsageFiles.js"; import { llmUsageResponses } from "../funcs/llmUsageResponses.js"; import { llmUsageVectorStores } from "../funcs/llmUsageVectorStores.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; export class SDKUsage extends ClientSDK { /** * Get completions usage * * @remarks * Retrieve usage metrics for chat completions, aggregated from the ChatCompletion table. */ async completions( request: operations.GetCompletionsUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageCompletions( this, request, options, )); } /** * Get responses usage * * @remarks * Retrieve usage metrics for agent responses, aggregated from the Response table. */ async responses( request: operations.GetResponsesUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageResponses( this, request, options, )); } /** * Get conversations usage * * @remarks * Retrieve usage metrics for conversation operations. */ async conversations( request: operations.GetConversationsUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageConversations( this, request, options, )); } /** * Get embeddings usage * * @remarks * Retrieve usage metrics for embedding operations. */ async embeddings( request: operations.GetEmbeddingsUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageEmbeddings( this, request, options, )); } /** * Get extract usage * * @remarks * Retrieve usage metrics for extract operations. */ async extract( request: operations.GetExtractUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageExtract( this, request, options, )); } /** * Get classify usage * * @remarks * Retrieve usage metrics for classify operations. */ async classify( request: operations.GetClassifyUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageClassify( this, request, options, )); } /** * Get vector stores usage * * @remarks * Retrieve usage metrics for vector storage operations. */ async vectorStores( request: operations.GetVectorStoresUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageVectorStores( this, request, options, )); } /** * Get files usage * * @remarks * Retrieve bytes of files created per period from durable file creation events. This does not reflect current retained storage, buckets remain counted after file deletion, and grouped results collapse by requested output dimensions rather than one row per UserContext. */ async files( request: operations.GetFilesUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageFiles( this, request, options, )); } /** * Get cost by model * * @remarks * Aggregates spend by model over a time range, priced in the cluster currency from the model price book. Org-scoped: org admins see their org; cluster admins may pass `org_id`. Includes billable work with no usage row of its own (store=false responses, agent tool calls), so totals cover all LLM spend. Platform-wide, cross-service cost reporting lives in the budgeting API (/api/v1/budgeting/usage/costs). */ async costs( request: operations.GetCostsUsageRequest, options?: RequestOptions, ): Promise { return unwrapAsync(llmUsageCosts( this, request, options, )); } }