/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: b40cc18cc0e3 */ import { InvalidateQueryFilters, QueryClient, useQuery, UseQueryResult, useSuspenseQuery, UseSuspenseQueryResult, } from "@tanstack/react-query"; import { GleanBaseError } from "../models/errors/gleanbaseerror.js"; import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError, } from "../models/errors/httpclienterrors.js"; import { ResponseValidationError } from "../models/errors/responsevalidationerror.js"; import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; import { useGleanContext } from "./_context.js"; import { QueryHookOptions, SuspenseQueryHookOptions, TupleToPrefixes, } from "./_types.js"; import { buildClientToolsListQuery, ClientToolsListQueryData, prefetchClientToolsList, queryKeyClientToolsList, } from "./clientToolsList.core.js"; export { buildClientToolsListQuery, type ClientToolsListQueryData, prefetchClientToolsList, queryKeyClientToolsList, }; export type ClientToolsListQueryError = | GleanBaseError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * List available tools * * @remarks * Returns a filtered set of available tools based on optional tool name parameters. If no filters are provided, all available tools are returned. */ export function useClientToolsList( toolNames?: Array | undefined, options?: QueryHookOptions< ClientToolsListQueryData, ClientToolsListQueryError >, ): UseQueryResult { const client = useGleanContext(); return useQuery({ ...buildClientToolsListQuery( client, toolNames, options, ), ...options, }); } /** * List available tools * * @remarks * Returns a filtered set of available tools based on optional tool name parameters. If no filters are provided, all available tools are returned. */ export function useClientToolsListSuspense( toolNames?: Array | undefined, options?: SuspenseQueryHookOptions< ClientToolsListQueryData, ClientToolsListQueryError >, ): UseSuspenseQueryResult { const client = useGleanContext(); return useSuspenseQuery({ ...buildClientToolsListQuery( client, toolNames, options, ), ...options, }); } export function setClientToolsListData( client: QueryClient, queryKeyBase: [parameters: { toolNames?: Array | undefined }], data: ClientToolsListQueryData, ): ClientToolsListQueryData | undefined { const key = queryKeyClientToolsList(...queryKeyBase); return client.setQueryData(key, data); } export function invalidateClientToolsList( client: QueryClient, queryKeyBase: TupleToPrefixes< [parameters: { toolNames?: Array | undefined }] >, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: ["@gleanwork/api-client", "tools", "list", ...queryKeyBase], }); } export function invalidateAllClientToolsList( client: QueryClient, filters?: Omit, ): Promise { return client.invalidateQueries({ ...filters, queryKey: ["@gleanwork/api-client", "tools", "list"], }); }