/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { InvalidateQueryFilters, QueryClient, useQuery, UseQueryResult, useSuspenseQuery, UseSuspenseQueryResult, } from "@tanstack/react-query"; import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError, } from "../models/errors/httpclienterrors.js"; import { ResponseValidationError } from "../models/errors/responsevalidationerror.js"; import { SDKError } from "../models/errors/sdkerror.js"; import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; import * as operations from "../models/operations/index.js"; import { useSDKContext } from "./_context.js"; import { QueryHookOptions, SuspenseQueryHookOptions, TupleToPrefixes, } from "./_types.js"; import { buildLlmEvalsListSuiteLeaderboardRunsQuery, LlmEvalsListSuiteLeaderboardRunsQueryData, prefetchLlmEvalsListSuiteLeaderboardRuns, queryKeyLlmEvalsListSuiteLeaderboardRuns, } from "./llmEvalsListSuiteLeaderboardRuns.core.js"; export { buildLlmEvalsListSuiteLeaderboardRunsQuery, type LlmEvalsListSuiteLeaderboardRunsQueryData, prefetchLlmEvalsListSuiteLeaderboardRuns, queryKeyLlmEvalsListSuiteLeaderboardRuns, }; export type LlmEvalsListSuiteLeaderboardRunsQueryError = | SDKError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * List leaderboard runs for an eval suite * * @remarks * Returns each ranking group's most recent completed runs for a suite in one request, with the group assignments in `groups`. A group is (model, targeted task) for task_ids-restricted runs and (model) for unrestricted runs (task_id null). Build boards from `groups`, not from run.models/run.task_ids — a returned run may name models or tasks whose groups it did not rank in. `truncated: true` means a server ceiling trimmed the aggregate; whole runs are kept in (best rank, first model, first task, id) order, so every group's newest runs survive before any group's fallbacks and no group is dropped for being old. Resume a truncated board by passing `next_cursor` back as `cursor` and unioning the responses. See the evals docs for grouping rationale and cost characteristics. */ export function useLlmEvalsListSuiteLeaderboardRuns( request: operations.ListEvalSuiteLeaderboardRunsRequest, options?: QueryHookOptions< LlmEvalsListSuiteLeaderboardRunsQueryData, LlmEvalsListSuiteLeaderboardRunsQueryError >, ): UseQueryResult< LlmEvalsListSuiteLeaderboardRunsQueryData, LlmEvalsListSuiteLeaderboardRunsQueryError > { const client = useSDKContext(); return useQuery({ ...buildLlmEvalsListSuiteLeaderboardRunsQuery( client, request, options, ), ...options, }); } /** * List leaderboard runs for an eval suite * * @remarks * Returns each ranking group's most recent completed runs for a suite in one request, with the group assignments in `groups`. A group is (model, targeted task) for task_ids-restricted runs and (model) for unrestricted runs (task_id null). Build boards from `groups`, not from run.models/run.task_ids — a returned run may name models or tasks whose groups it did not rank in. `truncated: true` means a server ceiling trimmed the aggregate; whole runs are kept in (best rank, first model, first task, id) order, so every group's newest runs survive before any group's fallbacks and no group is dropped for being old. Resume a truncated board by passing `next_cursor` back as `cursor` and unioning the responses. See the evals docs for grouping rationale and cost characteristics. */ export function useLlmEvalsListSuiteLeaderboardRunsSuspense( request: operations.ListEvalSuiteLeaderboardRunsRequest, options?: SuspenseQueryHookOptions< LlmEvalsListSuiteLeaderboardRunsQueryData, LlmEvalsListSuiteLeaderboardRunsQueryError >, ): UseSuspenseQueryResult< LlmEvalsListSuiteLeaderboardRunsQueryData, LlmEvalsListSuiteLeaderboardRunsQueryError > { const client = useSDKContext(); return useSuspenseQuery({ ...buildLlmEvalsListSuiteLeaderboardRunsQuery( client, request, options, ), ...options, }); } export function setLlmEvalsListSuiteLeaderboardRunsData( client: QueryClient, queryKeyBase: [ suiteId: string, parameters: { suiteVersion?: number | undefined; perGroup?: number | undefined; model?: string | undefined; cursor?: string | undefined; xOnBehalfOf?: string | undefined; }, ], data: LlmEvalsListSuiteLeaderboardRunsQueryData, ): LlmEvalsListSuiteLeaderboardRunsQueryData | undefined { const key = queryKeyLlmEvalsListSuiteLeaderboardRuns(...queryKeyBase); return client.setQueryData( key, data, ); } export function invalidateLlmEvalsListSuiteLeaderboardRuns( client: QueryClient, queryKeyBase: TupleToPrefixes< [ suiteId: string, parameters: { suiteVersion?: number | undefined; perGroup?: number | undefined; model?: string | undefined; cursor?: string | undefined; xOnBehalfOf?: string | undefined; }, ] >, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: [ "@meetkai/mka1", "evals", "listSuiteLeaderboardRuns", ...queryKeyBase, ], }); } export function invalidateAllLlmEvalsListSuiteLeaderboardRuns( client: QueryClient, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: ["@meetkai/mka1", "evals", "listSuiteLeaderboardRuns"], }); }