From ef427d3eae77fca716c203dd8bd84939710c518a Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Sat, 23 May 2026 04:37:56 +0900 Subject: feat: youtube_transcribe blocks with polling, interruptible with background retrieve - youtube_transcribe now polls until transcript is ready (waits estimated_seconds - 2s, min 2s) - Times out after 10 minutes of polling - When user interrupts, polling continues in background with youtube_transcribe_ job ID - BackgroundTranscriptStore holds polling jobs, retrieve tool resolves them - ToolCallDisplay shows 'interrupted' badge (blue) when result contains [USER INTERRUPT] - Applies to all interruptible tools: run_shell, youtube_transcribe, retrieve --- packages/frontend/src/lib/components/ToolCallDisplay.svelte | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'packages/frontend/src') diff --git a/packages/frontend/src/lib/components/ToolCallDisplay.svelte b/packages/frontend/src/lib/components/ToolCallDisplay.svelte index 213ba17..7c7aef6 100644 --- a/packages/frontend/src/lib/components/ToolCallDisplay.svelte +++ b/packages/frontend/src/lib/components/ToolCallDisplay.svelte @@ -70,7 +70,9 @@ const summonAgentId = $derived.by(() => { >Open Tab {/if} {#if toolCall.result !== undefined} - {#if isShell && shellResult !== null} + {#if toolCall.result.includes("[USER INTERRUPT]")} + interrupted + {:else if isShell && shellResult !== null} exit {shellResult.exitCode} -- cgit v1.2.3