mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-20 10:20:15 +01:00
29 lines
738 B
TypeScript
29 lines
738 B
TypeScript
|
|
import { ToolCallResult } from 'librechat-data-provider';
|
||
|
|
import { useMemo } from 'react';
|
||
|
|
import { useGetToolCalls } from '~/data-provider';
|
||
|
|
import { mapToolCalls, logger } from '~/utils';
|
||
|
|
|
||
|
|
type ToolCallsMap = {
|
||
|
|
[x: string]: ToolCallResult[] | undefined;
|
||
|
|
};
|
||
|
|
|
||
|
|
export default function useToolCallsMap({
|
||
|
|
conversationId,
|
||
|
|
}: {
|
||
|
|
conversationId: string;
|
||
|
|
}): ToolCallsMap | undefined {
|
||
|
|
const { data: toolCallsMap = null } = useGetToolCalls(
|
||
|
|
{ conversationId },
|
||
|
|
{
|
||
|
|
select: (res) => mapToolCalls(res),
|
||
|
|
},
|
||
|
|
);
|
||
|
|
|
||
|
|
const result = useMemo<ToolCallsMap | undefined>(() => {
|
||
|
|
return toolCallsMap !== null ? toolCallsMap : undefined;
|
||
|
|
}, [toolCallsMap]);
|
||
|
|
|
||
|
|
logger.log('tools', 'tool calls map:', result);
|
||
|
|
return result;
|
||
|
|
}
|