/** * Generated by orval v8.9.1 🍺 * Do not edit manually. * Api * Io HST Search Engine API * OpenAPI spec version: 0.1.0 */ import { useMutation, useQuery } from '@tanstack/react-query'; import type { MutationFunction, QueryFunction, QueryKey, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import type { FeedbackInput, FeedbackResult, FeedbackStats, FineTuneInput, FineTuneState, HealthStatus, ModelInput, ModelResult, ModelStatus, SearchInput, SearchResult } from './api.schemas'; import { customFetch } from '../custom-fetch'; import type { ErrorType , BodyType } from '../custom-fetch'; type AwaitedInput = PromiseLike | T; type Awaited = O extends AwaitedInput ? T : never; type SecondParameter unknown> = Parameters[1]; export const getHealthCheckUrl = () => { return `/api/healthz` } /** * Returns server health status * @summary Health check */ export const healthCheck = async ( options?: RequestInit): Promise => { return customFetch(getHealthCheckUrl(), { ...options, method: 'GET' } );} export const getHealthCheckQueryKey = () => { return [ `/api/healthz` ] as const; } export const getHealthCheckQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getHealthCheckQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => healthCheck({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type HealthCheckQueryResult = NonNullable>> export type HealthCheckQueryError = ErrorType /** * @summary Health check */ export function useHealthCheck>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getHealthCheckQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getSearchUrl = () => { return `/api/search` } /** * Runs the HST search engine across 200+ sources and returns a synthesized answer * @summary Search and synthesize */ export const search = async (searchInput: SearchInput, options?: RequestInit): Promise => { return customFetch(getSearchUrl(), { ...options, method: 'POST', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( searchInput,) } );} export const getSearchMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{data: BodyType}, TContext> => { const mutationKey = ['search']; const {mutation: mutationOptions, request: requestOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }, request: undefined}; const mutationFn: MutationFunction>, {data: BodyType}> = (props) => { const {data} = props ?? {}; return search(data,requestOptions) } return { mutationFn, ...mutationOptions }} export type SearchMutationResult = NonNullable>> export type SearchMutationBody = BodyType export type SearchMutationError = ErrorType /** * @summary Search and synthesize */ export const useSearch = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {data: BodyType}, TContext > => { return useMutation(getSearchMutationOptions(options)); } export const getModelGenerateUrl = () => { return `/api/model/generate` } /** * Runs inference on the Io HST checkpoint * @summary Generate text from Io neural model */ export const modelGenerate = async (modelInput: ModelInput, options?: RequestInit): Promise => { return customFetch(getModelGenerateUrl(), { ...options, method: 'POST', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( modelInput,) } );} export const getModelGenerateMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{data: BodyType}, TContext> => { const mutationKey = ['modelGenerate']; const {mutation: mutationOptions, request: requestOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }, request: undefined}; const mutationFn: MutationFunction>, {data: BodyType}> = (props) => { const {data} = props ?? {}; return modelGenerate(data,requestOptions) } return { mutationFn, ...mutationOptions }} export type ModelGenerateMutationResult = NonNullable>> export type ModelGenerateMutationBody = BodyType export type ModelGenerateMutationError = ErrorType /** * @summary Generate text from Io neural model */ export const useModelGenerate = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {data: BodyType}, TContext > => { return useMutation(getModelGenerateMutationOptions(options)); } export const getSubmitFeedbackUrl = () => { return `/api/feedback` } /** * @summary Submit thumbs up/down for a search answer */ export const submitFeedback = async (feedbackInput: FeedbackInput, options?: RequestInit): Promise => { return customFetch(getSubmitFeedbackUrl(), { ...options, method: 'POST', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( feedbackInput,) } );} export const getSubmitFeedbackMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{data: BodyType}, TContext> => { const mutationKey = ['submitFeedback']; const {mutation: mutationOptions, request: requestOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }, request: undefined}; const mutationFn: MutationFunction>, {data: BodyType}> = (props) => { const {data} = props ?? {}; return submitFeedback(data,requestOptions) } return { mutationFn, ...mutationOptions }} export type SubmitFeedbackMutationResult = NonNullable>> export type SubmitFeedbackMutationBody = BodyType export type SubmitFeedbackMutationError = ErrorType /** * @summary Submit thumbs up/down for a search answer */ export const useSubmitFeedback = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {data: BodyType}, TContext > => { return useMutation(getSubmitFeedbackMutationOptions(options)); } export const getFeedbackStatsUrl = () => { return `/api/feedback/stats` } /** * @summary Aggregate feedback stats */ export const feedbackStats = async ( options?: RequestInit): Promise => { return customFetch(getFeedbackStatsUrl(), { ...options, method: 'GET' } );} export const getFeedbackStatsQueryKey = () => { return [ `/api/feedback/stats` ] as const; } export const getFeedbackStatsQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getFeedbackStatsQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => feedbackStats({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type FeedbackStatsQueryResult = NonNullable>> export type FeedbackStatsQueryError = ErrorType /** * @summary Aggregate feedback stats */ export function useFeedbackStats>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getFeedbackStatsQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getModelFineTuneUrl = () => { return `/api/model/finetune` } /** * @summary Start light CPU fine-tuning of the Io checkpoint */ export const modelFineTune = async (fineTuneInput?: FineTuneInput, options?: RequestInit): Promise => { return customFetch(getModelFineTuneUrl(), { ...options, method: 'POST', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( fineTuneInput,) } );} export const getModelFineTuneMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data?: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{data?: BodyType}, TContext> => { const mutationKey = ['modelFineTune']; const {mutation: mutationOptions, request: requestOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }, request: undefined}; const mutationFn: MutationFunction>, {data?: BodyType}> = (props) => { const {data} = props ?? {}; return modelFineTune(data,requestOptions) } return { mutationFn, ...mutationOptions }} export type ModelFineTuneMutationResult = NonNullable>> export type ModelFineTuneMutationBody = BodyType | undefined export type ModelFineTuneMutationError = ErrorType /** * @summary Start light CPU fine-tuning of the Io checkpoint */ export const useModelFineTune = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data?: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {data?: BodyType}, TContext > => { return useMutation(getModelFineTuneMutationOptions(options)); } export const getModelFineTuneStatusUrl = () => { return `/api/model/finetune/status` } /** * @summary Fine-tune status */ export const modelFineTuneStatus = async ( options?: RequestInit): Promise => { return customFetch(getModelFineTuneStatusUrl(), { ...options, method: 'GET' } );} export const getModelFineTuneStatusQueryKey = () => { return [ `/api/model/finetune/status` ] as const; } export const getModelFineTuneStatusQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getModelFineTuneStatusQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => modelFineTuneStatus({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type ModelFineTuneStatusQueryResult = NonNullable>> export type ModelFineTuneStatusQueryError = ErrorType /** * @summary Fine-tune status */ export function useModelFineTuneStatus>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getModelFineTuneStatusQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getModelStatusUrl = () => { return `/api/model/status` } /** * @summary Model status */ export const modelStatus = async ( options?: RequestInit): Promise => { return customFetch(getModelStatusUrl(), { ...options, method: 'GET' } );} export const getModelStatusQueryKey = () => { return [ `/api/model/status` ] as const; } export const getModelStatusQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getModelStatusQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => modelStatus({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type ModelStatusQueryResult = NonNullable>> export type ModelStatusQueryError = ErrorType /** * @summary Model status */ export function useModelStatus>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getModelStatusQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; }