/** * Generated by orval v8.9.1 🍺 * Do not edit manually. * Api * API specification * 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 { AiProvider, AiProviderInput, AiProviderUpdate, ApiError, DashboardSummary, HealthStatus, Prompt, PromptUpdate, ProviderTestResult, Rule, RuleUpdate, Scan, ScanDetail, SkillScanInput } 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 getGetDashboardUrl = () => { return `/api/dashboard` } /** * Aggregated statistics across all scans. * @summary Dashboard summary */ export const getDashboard = async ( options?: RequestInit): Promise => { return customFetch(getGetDashboardUrl(), { ...options, method: 'GET' } );} export const getGetDashboardQueryKey = () => { return [ `/api/dashboard` ] as const; } export const getGetDashboardQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetDashboardQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => getDashboard({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type GetDashboardQueryResult = NonNullable>> export type GetDashboardQueryError = ErrorType /** * @summary Dashboard summary */ export function useGetDashboard>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getGetDashboardQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getListScansUrl = () => { return `/api/scans` } /** * @summary List scan history */ export const listScans = async ( options?: RequestInit): Promise => { return customFetch(getListScansUrl(), { ...options, method: 'GET' } );} export const getListScansQueryKey = () => { return [ `/api/scans` ] as const; } export const getListScansQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListScansQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => listScans({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type ListScansQueryResult = NonNullable>> export type ListScansQueryError = ErrorType /** * @summary List scan history */ export function useListScans>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getListScansQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getCreateScanUrl = () => { return `/api/scans` } /** * Accepts a skill as a base64 ZIP archive, a single base64 file, or pasted text, runs the static rule engine and (optionally) the configured AI analysis, and returns the completed report. * @summary Upload a skill and run an audit */ export const createScan = async (skillScanInput: SkillScanInput, options?: RequestInit): Promise => { return customFetch(getCreateScanUrl(), { ...options, method: 'POST', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( skillScanInput,) } );} export const getCreateScanMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{data: BodyType}, TContext> => { const mutationKey = ['createScan']; 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 createScan(data,requestOptions) } return { mutationFn, ...mutationOptions }} export type CreateScanMutationResult = NonNullable>> export type CreateScanMutationBody = BodyType export type CreateScanMutationError = ErrorType /** * @summary Upload a skill and run an audit */ export const useCreateScan = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {data: BodyType}, TContext > => { return useMutation(getCreateScanMutationOptions(options)); } export const getGetScanUrl = (id: number,) => { return `/api/scans/${id}` } /** * @summary Get a scan report with findings */ export const getScan = async (id: number, options?: RequestInit): Promise => { return customFetch(getGetScanUrl(id), { ...options, method: 'GET' } );} export const getGetScanQueryKey = (id: number,) => { return [ `/api/scans/${id}` ] as const; } export const getGetScanQueryOptions = >, TError = ErrorType>(id: number, options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetScanQueryKey(id); const queryFn: QueryFunction>> = ({ signal }) => getScan(id, { signal, ...requestOptions }); return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type GetScanQueryResult = NonNullable>> export type GetScanQueryError = ErrorType /** * @summary Get a scan report with findings */ export function useGetScan>, TError = ErrorType>( id: number, options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getGetScanQueryOptions(id,options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getDeleteScanUrl = (id: number,) => { return `/api/scans/${id}` } /** * @summary Delete a scan report */ export const deleteScan = async (id: number, options?: RequestInit): Promise => { return customFetch(getDeleteScanUrl(id), { ...options, method: 'DELETE' } );} export const getDeleteScanMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{id: number}, TContext> => { const mutationKey = ['deleteScan']; 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>, {id: number}> = (props) => { const {id} = props ?? {}; return deleteScan(id,requestOptions) } return { mutationFn, ...mutationOptions }} export type DeleteScanMutationResult = NonNullable>> export type DeleteScanMutationError = ErrorType /** * @summary Delete a scan report */ export const useDeleteScan = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {id: number}, TContext > => { return useMutation(getDeleteScanMutationOptions(options)); } export const getListProvidersUrl = () => { return `/api/providers` } /** * @summary List configured AI providers */ export const listProviders = async ( options?: RequestInit): Promise => { return customFetch(getListProvidersUrl(), { ...options, method: 'GET' } );} export const getListProvidersQueryKey = () => { return [ `/api/providers` ] as const; } export const getListProvidersQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListProvidersQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => listProviders({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type ListProvidersQueryResult = NonNullable>> export type ListProvidersQueryError = ErrorType /** * @summary List configured AI providers */ export function useListProviders>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getListProvidersQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getCreateProviderUrl = () => { return `/api/providers` } /** * @summary Create an AI provider */ export const createProvider = async (aiProviderInput: AiProviderInput, options?: RequestInit): Promise => { return customFetch(getCreateProviderUrl(), { ...options, method: 'POST', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( aiProviderInput,) } );} export const getCreateProviderMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{data: BodyType}, TContext> => { const mutationKey = ['createProvider']; 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 createProvider(data,requestOptions) } return { mutationFn, ...mutationOptions }} export type CreateProviderMutationResult = NonNullable>> export type CreateProviderMutationBody = BodyType export type CreateProviderMutationError = ErrorType /** * @summary Create an AI provider */ export const useCreateProvider = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {data: BodyType}, TContext > => { return useMutation(getCreateProviderMutationOptions(options)); } export const getUpdateProviderUrl = (id: number,) => { return `/api/providers/${id}` } /** * @summary Update an AI provider */ export const updateProvider = async (id: number, aiProviderUpdate: AiProviderUpdate, options?: RequestInit): Promise => { return customFetch(getUpdateProviderUrl(id), { ...options, method: 'PATCH', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( aiProviderUpdate,) } );} export const getUpdateProviderMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{id: number;data: BodyType}, TContext> => { const mutationKey = ['updateProvider']; 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>, {id: number;data: BodyType}> = (props) => { const {id,data} = props ?? {}; return updateProvider(id,data,requestOptions) } return { mutationFn, ...mutationOptions }} export type UpdateProviderMutationResult = NonNullable>> export type UpdateProviderMutationBody = BodyType export type UpdateProviderMutationError = ErrorType /** * @summary Update an AI provider */ export const useUpdateProvider = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {id: number;data: BodyType}, TContext > => { return useMutation(getUpdateProviderMutationOptions(options)); } export const getDeleteProviderUrl = (id: number,) => { return `/api/providers/${id}` } /** * @summary Delete an AI provider */ export const deleteProvider = async (id: number, options?: RequestInit): Promise => { return customFetch(getDeleteProviderUrl(id), { ...options, method: 'DELETE' } );} export const getDeleteProviderMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{id: number}, TContext> => { const mutationKey = ['deleteProvider']; 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>, {id: number}> = (props) => { const {id} = props ?? {}; return deleteProvider(id,requestOptions) } return { mutationFn, ...mutationOptions }} export type DeleteProviderMutationResult = NonNullable>> export type DeleteProviderMutationError = ErrorType /** * @summary Delete an AI provider */ export const useDeleteProvider = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {id: number}, TContext > => { return useMutation(getDeleteProviderMutationOptions(options)); } export const getTestProviderUrl = (id: number,) => { return `/api/providers/${id}/test` } /** * @summary Test the connection to an AI provider */ export const testProvider = async (id: number, options?: RequestInit): Promise => { return customFetch(getTestProviderUrl(id), { ...options, method: 'POST' } );} export const getTestProviderMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{id: number}, TContext> => { const mutationKey = ['testProvider']; 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>, {id: number}> = (props) => { const {id} = props ?? {}; return testProvider(id,requestOptions) } return { mutationFn, ...mutationOptions }} export type TestProviderMutationResult = NonNullable>> export type TestProviderMutationError = ErrorType /** * @summary Test the connection to an AI provider */ export const useTestProvider = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {id: number}, TContext > => { return useMutation(getTestProviderMutationOptions(options)); } export const getListPromptsUrl = () => { return `/api/prompts` } /** * @summary List configurable AI prompts */ export const listPrompts = async ( options?: RequestInit): Promise => { return customFetch(getListPromptsUrl(), { ...options, method: 'GET' } );} export const getListPromptsQueryKey = () => { return [ `/api/prompts` ] as const; } export const getListPromptsQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListPromptsQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => listPrompts({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type ListPromptsQueryResult = NonNullable>> export type ListPromptsQueryError = ErrorType /** * @summary List configurable AI prompts */ export function useListPrompts>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getListPromptsQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getUpdatePromptUrl = (id: number,) => { return `/api/prompts/${id}` } /** * @summary Update an AI prompt */ export const updatePrompt = async (id: number, promptUpdate: PromptUpdate, options?: RequestInit): Promise => { return customFetch(getUpdatePromptUrl(id), { ...options, method: 'PATCH', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( promptUpdate,) } );} export const getUpdatePromptMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{id: number;data: BodyType}, TContext> => { const mutationKey = ['updatePrompt']; 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>, {id: number;data: BodyType}> = (props) => { const {id,data} = props ?? {}; return updatePrompt(id,data,requestOptions) } return { mutationFn, ...mutationOptions }} export type UpdatePromptMutationResult = NonNullable>> export type UpdatePromptMutationBody = BodyType export type UpdatePromptMutationError = ErrorType /** * @summary Update an AI prompt */ export const useUpdatePrompt = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {id: number;data: BodyType}, TContext > => { return useMutation(getUpdatePromptMutationOptions(options)); } export const getListRulesUrl = () => { return `/api/rules` } /** * @summary List the static rule catalog */ export const listRules = async ( options?: RequestInit): Promise => { return customFetch(getListRulesUrl(), { ...options, method: 'GET' } );} export const getListRulesQueryKey = () => { return [ `/api/rules` ] as const; } export const getListRulesQueryOptions = >, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListRulesQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => listRules({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: QueryKey } } export type ListRulesQueryResult = NonNullable>> export type ListRulesQueryError = ErrorType /** * @summary List the static rule catalog */ export function useListRules>, TError = ErrorType>( options?: { query?:UseQueryOptions>, TError, TData>, request?: SecondParameter} ): UseQueryResult & { queryKey: QueryKey } { const queryOptions = getListRulesQueryOptions(options) const query = useQuery(queryOptions) as UseQueryResult & { queryKey: QueryKey }; return { ...query, queryKey: queryOptions.queryKey }; } export const getUpdateRuleUrl = (id: number,) => { return `/api/rules/${id}` } /** * @summary Update a rule's severity or enabled state */ export const updateRule = async (id: number, ruleUpdate: RuleUpdate, options?: RequestInit): Promise => { return customFetch(getUpdateRuleUrl(id), { ...options, method: 'PATCH', headers: { 'Content-Type': 'application/json', ...options?.headers }, body: JSON.stringify( ruleUpdate,) } );} export const getUpdateRuleMutationOptions = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{id: number;data: BodyType}, TContext> => { const mutationKey = ['updateRule']; 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>, {id: number;data: BodyType}> = (props) => { const {id,data} = props ?? {}; return updateRule(id,data,requestOptions) } return { mutationFn, ...mutationOptions }} export type UpdateRuleMutationResult = NonNullable>> export type UpdateRuleMutationBody = BodyType export type UpdateRuleMutationError = ErrorType /** * @summary Update a rule's severity or enabled state */ export const useUpdateRule = , TContext = unknown>(options?: { mutation?:UseMutationOptions>, TError,{id: number;data: BodyType}, TContext>, request?: SecondParameter} ): UseMutationResult< Awaited>, TError, {id: number;data: BodyType}, TContext > => { return useMutation(getUpdateRuleMutationOptions(options)); }