Add a request queue to the tool scheduler (#5845)

This commit is contained in:
Jacob MacDonald
2025-08-08 14:50:35 -07:00
committed by GitHub
parent 9ac62565a0
commit 69322e12e4
3 changed files with 385 additions and 132 deletions

View File

@@ -63,7 +63,7 @@ export type TrackedToolCall =
| TrackedCancelledToolCall;
export function useReactToolScheduler(
onComplete: (tools: CompletedToolCall[]) => void,
onComplete: (tools: CompletedToolCall[]) => Promise<void>,
config: Config,
setPendingHistoryItem: React.Dispatch<
React.SetStateAction<HistoryItemWithoutId | null>
@@ -106,8 +106,8 @@ export function useReactToolScheduler(
);
const allToolCallsCompleteHandler: AllToolCallsCompleteHandler = useCallback(
(completedToolCalls) => {
onComplete(completedToolCalls);
async (completedToolCalls) => {
await onComplete(completedToolCalls);
},
[onComplete],
);
@@ -157,7 +157,7 @@ export function useReactToolScheduler(
request: ToolCallRequestInfo | ToolCallRequestInfo[],
signal: AbortSignal,
) => {
scheduler.schedule(request, signal);
void scheduler.schedule(request, signal);
},
[scheduler],
);