File size: 2,375 Bytes
f0743f4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | import { useQuery } from '@tanstack/react-query';
import { Constants, QueryKeys, dataService } from 'librechat-data-provider';
import type { QueryObserverResult, UseQueryOptions } from '@tanstack/react-query';
import type t from 'librechat-data-provider';
export const useVerifyAgentToolAuth = (
params: t.VerifyToolAuthParams,
config?: UseQueryOptions<t.VerifyToolAuthResponse>,
): QueryObserverResult<t.VerifyToolAuthResponse> => {
return useQuery<t.VerifyToolAuthResponse>(
[QueryKeys.toolAuth, params.toolId],
() => dataService.getVerifyAgentToolAuth(params),
{
refetchOnWindowFocus: false,
refetchOnReconnect: false,
refetchOnMount: false,
...config,
},
);
};
export const useGetToolCalls = <TData = t.ToolCallResults>(
params: t.GetToolCallParams,
config?: UseQueryOptions<t.ToolCallResults, unknown, TData>,
): QueryObserverResult<TData, unknown> => {
const { conversationId = '' } = params;
return useQuery<t.ToolCallResults, unknown, TData>(
[QueryKeys.toolCalls, conversationId],
() => dataService.getToolCalls(params),
{
refetchOnWindowFocus: false,
refetchOnReconnect: false,
refetchOnMount: false,
enabled:
conversationId.length > 0 &&
conversationId !== Constants.NEW_CONVO &&
conversationId !== Constants.PENDING_CONVO &&
conversationId !== Constants.SEARCH,
...config,
},
);
};
export const useMCPConnectionStatusQuery = (
config?: UseQueryOptions<t.MCPConnectionStatusResponse>,
): QueryObserverResult<t.MCPConnectionStatusResponse> => {
return useQuery<t.MCPConnectionStatusResponse>(
[QueryKeys.mcpConnectionStatus],
() => dataService.getMCPConnectionStatus(),
{
refetchOnWindowFocus: false,
refetchOnReconnect: false,
refetchOnMount: false,
staleTime: 10000, // 10 seconds
...config,
},
);
};
export const useMCPAuthValuesQuery = (
serverName: string,
config?: UseQueryOptions<t.MCPAuthValuesResponse>,
): QueryObserverResult<t.MCPAuthValuesResponse> => {
return useQuery<t.MCPAuthValuesResponse>(
[QueryKeys.mcpAuthValues, serverName],
() => dataService.getMCPAuthValues(serverName),
{
refetchOnWindowFocus: false,
refetchOnReconnect: false,
refetchOnMount: false,
enabled: !!serverName,
...config,
},
);
};
|