From 62ee668a52fd5dec2f211ee630abf6e11a51ac8b Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Fri, 22 Aug 2025 16:12:12 +0800 Subject: [PATCH 01/30] feat(tarko): add TTFT display for assistant messages --- .../handlers/MessageHandler.ts | 2 + .../agent-web-ui/src/common/types/index.ts | 1 + .../chat/Message/components/TTFTDisplay.tsx | 80 +++++++++++++++++++ .../src/standalone/chat/Message/index.tsx | 8 ++ 4 files changed, 91 insertions(+) create mode 100644 multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx diff --git a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts index 5d2691b09c..a7acb27755 100644 --- a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts +++ b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts @@ -93,6 +93,7 @@ export class AssistantMessageHandler toolCalls: event.toolCalls, finishReason: event.finishReason, isStreaming: false, + elapsedMs: event.elapsedMs, }; return { @@ -114,6 +115,7 @@ export class AssistantMessageHandler toolCalls: event.toolCalls, finishReason: event.finishReason, messageId: messageId, + elapsedMs: event.elapsedMs, }, ], }; diff --git a/multimodal/tarko/agent-web-ui/src/common/types/index.ts b/multimodal/tarko/agent-web-ui/src/common/types/index.ts index 165240d76b..e62fd74934 100644 --- a/multimodal/tarko/agent-web-ui/src/common/types/index.ts +++ b/multimodal/tarko/agent-web-ui/src/common/types/index.ts @@ -46,6 +46,7 @@ export interface Message { description?: string; // Added for environment inputs isDeepResearch?: boolean; // Added for final answer events title?: string; // Added for research report title + elapsedMs?: number; // Added for TTFT timing display // System message specific properties level?: 'info' | 'warning' | 'error'; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx new file mode 100644 index 0000000000..dbafdd2b79 --- /dev/null +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx @@ -0,0 +1,80 @@ +import React from 'react'; +import { motion } from 'framer-motion'; +import { FiZap, FiClock } from 'react-icons/fi'; + +interface TTFTDisplayProps { + elapsedMs: number; + className?: string; +} + +/** + * TTFT (Time to First Token) Display Component + * Shows the response time for assistant messages with appropriate color coding + */ +export const TTFTDisplay: React.FC = ({ elapsedMs, className = '' }) => { + // Helper function to format elapsed time for display + const formatElapsedTime = (ms: number): string => { + if (ms < 1000) { + return `${ms}ms`; + } else if (ms < 60000) { + return `${(ms / 1000).toFixed(1)}s`; + } else { + const minutes = Math.floor(ms / 60000); + const seconds = Math.floor((ms % 60000) / 1000); + return `${minutes}m ${seconds}s`; + } + }; + + // Helper function to get timing badge style based on duration + const getTimingBadgeStyle = (ms: number) => { + if (ms < 1000) { + // Very fast - green + return { + bg: 'bg-emerald-50 dark:bg-emerald-900/20', + text: 'text-emerald-700 dark:text-emerald-400', + border: 'border-emerald-200/50 dark:border-emerald-700/30', + icon: 'text-emerald-600 dark:text-emerald-400', + }; + } else if (ms < 3000) { + // Fast - blue + return { + bg: 'bg-blue-50 dark:bg-blue-900/20', + text: 'text-blue-700 dark:text-blue-400', + border: 'border-blue-200/50 dark:border-blue-700/30', + icon: 'text-blue-600 dark:text-blue-400', + }; + } else if (ms < 8000) { + // Medium - amber + return { + bg: 'bg-amber-50 dark:bg-amber-900/20', + text: 'text-amber-700 dark:text-amber-400', + border: 'border-amber-200/50 dark:border-amber-700/30', + icon: 'text-amber-600 dark:text-amber-400', + }; + } else { + // Slow - red + return { + bg: 'bg-red-50 dark:bg-red-900/20', + text: 'text-red-700 dark:text-red-400', + border: 'border-red-200/50 dark:border-red-700/30', + icon: 'text-red-600 dark:text-red-400', + }; + } + }; + + const timingStyle = getTimingBadgeStyle(elapsedMs); + + return ( + + + + {formatElapsedTime(elapsedMs)} + + + ); +}; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx index a65753410e..80e15f66aa 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx @@ -13,6 +13,7 @@ import { MultimodalContent } from './components/MultimodalContent'; import { ToolCalls } from './components/ToolCalls'; import { ThinkingToggle } from './components/ThinkingToggle'; import { MessageTimestamp } from './components/MessageTimestamp'; +import { TTFTDisplay } from './components/TTFTDisplay'; import { useAtomValue } from 'jotai'; import { replayStateAtom } from '@/common/state/atoms/replay'; import { ReportFileEntry } from './components/ReportFileEntry'; @@ -172,6 +173,13 @@ export const Message: React.FC = ({ /> ) : ( <> + {/* TTFT timing display for assistant messages */} + {message.role === 'assistant' && message.elapsedMs !== undefined && ( +
+ +
+ )} + {/* Enhanced thinking display with duration support */} {message.thinking && ( Date: Mon, 25 Aug 2025 23:18:39 +0800 Subject: [PATCH 02/30] feat(tarko): implement elapsedMs calculation for assistant messages Add timing calculation in agent kernel to populate elapsedMs field: - Track request start time in LLMProcessor - Calculate elapsed time from request to response completion - Set elapsedMs in all assistant_message events - Handle edge cases (abort, error, max iterations) with 0ms --- .../actions/eventProcessors/handlers/MessageHandler.ts | 2 ++ multimodal/tarko/agent/src/agent/agent-runner.ts | 3 +++ .../tarko/agent/src/agent/runner/llm-processor.ts | 10 ++++++++++ .../tarko/agent/src/agent/runner/loop-executor.ts | 3 +++ 4 files changed, 18 insertions(+) diff --git a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts index a7acb27755..942351dd65 100644 --- a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts +++ b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts @@ -84,6 +84,8 @@ export class AssistantMessageHandler (msg) => msg.messageId === messageId, ); + debugger; + if (existingMessageIndex !== -1) { const updatedMessages = [...sessionMessages]; updatedMessages[existingMessageIndex] = { diff --git a/multimodal/tarko/agent/src/agent/agent-runner.ts b/multimodal/tarko/agent/src/agent/agent-runner.ts index c430cd8575..cd4a64b107 100644 --- a/multimodal/tarko/agent/src/agent/agent-runner.ts +++ b/multimodal/tarko/agent/src/agent/agent-runner.ts @@ -196,6 +196,7 @@ export class AgentRunner { return this.eventStream.createEvent('assistant_message', { content: 'Request was aborted', finishReason: 'abort', + elapsedMs: 0, // Immediate abort, no processing time }); } else { // Handle other types of errors @@ -216,6 +217,7 @@ export class AgentRunner { return this.eventStream.createEvent('assistant_message', { content: errorMessage, finishReason: 'error', + elapsedMs: 0, // Error occurred, no meaningful processing time }); } } @@ -251,6 +253,7 @@ export class AgentRunner { return this.eventStream.createEvent('assistant_message', { content: 'Request was aborted', finishReason: 'abort', + elapsedMs: 0, // Immediate abort, no processing time }); } diff --git a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts index 009cb626cc..03f17a5c2b 100644 --- a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts +++ b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts @@ -211,6 +211,7 @@ export class LLMProcessor { sessionId, toolCallEngine, streamingMode, + startTime, abortSignal, ); @@ -227,6 +228,7 @@ export class LLMProcessor { sessionId: string, toolCallEngine: ToolCallEngine, streamingMode: boolean, + requestStartTime: number, abortSignal?: AbortSignal, ): Promise { // Check if operation was aborted @@ -260,6 +262,7 @@ export class LLMProcessor { sessionId, toolCallEngine, streamingMode, + requestStartTime, abortSignal, ); } @@ -274,6 +277,7 @@ export class LLMProcessor { sessionId: string, toolCallEngine: ToolCallEngine, streamingMode: boolean, + requestStartTime: number, abortSignal?: AbortSignal, ): Promise { // Collect all chunks for final onLLMResponse call @@ -356,6 +360,9 @@ export class LLMProcessor { this.logger.infoWithData('Finalized Response', parsedResponse, JSON.stringify); + // Calculate elapsed time from request start to response completion + const elapsedMs = Date.now() - requestStartTime; + // Create the final events based on processed content this.createFinalEvents( parsedResponse.content || '', @@ -364,6 +371,7 @@ export class LLMProcessor { parsedResponse.reasoningContent || '', parsedResponse.finishReason || 'stop', messageId, // Pass the message ID to final events + elapsedMs, // Pass the elapsed time to final events ); // Call response hooks with session ID @@ -420,6 +428,7 @@ export class LLMProcessor { reasoningBuffer: string, finishReason: string, messageId?: string, + elapsedMs?: number, ): void { // If we have complete content, create a consolidated assistant message event if (content || currentToolCalls.length > 0) { @@ -429,6 +438,7 @@ export class LLMProcessor { toolCalls: currentToolCalls.length > 0 ? currentToolCalls : undefined, finishReason: finishReason, messageId: messageId, // Include the message ID in the final message + elapsedMs: elapsedMs, // Include the elapsed time for TTFT display }); this.eventStream.sendEvent(assistantEvent); diff --git a/multimodal/tarko/agent/src/agent/runner/loop-executor.ts b/multimodal/tarko/agent/src/agent/runner/loop-executor.ts index c9360020ab..5146ad0039 100644 --- a/multimodal/tarko/agent/src/agent/runner/loop-executor.ts +++ b/multimodal/tarko/agent/src/agent/runner/loop-executor.ts @@ -71,6 +71,7 @@ export class LoopExecutor { content: 'Request was aborted', finishReason: 'abort', messageId: abortMessageId, + elapsedMs: 0, // Immediate abort, no processing time }); this.eventStream.sendEvent(finalEvent); @@ -95,6 +96,7 @@ export class LoopExecutor { content: 'Aggent TARS is finished', finishReason: 'stop', messageId: terminationMessageId, + elapsedMs: 0, // Immediate termination, no processing time }); this.eventStream.sendEvent(finalEvent); @@ -208,6 +210,7 @@ export class LoopExecutor { content: errorMsg, finishReason: 'max_iterations', messageId: maxIterMessageId, + elapsedMs: 0, // Max iterations reached, no specific processing time }); this.eventStream.sendEvent(finalEvent); From 85e47b2fa83dd8fbf29563c19f57c494ee3c1841 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:23:41 +0800 Subject: [PATCH 03/30] feat(tarko): implement proper TTFT calculation and enhance timing display Improve timing calculation to properly track TTFT vs total response time: - Track first token time when receiving first content chunk - Calculate TTFT (Time to First Token) separately from total response time - Add totalElapsedMs field to event types and UI components - Enhance TTFTDisplay to show both TTFT and total time when different - Add detailed timing logs for debugging - Update tooltip to show timing breakdown --- .../agent-interface/src/agent-event-stream.ts | 5 +++- .../handlers/MessageHandler.ts | 2 ++ .../agent-web-ui/src/common/types/index.ts | 5 +--- .../chat/Message/components/TTFTDisplay.tsx | 17 ++++++++++- .../src/standalone/chat/Message/index.tsx | 14 +++------- .../agent/src/agent/runner/llm-processor.ts | 28 +++++++++++++++---- 6 files changed, 50 insertions(+), 21 deletions(-) diff --git a/multimodal/tarko/agent-interface/src/agent-event-stream.ts b/multimodal/tarko/agent-interface/src/agent-event-stream.ts index 74920e4259..90a6f6c3e2 100644 --- a/multimodal/tarko/agent-interface/src/agent-event-stream.ts +++ b/multimodal/tarko/agent-interface/src/agent-event-stream.ts @@ -118,9 +118,12 @@ export namespace AgentEventStream { /** How the response was finished */ finishReason?: string; - /** Time taken to generate this response */ + /** Time to first token (TTFT) - time from request start to first content chunk */ elapsedMs?: number; + /** Total time taken to generate the complete response */ + totalElapsedMs?: number; + /** * Unique message identifier that links streaming messages to their final message * This allows clients to correlate incremental updates with complete messages diff --git a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts index 942351dd65..c786db8d92 100644 --- a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts +++ b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts @@ -96,6 +96,7 @@ export class AssistantMessageHandler finishReason: event.finishReason, isStreaming: false, elapsedMs: event.elapsedMs, + totalElapsedMs: event.totalElapsedMs, }; return { @@ -118,6 +119,7 @@ export class AssistantMessageHandler finishReason: event.finishReason, messageId: messageId, elapsedMs: event.elapsedMs, + totalElapsedMs: event.totalElapsedMs, }, ], }; diff --git a/multimodal/tarko/agent-web-ui/src/common/types/index.ts b/multimodal/tarko/agent-web-ui/src/common/types/index.ts index e62fd74934..4713f350ef 100644 --- a/multimodal/tarko/agent-web-ui/src/common/types/index.ts +++ b/multimodal/tarko/agent-web-ui/src/common/types/index.ts @@ -11,8 +11,6 @@ export type { SanitizedAgentOptions, WorkspaceInfo, SessionItemInfo }; export type { ChatCompletionContentPart, ChatCompletionMessageToolCall }; - - /** * Tool result type with categorization and timing information */ @@ -47,6 +45,7 @@ export interface Message { isDeepResearch?: boolean; // Added for final answer events title?: string; // Added for research report title elapsedMs?: number; // Added for TTFT timing display + totalElapsedMs?: number; // Added for total response time analytics // System message specific properties level?: 'info' | 'warning' | 'error'; @@ -103,5 +102,3 @@ export interface ReplayEventMarker { position: number; // 0-1 normalized position on timeline content?: string | any; } - - diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx index dbafdd2b79..7d2d0e8711 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx @@ -4,6 +4,7 @@ import { FiZap, FiClock } from 'react-icons/fi'; interface TTFTDisplayProps { elapsedMs: number; + totalElapsedMs?: number; className?: string; } @@ -11,7 +12,11 @@ interface TTFTDisplayProps { * TTFT (Time to First Token) Display Component * Shows the response time for assistant messages with appropriate color coding */ -export const TTFTDisplay: React.FC = ({ elapsedMs, className = '' }) => { +export const TTFTDisplay: React.FC = ({ + elapsedMs, + totalElapsedMs, + className = '', +}) => { // Helper function to format elapsed time for display const formatElapsedTime = (ms: number): string => { if (ms < 1000) { @@ -64,16 +69,26 @@ export const TTFTDisplay: React.FC = ({ elapsedMs, className = const timingStyle = getTimingBadgeStyle(elapsedMs); + const showDetailedTiming = totalElapsedMs && totalElapsedMs !== elapsedMs; + return ( {formatElapsedTime(elapsedMs)} + {showDetailedTiming && ( + / {formatElapsedTime(totalElapsedMs)} + )} ); diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx index 80e15f66aa..590a3e6e6c 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx @@ -19,7 +19,6 @@ import { replayStateAtom } from '@/common/state/atoms/replay'; import { ReportFileEntry } from './components/ReportFileEntry'; import { messagesAtom } from '@/common/state/atoms/message'; - interface MessageProps { message: MessageType; shouldDisplayTimestamp?: boolean; @@ -75,8 +74,6 @@ export const Message: React.FC = ({ } }; - - // Render content based on type const renderContent = () => { if (isMultimodal) { @@ -132,8 +129,6 @@ export const Message: React.FC = ({ baseClasses = 'message-assistant'; } - - return baseClasses; }; @@ -147,8 +142,6 @@ export const Message: React.FC = ({ return imageContents.length > 0 && textContents.length === 0; }, [message.content]); - - // Determine which prose class should be used, based on message type and dark mode const getProseClasses = () => { if (message.role === 'user') { @@ -176,7 +169,10 @@ export const Message: React.FC = ({ {/* TTFT timing display for assistant messages */} {message.role === 'assistant' && message.elapsedMs !== undefined && (
- +
)} @@ -193,8 +189,6 @@ export const Message: React.FC = ({
{renderContent()}
- - {isFinalAnswer && message.title && typeof message.content === 'string' && ( 0) { @@ -438,7 +455,8 @@ export class LLMProcessor { toolCalls: currentToolCalls.length > 0 ? currentToolCalls : undefined, finishReason: finishReason, messageId: messageId, // Include the message ID in the final message - elapsedMs: elapsedMs, // Include the elapsed time for TTFT display + elapsedMs: ttftMs, // Include the TTFT (Time to First Token) for display + totalElapsedMs: totalElapsedMs, // Include the total response time for analytics }); this.eventStream.sendEvent(assistantEvent); From a52e2d1ea5f29b37a36e6282b61cf2150c8bc2f6 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:28:46 +0800 Subject: [PATCH 04/30] refactor(tarko): improve timing field naming to follow industry standards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update timing field names to use industry-standard terminology: - elapsedMs → ttftMs (Time to First Token) - totalElapsedMs → totalResponseTimeMs (clearer naming) - Add backward compatibility support for elapsedMs - Update all components to use new field names - Improve tooltips and documentation with standard terms - Maintain API compatibility during transition period --- .../agent-interface/src/agent-event-stream.ts | 11 ++++--- .../handlers/MessageHandler.ts | 10 ++++--- .../agent-web-ui/src/common/types/index.ts | 5 ++-- .../chat/Message/components/TTFTDisplay.tsx | 30 ++++++++++++------- .../src/standalone/chat/Message/index.tsx | 18 ++++++----- .../agent/src/agent/runner/llm-processor.ts | 9 +++--- 6 files changed, 51 insertions(+), 32 deletions(-) diff --git a/multimodal/tarko/agent-interface/src/agent-event-stream.ts b/multimodal/tarko/agent-interface/src/agent-event-stream.ts index 90a6f6c3e2..a1c872736c 100644 --- a/multimodal/tarko/agent-interface/src/agent-event-stream.ts +++ b/multimodal/tarko/agent-interface/src/agent-event-stream.ts @@ -118,11 +118,14 @@ export namespace AgentEventStream { /** How the response was finished */ finishReason?: string; - /** Time to first token (TTFT) - time from request start to first content chunk */ - elapsedMs?: number; + /** Time to First Token (TTFT) in milliseconds - time from request start to first content chunk */ + ttftMs?: number; + + /** Total response time in milliseconds - time from request start to response completion */ + totalResponseTimeMs?: number; - /** Total time taken to generate the complete response */ - totalElapsedMs?: number; + /** @deprecated Use ttftMs instead. Kept for backward compatibility */ + elapsedMs?: number; /** * Unique message identifier that links streaming messages to their final message diff --git a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts index c786db8d92..ef91628c11 100644 --- a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts +++ b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts @@ -95,8 +95,9 @@ export class AssistantMessageHandler toolCalls: event.toolCalls, finishReason: event.finishReason, isStreaming: false, - elapsedMs: event.elapsedMs, - totalElapsedMs: event.totalElapsedMs, + ttftMs: event.ttftMs, + totalResponseTimeMs: event.totalResponseTimeMs, + elapsedMs: event.elapsedMs || event.ttftMs, // Backward compatibility }; return { @@ -118,8 +119,9 @@ export class AssistantMessageHandler toolCalls: event.toolCalls, finishReason: event.finishReason, messageId: messageId, - elapsedMs: event.elapsedMs, - totalElapsedMs: event.totalElapsedMs, + ttftMs: event.ttftMs, + totalResponseTimeMs: event.totalResponseTimeMs, + elapsedMs: event.elapsedMs || event.ttftMs, // Backward compatibility }, ], }; diff --git a/multimodal/tarko/agent-web-ui/src/common/types/index.ts b/multimodal/tarko/agent-web-ui/src/common/types/index.ts index 4713f350ef..a01bdcabf3 100644 --- a/multimodal/tarko/agent-web-ui/src/common/types/index.ts +++ b/multimodal/tarko/agent-web-ui/src/common/types/index.ts @@ -44,8 +44,9 @@ export interface Message { description?: string; // Added for environment inputs isDeepResearch?: boolean; // Added for final answer events title?: string; // Added for research report title - elapsedMs?: number; // Added for TTFT timing display - totalElapsedMs?: number; // Added for total response time analytics + ttftMs?: number; // Time to First Token (TTFT) in milliseconds + totalResponseTimeMs?: number; // Total response time in milliseconds + elapsedMs?: number; // @deprecated Use ttftMs instead. Kept for backward compatibility // System message specific properties level?: 'info' | 'warning' | 'error'; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx index 7d2d0e8711..6d720590e6 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx @@ -3,8 +3,9 @@ import { motion } from 'framer-motion'; import { FiZap, FiClock } from 'react-icons/fi'; interface TTFTDisplayProps { - elapsedMs: number; - totalElapsedMs?: number; + ttftMs?: number; + totalResponseTimeMs?: number; + elapsedMs?: number; // @deprecated Use ttftMs instead. Kept for backward compatibility className?: string; } @@ -13,10 +14,19 @@ interface TTFTDisplayProps { * Shows the response time for assistant messages with appropriate color coding */ export const TTFTDisplay: React.FC = ({ - elapsedMs, - totalElapsedMs, + ttftMs, + totalResponseTimeMs, + elapsedMs, // deprecated fallback className = '', }) => { + // Use new field names with backward compatibility fallback + const actualTtftMs = ttftMs ?? elapsedMs; + const actualTotalMs = totalResponseTimeMs; + + // Early return if no timing data available + if (actualTtftMs === undefined) { + return null; + } // Helper function to format elapsed time for display const formatElapsedTime = (ms: number): string => { if (ms < 1000) { @@ -67,9 +77,9 @@ export const TTFTDisplay: React.FC = ({ } }; - const timingStyle = getTimingBadgeStyle(elapsedMs); + const timingStyle = getTimingBadgeStyle(actualTtftMs); - const showDetailedTiming = totalElapsedMs && totalElapsedMs !== elapsedMs; + const showDetailedTiming = actualTotalMs && actualTotalMs !== actualTtftMs; return ( = ({ className={`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full border text-xs font-medium ${timingStyle.bg} ${timingStyle.border} ${className}`} title={ showDetailedTiming - ? `TTFT: ${formatElapsedTime(elapsedMs)} | Total: ${formatElapsedTime(totalElapsedMs)}` - : `Response time: ${formatElapsedTime(elapsedMs)}` + ? `TTFT: ${formatElapsedTime(actualTtftMs)} | Total: ${formatElapsedTime(actualTotalMs)}` + : `TTFT: ${formatElapsedTime(actualTtftMs)}` } > - {formatElapsedTime(elapsedMs)} + {formatElapsedTime(actualTtftMs)} {showDetailedTiming && ( - / {formatElapsedTime(totalElapsedMs)} + / {formatElapsedTime(actualTotalMs)} )} diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx index 590a3e6e6c..8e64da1b40 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx @@ -167,14 +167,16 @@ export const Message: React.FC = ({ ) : ( <> {/* TTFT timing display for assistant messages */} - {message.role === 'assistant' && message.elapsedMs !== undefined && ( -
- -
- )} + {message.role === 'assistant' && + (message.ttftMs !== undefined || message.elapsedMs !== undefined) && ( +
+ +
+ )} {/* Enhanced thinking display with duration support */} {message.thinking && ( diff --git a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts index 2ebeda0010..2d03850fab 100644 --- a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts +++ b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts @@ -387,7 +387,7 @@ export class LLMProcessor { parsedResponse.finishReason || 'stop', messageId, // Pass the message ID to final events ttftMs, // Pass the TTFT (Time to First Token) to final events - totalElapsedMs, // Pass the total elapsed time to final events + totalElapsedMs, // Pass the total response time to final events ); // Call response hooks with session ID @@ -445,7 +445,7 @@ export class LLMProcessor { finishReason: string, messageId?: string, ttftMs?: number, - totalElapsedMs?: number, + totalResponseTimeMs?: number, ): void { // If we have complete content, create a consolidated assistant message event if (content || currentToolCalls.length > 0) { @@ -455,8 +455,9 @@ export class LLMProcessor { toolCalls: currentToolCalls.length > 0 ? currentToolCalls : undefined, finishReason: finishReason, messageId: messageId, // Include the message ID in the final message - elapsedMs: ttftMs, // Include the TTFT (Time to First Token) for display - totalElapsedMs: totalElapsedMs, // Include the total response time for analytics + ttftMs: ttftMs, // Include the TTFT (Time to First Token) for display + totalResponseTimeMs: totalResponseTimeMs, // Include the total response time for analytics + elapsedMs: ttftMs, // Backward compatibility - deprecated field }); this.eventStream.sendEvent(assistantEvent); From 5631888fdce29e66d4a5b8ee99fb5f29a0f3e4cc Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:32:27 +0800 Subject: [PATCH 05/30] chore(tarko): ttft does not keep for backward compatibility --- multimodal/tarko/agent-interface/src/agent-event-stream.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/multimodal/tarko/agent-interface/src/agent-event-stream.ts b/multimodal/tarko/agent-interface/src/agent-event-stream.ts index a1c872736c..dfa4385b28 100644 --- a/multimodal/tarko/agent-interface/src/agent-event-stream.ts +++ b/multimodal/tarko/agent-interface/src/agent-event-stream.ts @@ -124,9 +124,6 @@ export namespace AgentEventStream { /** Total response time in milliseconds - time from request start to response completion */ totalResponseTimeMs?: number; - /** @deprecated Use ttftMs instead. Kept for backward compatibility */ - elapsedMs?: number; - /** * Unique message identifier that links streaming messages to their final message * This allows clients to correlate incremental updates with complete messages From 56e470525243851ce6d9efa2ac2f9ca2ed1b8075 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:33:12 +0800 Subject: [PATCH 06/30] chore: remove debugger --- .../state/actions/eventProcessors/handlers/MessageHandler.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts index ef91628c11..1278114027 100644 --- a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts +++ b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts @@ -84,8 +84,6 @@ export class AssistantMessageHandler (msg) => msg.messageId === messageId, ); - debugger; - if (existingMessageIndex !== -1) { const updatedMessages = [...sessionMessages]; updatedMessages[existingMessageIndex] = { From 2d5552c49cb289047a9c15ea08f27223071af268 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:35:16 +0800 Subject: [PATCH 07/30] chore(tarko): ttft does not keep for backward compatibility 2 --- .../state/actions/eventProcessors/handlers/MessageHandler.ts | 2 -- multimodal/tarko/agent-web-ui/src/common/types/index.ts | 1 - .../src/standalone/chat/Message/components/TTFTDisplay.tsx | 5 +---- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts index 1278114027..39310ca42a 100644 --- a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts +++ b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts @@ -95,7 +95,6 @@ export class AssistantMessageHandler isStreaming: false, ttftMs: event.ttftMs, totalResponseTimeMs: event.totalResponseTimeMs, - elapsedMs: event.elapsedMs || event.ttftMs, // Backward compatibility }; return { @@ -119,7 +118,6 @@ export class AssistantMessageHandler messageId: messageId, ttftMs: event.ttftMs, totalResponseTimeMs: event.totalResponseTimeMs, - elapsedMs: event.elapsedMs || event.ttftMs, // Backward compatibility }, ], }; diff --git a/multimodal/tarko/agent-web-ui/src/common/types/index.ts b/multimodal/tarko/agent-web-ui/src/common/types/index.ts index a01bdcabf3..9984b04caf 100644 --- a/multimodal/tarko/agent-web-ui/src/common/types/index.ts +++ b/multimodal/tarko/agent-web-ui/src/common/types/index.ts @@ -46,7 +46,6 @@ export interface Message { title?: string; // Added for research report title ttftMs?: number; // Time to First Token (TTFT) in milliseconds totalResponseTimeMs?: number; // Total response time in milliseconds - elapsedMs?: number; // @deprecated Use ttftMs instead. Kept for backward compatibility // System message specific properties level?: 'info' | 'warning' | 'error'; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx index 6d720590e6..4063a96294 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx @@ -5,7 +5,6 @@ import { FiZap, FiClock } from 'react-icons/fi'; interface TTFTDisplayProps { ttftMs?: number; totalResponseTimeMs?: number; - elapsedMs?: number; // @deprecated Use ttftMs instead. Kept for backward compatibility className?: string; } @@ -16,11 +15,9 @@ interface TTFTDisplayProps { export const TTFTDisplay: React.FC = ({ ttftMs, totalResponseTimeMs, - elapsedMs, // deprecated fallback className = '', }) => { - // Use new field names with backward compatibility fallback - const actualTtftMs = ttftMs ?? elapsedMs; + const actualTtftMs = ttftMs; const actualTotalMs = totalResponseTimeMs; // Early return if no timing data available From 653f7fa36ebd9633bca3224c2c7070b1e8985063 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:43:31 +0800 Subject: [PATCH 08/30] refactor(tarko): using TTLT --- .../tarko/agent-interface/src/agent-event-stream.ts | 12 +++++++++--- .../eventProcessors/handlers/MessageHandler.ts | 4 ++-- .../tarko/agent-web-ui/src/common/types/index.ts | 2 +- .../chat/Message/components/TTFTDisplay.tsx | 10 +++------- .../src/standalone/chat/Message/index.tsx | 2 +- multimodal/tarko/agent/src/agent/agent-runner.ts | 4 +--- .../tarko/agent/src/agent/runner/llm-processor.ts | 5 ++--- .../tarko/agent/src/agent/runner/loop-executor.ts | 3 --- 8 files changed, 19 insertions(+), 23 deletions(-) diff --git a/multimodal/tarko/agent-interface/src/agent-event-stream.ts b/multimodal/tarko/agent-interface/src/agent-event-stream.ts index dfa4385b28..5705aa14e4 100644 --- a/multimodal/tarko/agent-interface/src/agent-event-stream.ts +++ b/multimodal/tarko/agent-interface/src/agent-event-stream.ts @@ -118,11 +118,17 @@ export namespace AgentEventStream { /** How the response was finished */ finishReason?: string; - /** Time to First Token (TTFT) in milliseconds - time from request start to first content chunk */ + /** + * Time to First Token (TTFT) in milliseconds - time from request start to first content chunk + * @see https://modal.com/llm-almanac/how-to-benchmark + */ ttftMs?: number; - /** Total response time in milliseconds - time from request start to response completion */ - totalResponseTimeMs?: number; + /** + * Time to Last Token (TTLT) in milliseconds - time from request start to response completion + * @see https://modal.com/llm-almanac/how-to-benchmark + */ + ttltMs?: number; /** * Unique message identifier that links streaming messages to their final message diff --git a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts index 39310ca42a..a856a36253 100644 --- a/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts +++ b/multimodal/tarko/agent-web-ui/src/common/state/actions/eventProcessors/handlers/MessageHandler.ts @@ -94,7 +94,7 @@ export class AssistantMessageHandler finishReason: event.finishReason, isStreaming: false, ttftMs: event.ttftMs, - totalResponseTimeMs: event.totalResponseTimeMs, + ttltMs: event.ttltMs, }; return { @@ -117,7 +117,7 @@ export class AssistantMessageHandler finishReason: event.finishReason, messageId: messageId, ttftMs: event.ttftMs, - totalResponseTimeMs: event.totalResponseTimeMs, + ttltMs: event.ttltMs, }, ], }; diff --git a/multimodal/tarko/agent-web-ui/src/common/types/index.ts b/multimodal/tarko/agent-web-ui/src/common/types/index.ts index 9984b04caf..37da49b0fc 100644 --- a/multimodal/tarko/agent-web-ui/src/common/types/index.ts +++ b/multimodal/tarko/agent-web-ui/src/common/types/index.ts @@ -45,7 +45,7 @@ export interface Message { isDeepResearch?: boolean; // Added for final answer events title?: string; // Added for research report title ttftMs?: number; // Time to First Token (TTFT) in milliseconds - totalResponseTimeMs?: number; // Total response time in milliseconds + ttltMs?: number; // Total response time in milliseconds // System message specific properties level?: 'info' | 'warning' | 'error'; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx index 4063a96294..bd8e8a9af8 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx @@ -4,7 +4,7 @@ import { FiZap, FiClock } from 'react-icons/fi'; interface TTFTDisplayProps { ttftMs?: number; - totalResponseTimeMs?: number; + ttltMs?: number; className?: string; } @@ -12,13 +12,9 @@ interface TTFTDisplayProps { * TTFT (Time to First Token) Display Component * Shows the response time for assistant messages with appropriate color coding */ -export const TTFTDisplay: React.FC = ({ - ttftMs, - totalResponseTimeMs, - className = '', -}) => { +export const TTFTDisplay: React.FC = ({ ttftMs, ttltMs, className = '' }) => { const actualTtftMs = ttftMs; - const actualTotalMs = totalResponseTimeMs; + const actualTotalMs = ttltMs; // Early return if no timing data available if (actualTtftMs === undefined) { diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx index 8e64da1b40..61d5ffe53c 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx @@ -172,7 +172,7 @@ export const Message: React.FC = ({
diff --git a/multimodal/tarko/agent/src/agent/agent-runner.ts b/multimodal/tarko/agent/src/agent/agent-runner.ts index cd4a64b107..3aae384be7 100644 --- a/multimodal/tarko/agent/src/agent/agent-runner.ts +++ b/multimodal/tarko/agent/src/agent/agent-runner.ts @@ -196,7 +196,7 @@ export class AgentRunner { return this.eventStream.createEvent('assistant_message', { content: 'Request was aborted', finishReason: 'abort', - elapsedMs: 0, // Immediate abort, no processing time + ttltMs: 0, // Immediate abort, no processing time }); } else { // Handle other types of errors @@ -217,7 +217,6 @@ export class AgentRunner { return this.eventStream.createEvent('assistant_message', { content: errorMessage, finishReason: 'error', - elapsedMs: 0, // Error occurred, no meaningful processing time }); } } @@ -253,7 +252,6 @@ export class AgentRunner { return this.eventStream.createEvent('assistant_message', { content: 'Request was aborted', finishReason: 'abort', - elapsedMs: 0, // Immediate abort, no processing time }); } diff --git a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts index 2d03850fab..a9065e434a 100644 --- a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts +++ b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts @@ -445,7 +445,7 @@ export class LLMProcessor { finishReason: string, messageId?: string, ttftMs?: number, - totalResponseTimeMs?: number, + ttltMs?: number, ): void { // If we have complete content, create a consolidated assistant message event if (content || currentToolCalls.length > 0) { @@ -456,8 +456,7 @@ export class LLMProcessor { finishReason: finishReason, messageId: messageId, // Include the message ID in the final message ttftMs: ttftMs, // Include the TTFT (Time to First Token) for display - totalResponseTimeMs: totalResponseTimeMs, // Include the total response time for analytics - elapsedMs: ttftMs, // Backward compatibility - deprecated field + ttltMs: ttltMs, // Include the total response time for analytics }); this.eventStream.sendEvent(assistantEvent); diff --git a/multimodal/tarko/agent/src/agent/runner/loop-executor.ts b/multimodal/tarko/agent/src/agent/runner/loop-executor.ts index 5146ad0039..c9360020ab 100644 --- a/multimodal/tarko/agent/src/agent/runner/loop-executor.ts +++ b/multimodal/tarko/agent/src/agent/runner/loop-executor.ts @@ -71,7 +71,6 @@ export class LoopExecutor { content: 'Request was aborted', finishReason: 'abort', messageId: abortMessageId, - elapsedMs: 0, // Immediate abort, no processing time }); this.eventStream.sendEvent(finalEvent); @@ -96,7 +95,6 @@ export class LoopExecutor { content: 'Aggent TARS is finished', finishReason: 'stop', messageId: terminationMessageId, - elapsedMs: 0, // Immediate termination, no processing time }); this.eventStream.sendEvent(finalEvent); @@ -210,7 +208,6 @@ export class LoopExecutor { content: errorMsg, finishReason: 'max_iterations', messageId: maxIterMessageId, - elapsedMs: 0, // Max iterations reached, no specific processing time }); this.eventStream.sendEvent(finalEvent); From bb73c9e791c485e556c0b425de923b658d01f3e3 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:50:26 +0800 Subject: [PATCH 09/30] test(tarko-agent-snapshot): do not compare `ttftMs` and `ttltMs` --- .../tarko/agent-snapshot/src/utils/snapshot-normalizer.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts b/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts index ea50c0557c..18feb754f3 100644 --- a/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts +++ b/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts @@ -42,6 +42,8 @@ const DEFAULT_CONFIG: AgentNormalizerConfig = { { pattern: 'toolCallId', replacement: '<>' }, { pattern: 'sessionId', replacement: '<>' }, { pattern: 'messageId', replacement: '<>' }, + { pattern: 'ttftMs', replacement: '<>' }, + { pattern: 'ttltMs', replacement: '<>' }, { pattern: /Time$/, replacement: '<>' }, ], fieldsToIgnore: [], From 798dc2800b18eb3ee4e67a481f80bd008d8165a3 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Mon, 25 Aug 2025 23:57:50 +0800 Subject: [PATCH 10/30] test(tarko-agent): update snapshot --- .../snapshot/__snapshots__/index.test.ts.snap | 120 +- .../gui-agent/basic/event-stream.jsonl | 106 +- .../gui-agent/basic/loop-1/tool-calls.jsonl | 2 +- .../gui-agent/basic/loop-2/tool-calls.jsonl | 4 +- .../gui-agent/basic/loop-3/tool-calls.jsonl | 4 +- .../event-stream.jsonl | 472 ++++---- .../loop-1/tool-calls.jsonl | 2 +- .../loop-2/tool-calls.jsonl | 4 +- .../event-stream.jsonl | 156 +-- .../loop-1/tool-calls.jsonl | 4 +- .../loop-2/tool-calls.jsonl | 2 +- .../streaming/tool-calls/event-stream.jsonl | 1062 +++++++++-------- .../tool-calls/basic/event-stream.jsonl | 66 +- .../tool-calls/basic/loop-1/tool-calls.jsonl | 2 +- .../tool-calls/basic/loop-2/tool-calls.jsonl | 4 +- .../event-stream.jsonl | 66 +- .../loop-1/tool-calls.jsonl | 2 +- .../loop-2/tool-calls.jsonl | 2 +- .../event-stream.jsonl | 66 +- .../loop-1/tool-calls.jsonl | 2 +- .../loop-2/tool-calls.jsonl | 2 +- .../event-stream.jsonl | 66 +- .../loop-1/tool-calls.jsonl | 4 +- .../loop-2/tool-calls.jsonl | 2 +- 24 files changed, 1166 insertions(+), 1056 deletions(-) diff --git a/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap b/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap index a8e1147aba..2691b18366 100644 --- a/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap +++ b/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap @@ -66,7 +66,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -152,7 +154,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -238,7 +242,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -314,7 +320,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -336,7 +344,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 3`] = ` "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -618,7 +628,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -919,7 +931,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -1851,7 +1865,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` "content": "The weather information for Boston is now available, so we can directly respond with the details.\\nIn Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.In Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.", "rawContent": "", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -1943,7 +1959,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2130,7 +2148,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2542,7 +2562,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr "content": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "rawContent": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2628,7 +2650,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2715,7 +2739,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2823,7 +2849,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st "content": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "rawContent": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2885,7 +2913,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2932,7 +2962,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2984,7 +3016,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3006,7 +3040,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 3`] = "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -3055,7 +3091,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3102,7 +3140,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3154,7 +3194,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3176,7 +3218,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -3225,7 +3269,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3272,7 +3318,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3324,7 +3372,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3346,7 +3396,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -3395,7 +3447,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3442,7 +3496,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3494,7 +3550,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3516,6 +3574,8 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl index 6c63a54d04..85d060ded1 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl @@ -1,8 +1,8 @@ [ { - "id": "4f79ac00-01c8-443c-b106-c2a05cf2b04d", + "id": "b3e29689-00ea-4f12-82cd-c77ffabeefa0", "type": "user_message", - "timestamp": 1755542763332, + "timestamp": 1756136675247, "content": [ { "type": "text", @@ -11,10 +11,10 @@ ] }, { - "id": "914584b0-2d55-493a-bda6-a238138b4931", + "id": "07636533-351d-4966-819f-83e4a1e4bb06", "type": "agent_run_start", - "timestamp": 1755542763332, - "sessionId": "1755542763332-jnh4rv3", + "timestamp": 1756136675247, + "sessionId": "1756136675247-8x0q7um", "runOptions": { "input": "[Complex multimodal input]" }, @@ -23,9 +23,9 @@ "agentName": "Anonymous" }, { - "id": "22557550-867f-4f03-83aa-e848616660fa", + "id": "5d680ff5-1985-4fdb-8bc5-ebf0cc360f80", "type": "environment_input", - "timestamp": 1755542763333, + "timestamp": 1756136675248, "description": "Browser Screenshot", "content": [ { @@ -41,14 +41,14 @@ ] }, { - "id": "887ce24f-26f6-4ace-8394-3e13fc4257ce", + "id": "71f636a9-a6ee-4e16-a91e-7640d2e08702", "type": "assistant_message", - "timestamp": 1755542763343, + "timestamp": 1756136675258, "content": "Initiating search for 'What is Agent TARS' on Google.", "rawContent": "Initiating search for 'What is Agent TARS' on Google.", "toolCalls": [ { - "id": "call_1755542763343_yf90m", + "id": "call_1756136675258_9dvfn", "type": "function", "function": { "name": "browser_action_tool", @@ -57,20 +57,22 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542763335_he4gp4p1" + "messageId": "msg_1756136675253_34j1wpu8", + "ttftMs": 6, + "ttltMs": 10 }, { - "id": "d2323458-e7ce-4989-b9d8-f12a9ce7646e", + "id": "0303a5e5-ca83-4909-b684-67f9c83845e6", "type": "tool_call", - "timestamp": 1755542763344, - "toolCallId": "call_1755542763343_yf90m", + "timestamp": 1756136675259, + "toolCallId": "call_1756136675258_9dvfn", "name": "browser_action_tool", "arguments": { "thought": "To find information about Agent TARS, the next step is to input the query into the Google search bar. The search bar is visible in the center of the page, so I need to type the query there.", "step": "Type 'What is Agent TARS' into the Google search bar located in the center of the page.", "action": "type(content='What is Agent TARS')" }, - "startTime": 1755542763344, + "startTime": 1756136675259, "tool": { "name": "browser_action_tool", "description": "A browser tool to perform the next action to complete the task.\n\n## Action Space\n\nclick(point='x1 y1')\nleft_double(point='x1 y1')\nright_single(point='x1 y1')\ndrag(start_point='x1 y1', end_point='x2 y2')\nhotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.\ntype(content='xxx') # Use escape characters \\', \\\", and \\n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \\n at the end of content. \nscroll(point='x1 y1', direction='down or up or right or left') # Show more information on the `direction` side.\nwait() #Sleep for 5s and take a screenshot to check for any changes.\nfinished(content='xxx') # Use escape characters \\', \", and \\n in content part to ensure we can parse the content in normal python string format.\n\n\n## Note\n- Use English in `Thought` part.\n- Describe your detailed thought in `Thought` part.\n- Describe your action in `Step` part.\n\n", @@ -99,10 +101,10 @@ } }, { - "id": "eb56bea2-e8c0-4ce3-8d19-6e609877921f", + "id": "f8fed10d-70f4-4e43-9aef-1d574e35c0ed", "type": "tool_result", - "timestamp": 1755542763345, - "toolCallId": "call_1755542763343_yf90m", + "timestamp": 1756136675259, + "toolCallId": "call_1756136675258_9dvfn", "name": "browser_action_tool", "content": { "action": "type(content='What is Agent TARS')", @@ -111,9 +113,9 @@ "elapsedMs": 0 }, { - "id": "500c8219-9de3-4d3c-b269-5eb2314fa44f", + "id": "9699f26f-72c7-46d0-b517-96275374eb15", "type": "environment_input", - "timestamp": 1755542763345, + "timestamp": 1756136675260, "description": "Browser Screenshot", "content": [ { @@ -129,14 +131,14 @@ ] }, { - "id": "5d445377-3896-4c12-8aaf-c0ad329dd37a", + "id": "10dd4a1b-4734-4f4f-9cda-047b079e8019", "type": "assistant_message", - "timestamp": 1755542763362, + "timestamp": 1756136675273, "content": "Submitting search query for 'What is Agent TARS'.", "rawContent": "Submitting search query for 'What is Agent TARS'.", "toolCalls": [ { - "id": "call_1755542763362_l3lmi", + "id": "call_1756136675273_svj8k", "type": "function", "function": { "name": "browser_action_tool", @@ -145,20 +147,22 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542763346_76j8x2ws" + "messageId": "msg_1756136675262_vv6uzoel", + "ttftMs": 2, + "ttltMs": 13 }, { - "id": "4b0c9d38-9b50-46f2-85f8-4a22070eb8fd", + "id": "ee656c45-f734-47e2-8600-9c509726c05c", "type": "tool_call", - "timestamp": 1755542763363, - "toolCallId": "call_1755542763362_l3lmi", + "timestamp": 1756136675273, + "toolCallId": "call_1756136675273_svj8k", "name": "browser_action_tool", "arguments": { "thought": "The search query 'What is Agent TARS' is already typed into the Google search bar, so the next logical step is to click the 'Google 搜索' button to execute the search and retrieve results.", "step": "Click on the 'Google 搜索' button located below the search bar to submit the query and display search results.", "action": "click(point='454 525')" }, - "startTime": 1755542763363, + "startTime": 1756136675273, "tool": { "name": "browser_action_tool", "description": "A browser tool to perform the next action to complete the task.\n\n## Action Space\n\nclick(point='x1 y1')\nleft_double(point='x1 y1')\nright_single(point='x1 y1')\ndrag(start_point='x1 y1', end_point='x2 y2')\nhotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.\ntype(content='xxx') # Use escape characters \\', \\\", and \\n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \\n at the end of content. \nscroll(point='x1 y1', direction='down or up or right or left') # Show more information on the `direction` side.\nwait() #Sleep for 5s and take a screenshot to check for any changes.\nfinished(content='xxx') # Use escape characters \\', \", and \\n in content part to ensure we can parse the content in normal python string format.\n\n\n## Note\n- Use English in `Thought` part.\n- Describe your detailed thought in `Thought` part.\n- Describe your action in `Step` part.\n\n", @@ -187,10 +191,10 @@ } }, { - "id": "266c40c0-52d6-45c6-962c-abf8d397cafe", + "id": "aa686eb4-2461-4b9e-978c-b326b786921d", "type": "tool_result", - "timestamp": 1755542763363, - "toolCallId": "call_1755542763362_l3lmi", + "timestamp": 1756136675274, + "toolCallId": "call_1756136675273_svj8k", "name": "browser_action_tool", "content": { "action": "click(point='454 525')", @@ -199,9 +203,9 @@ "elapsedMs": 0 }, { - "id": "73fc5f96-9697-42a3-9e45-9b583228f479", + "id": "9fd18441-8485-46e1-9274-06fb700c04fb", "type": "environment_input", - "timestamp": 1755542763364, + "timestamp": 1756136675274, "description": "Browser Screenshot", "content": [ { @@ -217,14 +221,14 @@ ] }, { - "id": "94a2e6d1-b979-4263-a755-9ca5b9c55a72", + "id": "1cc74c6c-1117-4d9c-9331-f4640d16dcbd", "type": "assistant_message", - "timestamp": 1755542763372, + "timestamp": 1756136675281, "content": "", "rawContent": "", "toolCalls": [ { - "id": "call_1755542763372_2ke3j", + "id": "call_1756136675280_jbm6k", "type": "function", "function": { "name": "browser_action_tool", @@ -233,20 +237,22 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542763365_4rdbihqz" + "messageId": "msg_1756136675275_1ba7cjha", + "ttftMs": 7, + "ttltMs": 7 }, { - "id": "f000de45-04d5-4dfb-a8cd-e0306df433b2", + "id": "b508733c-821a-4849-9132-5333c9d979a4", "type": "tool_call", - "timestamp": 1755542763373, - "toolCallId": "call_1755542763372_2ke3j", + "timestamp": 1756136675282, + "toolCallId": "call_1756136675280_jbm6k", "name": "browser_action_tool", "arguments": { "thought": "Wait for the page to load completely to view the search results for 'What is Agent TARS'.", "step": "Wait for 5 seconds to allow the Google search results page to load.", "action": "wait()" }, - "startTime": 1755542763373, + "startTime": 1756136675282, "tool": { "name": "browser_action_tool", "description": "A browser tool to perform the next action to complete the task.\n\n## Action Space\n\nclick(point='x1 y1')\nleft_double(point='x1 y1')\nright_single(point='x1 y1')\ndrag(start_point='x1 y1', end_point='x2 y2')\nhotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.\ntype(content='xxx') # Use escape characters \\', \\\", and \\n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \\n at the end of content. \nscroll(point='x1 y1', direction='down or up or right or left') # Show more information on the `direction` side.\nwait() #Sleep for 5s and take a screenshot to check for any changes.\nfinished(content='xxx') # Use escape characters \\', \", and \\n in content part to ensure we can parse the content in normal python string format.\n\n\n## Note\n- Use English in `Thought` part.\n- Describe your detailed thought in `Thought` part.\n- Describe your action in `Step` part.\n\n", @@ -275,10 +281,10 @@ } }, { - "id": "384bfeca-fdc9-41fd-9f3f-89d01e15fc4d", + "id": "618e0ea8-c154-41f4-b37e-2ae2d271b9e9", "type": "tool_result", - "timestamp": 1755542763373, - "toolCallId": "call_1755542763372_2ke3j", + "timestamp": 1756136675282, + "toolCallId": "call_1756136675280_jbm6k", "name": "browser_action_tool", "content": { "action": "wait()", @@ -287,9 +293,9 @@ "elapsedMs": 0 }, { - "id": "29e89bb4-d388-48b2-aa0b-c9e363ac5270", + "id": "dd7905c3-2c5d-4d1d-a7df-9faa1a79e0e4", "type": "environment_input", - "timestamp": 1755542763373, + "timestamp": 1756136675284, "description": "Browser Screenshot", "content": [ { @@ -305,12 +311,14 @@ ] }, { - "id": "0c694fd9-91e7-4dc0-b24a-c3c9d2ff227a", + "id": "6212f79f-de15-458f-b401-f1bb1e1b117b", "type": "assistant_message", - "timestamp": 1755542763377, + "timestamp": 1756136675288, "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "msg_1755542763374_6dyefl62" + "messageId": "msg_1756136675287_pmjxvvb2", + "ttftMs": 3, + "ttltMs": 4 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl index 48b5d39efb..0c99b5bd16 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542763343_yf90m", + "toolCallId": "call_1756136675258_9dvfn", "name": "browser_action_tool", "args": { "thought": "To find information about Agent TARS, the next step is to input the query into the Google search bar. The search bar is visible in the center of the page, so I need to type the query there.", diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl index c3d341dfb3..8d822a19c9 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542763362_l3lmi", + "toolCallId": "call_1756136675273_svj8k", "name": "browser_action_tool", "args": { "thought": "The search query 'What is Agent TARS' is already typed into the Google search bar, so the next logical step is to click the 'Google 搜索' button to execute the search and retrieve results.", @@ -11,6 +11,6 @@ "action": "click(point='454 525')", "status": "success" }, - "executionTime": 1 + "executionTime": 0 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl index bcfff28453..35122a1c0c 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542763372_2ke3j", + "toolCallId": "call_1756136675280_jbm6k", "name": "browser_action_tool", "args": { "thought": "Wait for the page to load completely to view the search results for 'What is Agent TARS'.", @@ -11,6 +11,6 @@ "action": "wait()", "status": "success" }, - "executionTime": 1 + "executionTime": 0 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl index 550160a40a..00aeb4d171 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "a19c803e-076e-48bb-b944-a5f1e072c5d4", + "id": "212d18d1-51f1-4eab-acd5-2f9bff96e806", "type": "user_message", - "timestamp": 1755542762693, + "timestamp": 1756136674628, "content": "How's the weather today?" }, { - "id": "c86fa5d9-5b1c-43f2-bd21-bae68f63c3ef", + "id": "636c602d-6619-4117-b21f-7a1fa479d778", "type": "agent_run_start", - "timestamp": 1755542762693, - "sessionId": "1755542762693-hixjy4b", + "timestamp": 1756136674628, + "sessionId": "1756136674628-s4zunk2", "runOptions": { "input": "How's the weather today?", "stream": true @@ -19,44 +19,44 @@ "agentName": "Anonymous" }, { - "id": "e6864d19-357f-43a3-bfd9-000de4a7fe71", + "id": "a3e12f1a-6e48-4065-88da-86b9a638ab8c", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762695, - "toolCallId": "call_1755542762695_uzd5uugxs", + "timestamp": 1756136674630, + "toolCallId": "call_1756136674630_nppbnj0c9", "toolName": "getCurrentLocation", "arguments": "", "isComplete": false, - "messageId": "msg_1755542762695_uiyxc217" + "messageId": "msg_1756136674630_q7f9jja8" }, { - "id": "f0c46240-8008-41f1-abe8-3452615e8a3d", + "id": "b03b540c-aa87-4b7b-a12f-977542f864e1", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762695, - "toolCallId": "call_1755542762695_uzd5uugxs", + "timestamp": 1756136674630, + "toolCallId": "call_1756136674630_nppbnj0c9", "toolName": "getCurrentLocation", "arguments": "{}", "isComplete": false, - "messageId": "msg_1755542762695_uiyxc217" + "messageId": "msg_1756136674630_q7f9jja8" }, { - "id": "0282fb53-bb66-4e2b-802f-1f5955d085d2", + "id": "3ae0a9cc-dc5e-42d6-9e0d-ba7ea961016d", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762695, - "toolCallId": "call_1755542762695_uzd5uugxs", + "timestamp": 1756136674630, + "toolCallId": "call_1756136674630_nppbnj0c9", "toolName": "getCurrentLocation", "arguments": "", "isComplete": true, - "messageId": "msg_1755542762695_uiyxc217" + "messageId": "msg_1756136674630_q7f9jja8" }, { - "id": "9b7cc034-ba15-4f3b-b6c1-86a4ff8e26ae", + "id": "a65dd620-83d2-443c-8ad2-1bc283769467", "type": "assistant_message", - "timestamp": 1755542762695, + "timestamp": 1756136674630, "content": "", "rawContent": "\n{\n \"name\": \"getCurrentLocation\",\n \"parameters\": {}\n}\n", "toolCalls": [ { - "id": "call_1755542762695_uzd5uugxs", + "id": "call_1756136674630_nppbnj0c9", "type": "function", "function": { "name": "getCurrentLocation", @@ -65,16 +65,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762695_uiyxc217" + "messageId": "msg_1756136674630_q7f9jja8", + "ttftMs": 1, + "ttltMs": 1 }, { - "id": "7f0575d0-3f6b-4525-9737-2ec2b6eab145", + "id": "a55bb43f-e63b-4973-b119-b3c2d1ca08a1", "type": "tool_call", - "timestamp": 1755542762696, - "toolCallId": "call_1755542762695_uzd5uugxs", + "timestamp": 1756136674631, + "toolCallId": "call_1756136674630_nppbnj0c9", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1755542762696, + "startTime": 1756136674631, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -85,10 +87,10 @@ } }, { - "id": "ced75996-0f90-4013-a48e-bfa9cd17f88b", + "id": "24f53470-924c-4ff6-8eb4-20f34b3f474c", "type": "tool_result", - "timestamp": 1755542762696, - "toolCallId": "call_1755542762695_uzd5uugxs", + "timestamp": 1756136674631, + "toolCallId": "call_1756136674630_nppbnj0c9", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -96,154 +98,154 @@ "elapsedMs": 0 }, { - "id": "e1a22f23-1fb7-4f48-b627-a4ec70b91d42", + "id": "f1aa3ea8-cb09-4559-9ecc-bda2bcb81ad4", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762697, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674632, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "27f26122-da6d-4e5a-8b4a-3e62844bb7a1", + "id": "1b586d76-05ae-41f3-85d9-52b30c10b206", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762697, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674632, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "{", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "1d7126a9-9b3c-4165-a33b-b99dfc3290a8", + "id": "ba371bd2-de27-492b-86ea-e1b8e644dca4", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762697, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674632, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "\n", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "cdcb7dbf-2d17-4b3c-a78a-62678cc3fd54", + "id": "7a683040-44a0-4b9e-926b-5d8f5dcd1d8e", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762697, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674632, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": " ", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "9a8296e1-9e11-407f-a6e1-308e8929f63f", + "id": "3e650794-5182-41ec-bfc7-6b06ca120d84", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762697, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674632, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": " \"", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "09045d88-12bf-4e97-956e-8460812aecfb", + "id": "b55e8a5d-93cd-4c44-982e-c161993468bb", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674632, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "location", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "04cef1eb-ef69-4989-9f42-fa749cc564cc", + "id": "e9ad3e60-6229-44ec-a1ae-adf829e4c6a2", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "\":", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "1129031f-9627-4c42-9583-e9d405944a03", + "id": "b9a4f53d-ae96-42ca-b462-d30da1d3eea4", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": " \"", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "9401411f-6375-464f-9947-d8d9c30f67fa", + "id": "d01b8a05-4bdf-4d10-b475-689d31db6cd4", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "Boston", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "7452f598-319c-4602-ae50-3abb241c9570", + "id": "978bb07e-5d46-4453-9575-0db2676b09c7", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "\"", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "c2049ea5-58ac-459e-921c-b0fcae85c3f6", + "id": "4dd8b829-2b67-441b-bb96-2954df891c47", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "\n", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "ad422eb6-dfdb-44c8-8142-970a4716b7fb", + "id": "099d80af-ba09-4f30-a320-2f3aae488e71", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": " ", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "36918974-521b-48fc-8439-73d4c55d7950", + "id": "33743e2c-3ab6-485b-aa79-04b3c66494b7", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": " }", "isComplete": false, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "f439920e-095b-4630-9dd6-cf1f0e536d42", + "id": "c9d6b3cb-dc99-4c87-82d9-68370a724e37", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762698, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "toolName": "getWeather", "arguments": "", "isComplete": true, - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu" }, { - "id": "37cb8f98-ef43-41ad-a2ac-1e82d53594c0", + "id": "93d436a0-e712-4705-a5eb-0638966370b3", "type": "assistant_message", - "timestamp": 1755542762698, + "timestamp": 1756136674633, "content": "", "rawContent": "\n{\n \"name\": \"getWeather\",\n \"parameters\": {\n \"location\": \"Boston\"\n }\n}\n", "toolCalls": [ { - "id": "call_1755542762697_g41jcpuiz", + "id": "call_1756136674632_zfb0tt17j", "type": "function", "function": { "name": "getWeather", @@ -252,18 +254,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762697_vhbd650u" + "messageId": "msg_1756136674632_6y95mqnu", + "ttftMs": 2, + "ttltMs": 2 }, { - "id": "bd9ec638-3f34-44e6-a00e-97becc66e881", + "id": "8e335208-612c-4a33-b511-0123b421a5c5", "type": "tool_call", - "timestamp": 1755542762699, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1755542762698, + "startTime": 1756136674633, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -282,10 +286,10 @@ } }, { - "id": "60d4d4f9-42d6-455b-87bb-43027d401ef2", + "id": "5563dbaf-d8fa-4017-969b-7c6d6a2a814f", "type": "tool_result", - "timestamp": 1755542762699, - "toolCallId": "call_1755542762697_g41jcpuiz", + "timestamp": 1756136674633, + "toolCallId": "call_1756136674632_zfb0tt17j", "name": "getWeather", "content": { "location": "Boston", @@ -298,372 +302,374 @@ "elapsedMs": 0 }, { - "id": "d97a325a-5ca0-4369-8c04-37da8fcede77", + "id": "e42b49f2-1fe8-49a8-add6-3622e1f2d923", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674634, "content": "Today", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "d56ee554-f4fe-4789-90a3-f6b8bccd251e", + "id": "1d657ac0-8eb5-4734-9945-b4a2ee4f5464", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674634, "content": " in", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "26d6e8fa-9937-428e-a9bd-38ae480d5808", + "id": "a62df08f-14cc-4f36-88e3-b5bd6c5f8106", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " Boston", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "616089ef-c38c-4dfa-99d9-96ec59196b57", + "id": "4d17cef9-1041-445b-b931-129e469ff4a2", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": ",", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "202213ad-26f9-4d9a-a42a-22fe8bc2f348", + "id": "ef1b9e71-06c2-4675-9b7e-1dd110988be5", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " the", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "b404934a-9556-4c33-aa15-a95a846b05f5", + "id": "abe02247-f9ae-4340-a2d0-c27fa92b57c6", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " weather", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "cf088f59-4d00-4962-a93e-d82f3208680b", + "id": "25846657-6ace-43e5-9733-2971330c58f6", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " is", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "2dd072b7-9639-4bf9-944c-3d8be30c3530", + "id": "6ec044cb-3203-474b-8d51-87265eb5a598", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " sunny", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "23248252-973a-4ce2-8ebf-57c02ea85493", + "id": "0ec9c01f-e5ef-4637-95a7-6099ff23b437", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " with", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "7ea8a932-b9d9-4b38-91eb-568e64fdc6cc", + "id": "daffda4d-a843-431c-b39d-28b2982d1240", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " a", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "d6f63efc-6688-4cfc-ae1f-4f7b0b574a8a", + "id": "c2c86a84-0274-4dfd-8919-8c79376047f0", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " temperature", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "34dce5a2-787b-4b70-a967-1c71cc1dbf48", + "id": "60ba517f-7225-4189-8e90-ac5586413a0f", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " of", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "aa848642-0ff3-4477-9d9d-f46c8cbb1f5d", + "id": "14bb2a2a-591d-415d-ab29-b8d9e95b01bb", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " ", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "de74e7e5-16d3-40f2-95f6-1d608659d31e", + "id": "f5a51ef3-0cb6-45a7-8cd5-fb9742398f56", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "7", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "963b0d3e-150f-4873-84a6-bd3d46d7a990", + "id": "97c280b0-8f53-4394-9cc6-b244d3ebed02", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "0", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "7e7bbba6-3f9c-4e76-a32e-786ffa221312", + "id": "e788f232-5bc3-4a26-bf5a-7fa6580504ad", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "°F", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "b8d94986-eab1-49b9-b39d-6bdab8127eed", + "id": "94e089ac-2e0a-4c93-851e-132781977c8b", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " (", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "6aa67818-9bba-4bce-9700-477c2f20acdb", + "id": "25badb5f-0347-4663-84a6-0761db0242fc", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "2", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "cf04bcf7-e61a-4763-b1d3-caec99e4282d", + "id": "ad92253d-f018-4850-b220-de2313e1b241", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "1", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "ccdc829a-fc50-4990-a32b-719815d6efd3", + "id": "1da5d461-ff8d-45c5-bfa5-a13c1d5a4226", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "°C", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "77c880c3-cda7-4168-9199-66832ac41b6f", + "id": "981c1390-aa94-4412-9724-beac71866e0c", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": ").", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "1f9323db-fd32-4446-9653-d9a2e3dfe53e", + "id": "5857a037-d090-4a4d-a07a-22d7c923f0f1", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " The", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "cab107e0-1ff0-4ee7-b47c-3f77b8f06440", + "id": "d4f62b20-c9bf-4fe0-9029-d7d94141ec3f", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " precipitation", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "3a401583-a201-4219-989c-ad45907cb720", + "id": "633bafa0-07e4-4f0d-ac30-7247a63aa1e5", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " chance", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "e1c8d7dd-c3f6-4e29-91f5-84cc6b2fb2b9", + "id": "aa3022ca-2e18-4ff5-b04c-6ef3b9e315de", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " is", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "769284bc-22e4-4689-ae06-72b83d73d6ad", + "id": "9942795d-d225-4626-8167-28cae5c240ec", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": " ", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "6f0045cf-c77f-4df4-8022-3ba256f1ce22", + "id": "1843e605-53dc-4763-802f-fb0020f6a6aa", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "1", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "d9706b52-b8cd-4551-b021-e9293ecd9950", + "id": "d91b8953-6bae-45b4-b38a-974bd3174fe7", "type": "assistant_streaming_message", - "timestamp": 1755542762700, + "timestamp": 1756136674635, "content": "0", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "ad0245d4-c3b7-4275-8a79-cfcb43917551", + "id": "c9adf90b-f5ce-46a5-afe4-9c658e2f7226", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674635, "content": "%,", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "0b18a6d2-114b-41b8-a8a1-aaad3785cba0", + "id": "954d0e8d-fdc3-419c-864b-9824d3ab8e14", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674635, "content": " humidity", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "25adfc5d-a59e-4988-b1f4-7b1f1e5f468c", + "id": "e89f288a-5fc9-434a-a44c-99667b6d5e22", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " is", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "16425323-1fbf-4092-bed2-0a54ea5c667a", + "id": "275deb08-c573-4520-a64c-9e2f1bc2183c", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " ", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "ed89e42c-82b7-4f61-ac36-96f82651de30", + "id": "ac574e64-ec7c-4709-a6bc-d609241b6309", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": "4", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "58c1fc0b-3d35-4c52-ba9f-2f047450d3c3", + "id": "78496254-ff50-475b-b4bb-85d5caaf66f6", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": "5", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "40b84000-244e-426f-b310-bffd13966ea3", + "id": "13e562a6-5bc9-4d52-8f73-817b8c07a959", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": "%,", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "79ed93fa-a801-4df3-8f32-87d6c4f29d27", + "id": "1a2c89ed-43b6-4f4b-af35-165afec24896", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " and", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "f982346c-0ce9-4300-8827-ac12845ad5a1", + "id": "74312d07-4006-4720-8b1b-b9e7c25e5153", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " the", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "49cfe97b-157c-433f-a53b-fe9bfe595be4", + "id": "35adac3d-44fc-41df-b112-5ef8c31dbfca", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " wind", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "7934e9cf-f7e6-4e45-bcb6-1d3bea7af5ac", + "id": "a2d56777-831c-4b45-b529-a543a41f4816", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " is", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "f301e616-a844-45d1-802c-dcfd49aa1cfb", + "id": "a8823057-559f-4c87-b7d1-844fb831eab3", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " blowing", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "d88e0f53-4d03-4ee8-85b3-6376edb96aa4", + "id": "67aebab4-ac35-49e3-bd54-af59992b37c7", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " at", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "7607997f-cea5-4a91-bdda-fab67e8c636f", + "id": "84392323-1bec-4fce-b4a0-440e9db16862", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " ", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "002f9af0-42b8-43e2-926f-7a446ddb43b3", + "id": "2522c76c-2b75-4465-83cb-95ff8a262ee1", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": "5", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "04b7b784-c052-4ae9-a9cb-292bfe35eeac", + "id": "ea98d8c6-937d-42f4-92ae-b7648c483916", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": " mph", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "75860195-fd7a-4ea3-824f-12eb95676614", + "id": "4ff76974-e565-48ef-94eb-f347c016148b", "type": "assistant_streaming_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": ".", "isComplete": false, - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i" }, { - "id": "2523b9d6-b4b7-4432-b081-26788715e2bc", + "id": "8ba15d82-21d0-4715-a7c3-2ec3de026fea", "type": "assistant_message", - "timestamp": 1755542762701, + "timestamp": 1756136674636, "content": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "rawContent": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "finishReason": "stop", - "messageId": "msg_1755542762699_3jg1fjhi" + "messageId": "msg_1756136674634_7gb9770i", + "ttftMs": 0, + "ttltMs": 2 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl index eb6ba2ccc3..f5b81dc511 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762695_uzd5uugxs", + "toolCallId": "call_1756136674630_nppbnj0c9", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl index dcfd0bffd9..d810441284 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762697_g41jcpuiz", + "toolCallId": "call_1756136674632_zfb0tt17j", "name": "getWeather", "args": { "location": "Boston" @@ -13,6 +13,6 @@ "humidity": "45%", "wind": "5 mph" }, - "executionTime": 1 + "executionTime": 0 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl index d80ef3229a..d7399f7246 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "a04489d6-cc9d-41f5-a167-99c488734c6e", + "id": "a1e9f111-647e-4ee9-b9f7-0c88d039b0b1", "type": "user_message", - "timestamp": 1755542762715, + "timestamp": 1756136674648, "content": "How's the weather today?" }, { - "id": "86def086-e4fa-4955-8335-87010b2bdc65", + "id": "0cef7497-f406-4884-94d7-e2d4f600c50f", "type": "agent_run_start", - "timestamp": 1755542762715, - "sessionId": "1755542762715-8e0s4wm", + "timestamp": 1756136674648, + "sessionId": "1756136674648-93hyfbf", "runOptions": { "input": "How's the weather today?", "stream": true @@ -19,38 +19,38 @@ "agentName": "Anonymous" }, { - "id": "87e11771-88cf-4785-bb13-f091bb95c228", + "id": "a14abc1e-043d-47e2-b433-d9a1101dca60", "type": "assistant_streaming_message", - "timestamp": 1755542762716, + "timestamp": 1756136674649, "content": "I", "isComplete": false, - "messageId": "msg_1755542762716_gb28seyh" + "messageId": "msg_1756136674649_doijxudu" }, { - "id": "0c78a35c-e47e-44e6-b3a4-c3e3e30713d4", + "id": "2bd0a65d-f5e5-421d-bdbb-c35e413189d6", "type": "assistant_streaming_message", - "timestamp": 1755542762716, + "timestamp": 1756136674649, "content": "'ll check the weather for you. First", "isComplete": false, - "messageId": "msg_1755542762716_gb28seyh" + "messageId": "msg_1756136674649_doijxudu" }, { - "id": "f9885133-e643-4da3-b666-2ee77ab373eb", + "id": "689ccda7-77b4-4d99-95f5-a5de56af0372", "type": "assistant_streaming_message", - "timestamp": 1755542762716, + "timestamp": 1756136674649, "content": ", I need to find your current location.", "isComplete": false, - "messageId": "msg_1755542762716_gb28seyh" + "messageId": "msg_1756136674649_doijxudu" }, { - "id": "94316e53-d699-4ac0-bd83-262b32e65c3e", + "id": "2da49376-ccb4-42a9-a331-51fb473164f8", "type": "assistant_message", - "timestamp": 1755542762716, + "timestamp": 1756136674649, "content": "I'll check the weather for you. First, I need to find your current location.", "rawContent": "I'll check the weather for you. First, I need to find your current location.", "toolCalls": [ { - "id": "call_1755542762716_78f1e", + "id": "call_1756136674649_3mmas", "type": "function", "function": { "name": "getCurrentLocation", @@ -59,16 +59,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762716_gb28seyh" + "messageId": "msg_1756136674649_doijxudu", + "ttftMs": 1, + "ttltMs": 1 }, { - "id": "13ff0cd2-f32a-4a0a-92fd-873831f49611", + "id": "f678b710-7bb5-4c4e-8ff7-bf54716666fc", "type": "tool_call", - "timestamp": 1755542762717, - "toolCallId": "call_1755542762716_78f1e", + "timestamp": 1756136674650, + "toolCallId": "call_1756136674649_3mmas", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1755542762717, + "startTime": 1756136674650, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -79,10 +81,10 @@ } }, { - "id": "8339b3db-29e6-4413-bc6b-e44c3cd3d560", + "id": "8cfa2bae-9937-4512-bca4-7d0180ab047b", "type": "tool_result", - "timestamp": 1755542762717, - "toolCallId": "call_1755542762716_78f1e", + "timestamp": 1756136674650, + "toolCallId": "call_1756136674649_3mmas", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -90,54 +92,54 @@ "elapsedMs": 0 }, { - "id": "7fcffc05-4ebe-44d5-8acf-77f5056c6b1e", + "id": "e6845bd0-2138-4508-a073-117fbd0bb16b", "type": "assistant_streaming_message", - "timestamp": 1755542762718, + "timestamp": 1756136674651, "content": "I", "isComplete": false, - "messageId": "msg_1755542762718_cf637a4q" + "messageId": "msg_1756136674651_ut5cdrod" }, { - "id": "e13597ab-0a1a-4f56-beb9-5962fbacb5c9", + "id": "c6e1a577-6fcf-4bc6-9780-cd5e08996b4e", "type": "assistant_streaming_message", - "timestamp": 1755542762718, + "timestamp": 1756136674651, "content": "'ll", "isComplete": false, - "messageId": "msg_1755542762718_cf637a4q" + "messageId": "msg_1756136674651_ut5cdrod" }, { - "id": "65af4f7c-4478-4161-a454-eb21db4b8bfa", + "id": "5d7d2452-c266-4f92-b15f-a0b92632fb0c", "type": "assistant_streaming_message", - "timestamp": 1755542762718, + "timestamp": 1756136674651, "content": " check the current", "isComplete": false, - "messageId": "msg_1755542762718_cf637a4q" + "messageId": "msg_1756136674651_ut5cdrod" }, { - "id": "ec7e2470-5ecd-42e6-859d-7af9e111361c", + "id": "ae597713-0164-47c3-abfc-cd7dbbf73e9a", "type": "assistant_streaming_message", - "timestamp": 1755542762718, + "timestamp": 1756136674651, "content": " weather in", "isComplete": false, - "messageId": "msg_1755542762718_cf637a4q" + "messageId": "msg_1756136674651_ut5cdrod" }, { - "id": "425af1dc-52f5-413f-addb-38d51f613165", + "id": "3dde2dc3-29d1-4558-8463-9c6057ac1802", "type": "assistant_streaming_message", - "timestamp": 1755542762718, + "timestamp": 1756136674651, "content": " Boston for you.", "isComplete": false, - "messageId": "msg_1755542762718_cf637a4q" + "messageId": "msg_1756136674651_ut5cdrod" }, { - "id": "fa31586f-3ed1-46d2-9c92-352d0c194c6f", + "id": "f72570f4-824e-4c25-ba65-058b7a4ae1c9", "type": "assistant_message", - "timestamp": 1755542762719, + "timestamp": 1756136674652, "content": "I'll check the current weather in Boston for you.", "rawContent": "I'll check the current weather in Boston for you.", "toolCalls": [ { - "id": "call_1755542762719_1jeqm", + "id": "call_1756136674652_ts41i", "type": "function", "function": { "name": "getWeather", @@ -146,18 +148,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762718_cf637a4q" + "messageId": "msg_1756136674651_ut5cdrod", + "ttftMs": 1, + "ttltMs": 2 }, { - "id": "c491834a-083e-4ac7-96a4-c7b5f5b357fa", + "id": "0afd02a7-1aaa-44d4-8469-38f4444f1a4d", "type": "tool_call", - "timestamp": 1755542762719, - "toolCallId": "call_1755542762719_1jeqm", + "timestamp": 1756136674652, + "toolCallId": "call_1756136674652_ts41i", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1755542762719, + "startTime": 1756136674652, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -176,10 +180,10 @@ } }, { - "id": "94a98ff1-6ca1-457c-a395-e2fd69f5a483", + "id": "24dfeb3e-0657-494a-9719-a4d17034f800", "type": "tool_result", - "timestamp": 1755542762720, - "toolCallId": "call_1755542762719_1jeqm", + "timestamp": 1756136674652, + "toolCallId": "call_1756136674652_ts41i", "name": "getWeather", "content": { "location": "Boston", @@ -192,68 +196,70 @@ "elapsedMs": 0 }, { - "id": "5c1462a9-9783-4164-9450-c06fe5882806", + "id": "823a8fb3-437f-40a8-8777-31fe85c827d2", "type": "assistant_streaming_message", - "timestamp": 1755542762721, + "timestamp": 1756136674653, "content": "The weather in Boston today", "isComplete": false, - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah" }, { - "id": "527137ff-8a4f-4cca-b58a-5ceeec157ff0", + "id": "d80f9ed4-ff97-4847-9db5-4e17acd60fce", "type": "assistant_streaming_message", - "timestamp": 1755542762721, + "timestamp": 1756136674653, "content": " is sunny with a", "isComplete": false, - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah" }, { - "id": "0415ab99-b298-4d7b-b3b1-dbed076aec63", + "id": "6ebcd9ac-e0a6-4fb1-a70c-dc828e06daeb", "type": "assistant_streaming_message", - "timestamp": 1755542762721, + "timestamp": 1756136674653, "content": " temperature of 70°", "isComplete": false, - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah" }, { - "id": "5e83cdab-c286-43f5-ba4c-2022719ac93e", + "id": "8740bf78-8f68-4f8d-a9f2-a200a9e680c1", "type": "assistant_streaming_message", - "timestamp": 1755542762721, + "timestamp": 1756136674654, "content": "F (21°C). There", "isComplete": false, - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah" }, { - "id": "d253997e-399a-4c66-ab85-eab12ba07d43", + "id": "898f8c45-873d-4ec7-a257-de323baef1dd", "type": "assistant_streaming_message", - "timestamp": 1755542762721, + "timestamp": 1756136674654, "content": "'s low precipitation chance at 10%", "isComplete": false, - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah" }, { - "id": "f9b94d73-cede-4625-958c-b83a5082ee6e", + "id": "81c566e2-f098-4910-b869-b6db70366767", "type": "assistant_streaming_message", - "timestamp": 1755542762721, + "timestamp": 1756136674654, "content": ", humidity is at 45%, an", "isComplete": false, - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah" }, { - "id": "86d1ff7a-9414-4072-89b7-e2fec2d07dfc", + "id": "95da79ad-d8ed-4bcb-b8f4-6d927c48fef2", "type": "assistant_streaming_message", - "timestamp": 1755542762721, + "timestamp": 1756136674654, "content": "d a light wind of 5 mph.", "isComplete": false, - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah" }, { - "id": "2d67c558-b5c7-4cfb-b516-e9fd5a32e2fc", + "id": "dee84274-3217-4a23-8717-76978ff62575", "type": "assistant_message", - "timestamp": 1755542762722, + "timestamp": 1756136674654, "content": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "rawContent": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "finishReason": "stop", - "messageId": "msg_1755542762721_oqcpfkw5" + "messageId": "msg_1756136674653_764z7gah", + "ttftMs": 0, + "ttltMs": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl index d918f8198c..c0045cbb64 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl @@ -1,11 +1,11 @@ [ { - "toolCallId": "call_1755542762716_78f1e", + "toolCallId": "call_1756136674649_3mmas", "name": "getCurrentLocation", "args": {}, "result": { "location": "Boston" }, - "executionTime": 0 + "executionTime": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl index 410ffe57f1..ea2b1a26bf 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762719_1jeqm", + "toolCallId": "call_1756136674652_ts41i", "name": "getWeather", "args": { "location": "Boston" diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl index 03aa7e2c89..b02844c40a 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "1a2a7a8c-55db-4183-90b4-6c4aa8bbe827", + "id": "8c516fbe-d3ae-4ada-864a-06b0b7a75d61", "type": "user_message", - "timestamp": 1755542762663, + "timestamp": 1756136674605, "content": "How's the weather today?" }, { - "id": "be9a8f90-5089-417b-8fa4-1f30ac1ae3e6", + "id": "4eba822a-8ec6-4deb-a3d3-16215952a1d7", "type": "agent_run_start", - "timestamp": 1755542762663, - "sessionId": "1755542762663-ni9b42b", + "timestamp": 1756136674605, + "sessionId": "1756136674605-gfkv10r", "runOptions": { "input": "How's the weather today?", "stream": true @@ -19,241 +19,241 @@ "agentName": "Anonymous" }, { - "id": "c22dbdb4-d952-4a11-a46e-033a58d5c1eb", + "id": "43349851-14cf-4833-9599-155ad023d958", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": "To", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "48bb03f7-aee3-4dc1-b5e0-7a4ba2e80670", + "id": "c3c359d8-ecd0-4da6-834f-d3eef912c5a1", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " get", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "2b7d57c9-dbca-41f5-9631-34db3e433569", + "id": "e975334c-fbb6-458f-824d-64f91fbec854", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " the", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "2c26febd-02d7-44ff-9bd7-e89f24fb4d7a", + "id": "0ef4c961-a682-43f4-ad87-6fb458ddb181", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " weather", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "3e1ebe82-0797-42bd-af1b-615ad3bab01b", + "id": "988e5395-533b-41ff-b916-cae2ca5ed7cf", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": ",", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "be567d27-b527-44f2-aba8-a8d031ed37a2", + "id": "01f6be79-7a1b-4a02-868d-51cbfd0cfc84", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " I", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "bf25077f-c31f-4b47-8a80-c1a04623530b", + "id": "183e5a70-4795-45c0-bd4c-5eba5df84434", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " first", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "4ac88b75-e6cd-4893-93a0-567f4ee4c57d", + "id": "3bac3d7e-95f6-4ffd-bf38-ea825f7461ce", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " need", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "c1ab8288-1928-4c71-8a6f-73fa85793095", + "id": "8bb3bc74-77ab-4c81-aa87-0efda40c632a", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " the", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "1ceedaf1-5305-4592-b158-4f0e4a64720e", + "id": "84332e7f-c4f4-4b97-9b44-79e3e19d180b", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": " user", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "42b9f484-bb15-4f8e-a019-e44a290b228a", + "id": "55390179-1f6b-423f-8945-9c8491d3f87e", "type": "assistant_streaming_message", - "timestamp": 1755542762665, + "timestamp": 1756136674607, "content": "'s", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "2f0cb247-1c1f-43f3-a2ce-e87bf596ae3a", + "id": "5f8ba196-4f82-4281-85f2-9073ec103eac", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " current", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "40dcba23-b417-4be8-ab20-f28b5967e6d7", + "id": "3f07e223-a737-439c-adaf-f298fb8a90fa", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " location", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "6d799fcc-b130-4401-9176-2592c0ee3358", + "id": "117b70b8-acdb-445e-8b10-25b91957255e", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": ".", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "79837d0f-c137-4426-bdc8-f362dfaa8915", + "id": "0152d343-27e0-48d4-8071-1816924393ea", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " So", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "28390cc1-e850-4aff-93f9-ab5f6c55db41", + "id": "455097b5-5e4b-4976-8007-52b53e66eee6", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " call", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "a6cef7d7-15e6-4d2a-8bb0-d6542ffabab3", + "id": "2300a17d-61a9-4501-9c04-e353fef8a3bb", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " get", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "df1b11b5-36ff-4c94-a8d7-d8b2c895b6f9", + "id": "151cbf32-13ca-494b-89e9-1acf8d458182", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": "Current", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "027bc5ee-22ac-489b-8f70-dcbd2123396a", + "id": "ed8b8cc4-096a-4213-9408-38f4c6894cef", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": "Location", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "28e90db2-9a59-4aae-b58d-bea5ff2ca1e9", + "id": "40dbdb1a-0d39-4d46-a1e4-55b85d9bb635", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " to", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "72f6352a-a00c-4030-bf63-6da472e8c9a7", + "id": "1feb4b65-7330-4259-a7ff-1f5e8680af7c", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " retrieve", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "3350d14f-49f0-4488-9dc5-74e5e76a80ac", + "id": "b89281d0-5632-4b4d-bfda-ee1fac6a61da", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " that", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "892e18c6-0b8d-4f60-9b20-84f1e40bcf05", + "id": "017cde4f-1103-4376-94ff-3763edb52672", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": " information", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "37af555c-46be-487e-b10f-a266d168841b", + "id": "2f521b9f-3db9-43a8-a180-ab69566c0f78", "type": "assistant_streaming_message", - "timestamp": 1755542762666, + "timestamp": 1756136674607, "content": ".", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "be5ee301-688e-42d1-a504-88a4caf1fe3d", + "id": "50eeeeca-2908-4757-a121-9b948213de2f", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762666, + "timestamp": 1756136674608, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "1a17e183-c184-4a61-9b8c-af858eb92be0", + "id": "7e927cc7-b10c-4e14-b2ba-32859ba29340", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762666, + "timestamp": 1756136674608, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "{", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "0831e92a-797a-4516-b970-d9fa85419ef5", + "id": "097b8124-6f5f-4d32-9994-f9ac2d087abc", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762666, + "timestamp": 1756136674608, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "}", "isComplete": false, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "f029265d-58ce-4ec5-a53a-14e93f81f842", + "id": "2d82ff41-52b0-45f8-a57f-12031d3bb34b", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762666, + "timestamp": 1756136674608, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "", "isComplete": true, - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m" }, { - "id": "6e176c58-4048-46c4-8dfc-d9dd0c45f08d", + "id": "fe8abc49-2f9d-4810-9869-847d478a8dfa", "type": "assistant_message", - "timestamp": 1755542762666, + "timestamp": 1756136674608, "content": "To get the weather, I first need the user's current location. So call getCurrentLocation to retrieve that information.", "rawContent": "", "toolCalls": [ @@ -267,16 +267,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762665_zkjfc7kr" + "messageId": "msg_1756136674607_x2433d9m", + "ttftMs": 1, + "ttltMs": 2 }, { - "id": "f3c51ae3-fc58-462a-9f19-94bbf438f72c", + "id": "6b20cc56-1dd1-46f6-a55b-c9a335f720be", "type": "tool_call", - "timestamp": 1755542762667, + "timestamp": 1756136674608, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1755542762667, + "startTime": 1756136674608, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -287,9 +289,9 @@ } }, { - "id": "47d2d3be-38fa-4db5-9c93-3da8d79f07e3", + "id": "0cf41715-a99e-497d-8a08-77b8243763bd", "type": "tool_result", - "timestamp": 1755542762667, + "timestamp": 1756136674608, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "name": "getCurrentLocation", "content": { @@ -298,263 +300,263 @@ "elapsedMs": 0 }, { - "id": "25d36b9d-3a56-49ec-88bd-b4dfb7d5ff89", + "id": "cba7ea5a-3d75-4cba-b064-0aad1ce5125d", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": "Now", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "c750a283-51f7-4a3d-9afb-58525134434c", + "id": "e156ee3c-dbaa-4fbb-b803-06e6f8e14ba3", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": " that", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "176db794-0607-4aac-b000-321c89f1c091", + "id": "d1aa2c75-7eb6-4722-ab47-c07fbe723be9", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": " we", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "b7d3337f-5dc1-4f0f-9885-73ac7c3ee3e0", + "id": "dcf5e200-1d59-44ef-8d2c-c4f534fde21e", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": " have", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "3d3f4ed1-aa32-4c99-9323-0a1e114fef73", + "id": "790abcb2-524e-4b0b-93c8-aad74974ed6c", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": " the", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "63ae39e5-f9cc-4f6b-8c23-4dd35f5eb804", + "id": "c8b13d2f-acef-4228-b56d-16c1bb18159a", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": " location", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "1ba4aadd-3002-4145-8686-d2014dcedaf7", + "id": "d1e2a2d5-6e86-410a-b0be-55e5c9b7916a", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": " \"", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "65b8e8ac-5e8a-416a-8409-5d71035db9ac", + "id": "d0c4f207-3a6e-418f-856d-7ad885d14a1e", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": "Boston", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "aa102e6f-3e04-40ce-baed-3855280ea094", + "id": "ce4e19d1-850d-48f3-b65b-491d9f29397a", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": "\",", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "9afd787a-f427-481c-8ff0-dd7be68d1144", + "id": "d100090d-96ba-446d-8f32-3acf4ffc9ea4", "type": "assistant_streaming_message", - "timestamp": 1755542762668, + "timestamp": 1756136674610, "content": " we", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "da7a7623-aadd-4010-8ae0-b7b00290cbbb", + "id": "ae1dbe42-bec6-4fd4-9bc1-760004836fe6", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " can", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "72df8208-4486-4e65-b41e-07542982ceee", + "id": "873ead26-5cd7-484d-a2cb-b101b4e602ad", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " call", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "5486e34a-eeab-4172-94e4-fb6a715632af", + "id": "51765cbc-8ced-4e87-a580-8069a9dcfba1", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " get", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "7b68e9d9-0e72-4a08-af39-38401562ada8", + "id": "8c697aba-a062-402d-aa88-7b4d00e872b0", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": "Weather", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "402d7ce6-d71b-40db-b127-350cf0a3812a", + "id": "a3545fd2-fa5a-4dd1-9918-278ee6a52126", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " with", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "0b016ba2-dc34-40ee-9eb9-99d0de775f9a", + "id": "21604292-25a9-44e5-b2ae-d0d1f353ab44", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " this", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "88093182-b2d1-458d-85bf-0115c1d873f4", + "id": "5d28dbe1-6759-43d0-963c-3c686ee0d67c", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " location", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "58985eac-1c57-41e3-9c3b-547a33667fdb", + "id": "a5eab86f-f5eb-46f5-8f71-558b8ace96c3", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " to", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "30e52d7e-3485-4693-bf96-cf90fa727229", + "id": "ba03d0b2-d456-4576-bb60-22ef30df2afa", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " get", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "6fd1565d-3727-41fa-9fdf-557352ec38f4", + "id": "c29df89a-ad6c-445f-951e-ed9dd73f4a58", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " the", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "f4a6b55a-bcde-4c1a-989b-9e003938574d", + "id": "688efff0-5cab-427a-b643-cf83e13226fe", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " weather", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "958f0aea-9bad-4283-a25c-5b688f3764b6", + "id": "e9b8d9fd-fdb8-4b9e-8fbf-d55fad112773", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": " information", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "1e2e55a8-3b30-4ef9-b7d0-0a185a40b205", + "id": "48725b8b-459e-4427-910a-92f6be651b27", "type": "assistant_streaming_message", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "content": ".", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "a7c53628-3da6-49ef-b2b8-8eb3034b2f96", + "id": "ee54aa6c-3f55-45b9-931d-71f4d21639f7", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "2e068ef3-d3c1-4f54-b1b5-7a11a286f900", + "id": "6c560153-1a55-453d-9e82-9621d7653359", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "{\"", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "92473298-a3b2-48ca-ab5b-98d673584861", + "id": "7a559940-5a52-43b5-b224-ff3df7183312", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "location", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "41794dba-d1e6-44ba-9ba5-031143d30e5b", + "id": "c92eb686-a82c-4e73-9e3d-c942c75345d9", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "\":\"", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "865deb44-5078-4245-8fea-c63f646700d0", + "id": "de83a097-8713-4c43-bf25-6cd3bc8ba8a9", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762669, + "timestamp": 1756136674610, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "Boston", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "8e1e6e17-e223-4d73-965b-e173e32a0129", + "id": "b31e1805-b1d9-4e41-b949-dc9768da8911", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762669, + "timestamp": 1756136674611, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "\"}", "isComplete": false, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "f4f62a37-b013-4de1-bb03-188cca30fda6", + "id": "f49a8c89-0e83-4ae3-b089-93554f6367d6", "type": "assistant_streaming_tool_call", - "timestamp": 1755542762669, + "timestamp": 1756136674611, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "", "isComplete": true, - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja" }, { - "id": "b0589e9a-819b-40e9-93a5-11af5993f73f", + "id": "fe730669-4cc2-409b-a129-449dad1b993a", "type": "assistant_message", - "timestamp": 1755542762669, + "timestamp": 1756136674611, "content": "Now that we have the location \"Boston\", we can call getWeather with this location to get the weather information.", "rawContent": "", "toolCalls": [ @@ -568,18 +570,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762668_2qs5g5u5" + "messageId": "msg_1756136674609_k4apc7ja", + "ttftMs": 1, + "ttltMs": 2 }, { - "id": "a66e8f8d-298a-4b51-8e5d-22597bc3098d", + "id": "4c2c783f-fd3f-49b6-8a29-f334bca45593", "type": "tool_call", - "timestamp": 1755542762670, + "timestamp": 1756136674611, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1755542762670, + "startTime": 1756136674611, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -598,9 +602,9 @@ } }, { - "id": "eff776a1-edf3-4df7-91e3-084d005fd9cc", + "id": "d71e37d2-8140-4fca-8e20-91ce1160d0d8", "type": "tool_result", - "timestamp": 1755542762670, + "timestamp": 1756136674611, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "name": "getWeather", "content": { @@ -614,892 +618,894 @@ "elapsedMs": 0 }, { - "id": "86a0ef78-9950-40af-9d24-adddd82e79ea", + "id": "a1848162-a59e-499d-8116-d455737445a9", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": "The", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "69989289-945e-4b70-8dbd-926f7a3303de", + "id": "8188398e-f224-4010-ae94-e74304a858d6", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " weather", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "04b5e70d-6c51-4cd2-a34b-2cd5b1a03d9c", + "id": "758f3c2a-ebb3-4ece-b1bb-fd032fc1092f", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " information", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "15085091-f0a0-4862-83fe-e04cfd2ba2ae", + "id": "9107b7ae-0e00-421e-937f-e4222896e4b4", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " for", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "b32465e8-4def-4776-a610-97fffc3b9d8c", + "id": "ced6dcfd-526b-4047-b076-3236b162491a", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " Boston", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "af1ca0d3-48c0-47a4-b5e6-27faddcd6107", + "id": "07fdd83b-925d-4949-876b-176589095c14", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " is", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "77e9777a-359a-426a-b643-74d7aca1b15f", + "id": "f9c1a491-ec71-4580-b844-d026ccb4f7e8", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " now", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "90d72db8-7b18-434d-811c-84880939eee3", + "id": "4d3cdc3b-ae89-412f-86cc-226ce6f72b50", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " available", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "1964d095-e473-4c7b-ae6c-645a924a1bc0", + "id": "1b31f9ec-2d29-48f8-aefd-916a7750a32b", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": ",", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "f8a5d789-b2cc-4946-a5fb-e4a912342b78", + "id": "a9bab5b2-5b37-4ca0-976d-930de9f5f951", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " so", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "aa75c125-8ddd-426a-a056-b8e73cf212c0", + "id": "539b319b-0d84-4415-b06c-3e12441d9e3b", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " we", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "81d2bc07-ba32-4b93-ba4c-c748805f2311", + "id": "12816468-e452-4379-b611-920bcce3476c", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " can", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "c5970d68-eed6-4609-abf1-42503d242024", + "id": "1b1f36a8-5956-4875-8d28-a4d6c01be931", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " directly", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "b996403e-a444-443d-9cca-41b480387316", + "id": "9f7fa184-77da-40b3-8c28-a444242e60ce", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " respond", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "d16a3c4d-c806-41a6-b592-0ecff75e3ec2", + "id": "87816b9e-065f-45b4-bcbd-3f52e5473b89", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " with", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "fcb7a47b-da3b-49ac-9aa3-4d30d3f58ecf", + "id": "15cce84f-9c99-499a-8f2c-4e8d4a89bfa5", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " the", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "e35de6af-9fef-44d1-8745-f1de0a6d6a70", + "id": "0025a41c-ae05-4a6a-8a02-4ec71d915050", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " details", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "c6da9eb2-1f4a-42da-bbcc-a929106d0628", + "id": "d6b464e5-8c47-414e-a05f-b508b4510434", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": ".", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "1283c95a-b9e7-4d39-b1bc-0d0c9735c6d2", + "id": "ac90ebf5-e5d1-40d6-b180-d27b0bc10707", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": "\n", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "45fa3c90-290b-4136-989a-d87cc5edefda", + "id": "8e825941-9479-423f-bcd6-d396c5c8ce40", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": "In", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "a2951d20-40f8-4266-bf44-8a9eeaa59765", + "id": "5a4f3dd6-dcb7-4d39-a02a-1d60f39e4747", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " Boston", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "c4bb1f53-7b60-4c87-8372-992d86edffb6", + "id": "e5423e56-0c15-4fd8-9cfb-10a150a01094", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": ",", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "51373a50-fc8e-4694-83c4-e20e8a97b6a5", + "id": "98be5907-1d17-4dfd-a24e-67ba8509c0b5", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " the", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "f75e744c-1862-45ba-b231-f74a9226e7ae", + "id": "60898032-4232-4b2c-98ee-5fad63603907", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " weather", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "c33b81a1-95cd-468b-8249-80d86c70cc38", + "id": "a21444af-0ed9-4596-aa9d-61f77bd34490", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " today", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "79a57bfb-a4c4-489d-8d8c-ed445f9ab4d3", + "id": "30598027-af95-4a70-9e80-551288dc088e", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " is", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "b0cb05db-1e46-4cbc-bf8c-d45fc4d11b4e", + "id": "69844f41-838b-4614-bb06-b90fd0037b82", "type": "assistant_streaming_message", - "timestamp": 1755542762672, + "timestamp": 1756136674613, "content": " Sunny", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "93ea3998-3183-4003-b438-4cc3968afa56", + "id": "01ab196d-2eaf-4f0a-9ba0-be0227ae9d33", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674613, "content": ".", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "cb9d2c6a-f997-41c9-8c11-c0a3e30f2ca8", + "id": "720237e3-d476-4907-97a5-99991e30673f", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " The", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "f3a20ae9-285a-4245-8a60-0dd6e6b820b8", + "id": "3844861d-597b-4f7e-b360-bc7ab78cbe9f", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " temperature", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "7dc75925-147c-4746-97e6-a661f02e9744", + "id": "8cdd48c9-5942-4809-8b90-abb0019d531c", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " is", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "d785d2e9-fa92-42f0-bdf0-8329aaeaf78f", + "id": "c796fd16-0153-4b54-8e8b-dffbdf08d56d", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "3a73d243-64bc-412f-9723-ae5d341e2e89", + "id": "32230019-2f55-4796-959e-9964fb938f8f", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "7", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "071eb2ee-e834-4732-98f5-bd5e2a4294b0", + "id": "ef878eae-cdb0-49ec-9d18-9c1ce3dba30e", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "0", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "765bc567-3e7d-42e2-8d15-771cc111484b", + "id": "b3883a82-4959-4498-af75-32be04481186", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "°F", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "0a211ef1-4bd4-4553-84bd-eac77bbfbde4", + "id": "20a28320-31f1-4a1a-9a71-f2737af4f66d", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " (", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "2641bba7-9185-4fda-a205-22e5196fb29d", + "id": "e826e254-2700-4f36-99b5-ee667140bd49", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "2", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "908dcdd2-01f2-4564-b109-b959e370c461", + "id": "76861e7c-b1bf-440a-b135-42eac879db0c", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "1", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "346447cf-801d-4160-937c-e8a67afe8bf6", + "id": "6926ecb9-b33b-406d-ac47-2c2589a532ac", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "°C", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "167d8ea4-7046-47e3-addf-f970e96e9426", + "id": "75d2a618-ead6-48e6-b97c-28c17e806fb5", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "),", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "3b8016ab-4903-48c7-a31c-1edf7c396926", + "id": "817ebc22-06a7-4940-be1c-99f8a5cd7a06", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " with", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "fda3c7d8-71b3-40da-8cd5-ad02b28d70b0", + "id": "59af7abc-30c7-4e3d-86df-e94f460d0b4a", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " a", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "769dfa3a-534d-41e1-a0ca-e5d5dc58a340", + "id": "5952bfe2-a01d-44e1-907b-0f744c3b19da", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "4d64ab92-706f-4568-a4d0-c57bfe2d9a10", + "id": "68f7b474-0443-45de-9340-4c55ac241f48", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "1", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "28da2e97-a0cb-4948-9bd1-c648c8c9fe80", + "id": "4859921c-18f4-44af-b63a-057c8f1c53ad", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "0", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "bb62b171-4fbe-4429-b1d0-03613b38298a", + "id": "5ef9d9d8-87c0-433f-bdd0-c9c55f198f0e", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": "%", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "69c94fc3-f9d0-491e-a278-46e7ef70dac0", + "id": "b014c31b-f9bc-4e45-85f7-1fe5928a9de2", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " chance", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "2b442228-74bb-42ca-b523-49b29b12437f", + "id": "1a371f8c-f454-41c2-8cc4-6aedeb5753c6", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " of", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "4b95f5ec-6bfe-4d0d-a588-a0ede46d3bd4", + "id": "b088f4ef-e32a-4381-9e7a-d8f1380bbaae", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": " precipitation", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "f6572425-6c21-4ab3-ba33-2abf0ad86181", + "id": "4f1c0742-8d5d-4448-a72a-1e0d0bc3e329", "type": "assistant_streaming_message", - "timestamp": 1755542762673, + "timestamp": 1756136674614, "content": ",", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "54d3d362-52c5-4197-9388-a99718f1f9f9", + "id": "be6f4c9d-20ac-4aa3-9f5f-b2b7afd6b3a5", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "2da1069c-9cdd-436e-89fb-41a05d90482e", + "id": "fe3671b0-2f8b-46f6-86de-77c1447a89bf", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": "4", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "581c517b-4d70-46dc-a2be-efcb7a34563d", + "id": "19d87e6d-12aa-4996-9805-ecb93c419179", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": "5", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "b2f445d2-80c4-4a02-a0cb-f4361f272942", + "id": "ac7c7e31-1b03-4740-9f8b-90a830700028", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": "%", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "577a42bf-5802-47b5-89ef-211e0bed7004", + "id": "2e6c9e28-ec61-429f-9b09-2d85fefa5aaa", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " humidity", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "cd261408-480c-42f6-b3da-f0dea6099343", + "id": "96928c84-99a6-4de7-97a2-c028d1f82797", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": ",", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "eca72a52-1f4a-4c22-be59-259ddf15ac8e", + "id": "5dfa3487-80bf-491b-82a2-b0ecfbe5ebfc", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " and", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "d29f05e0-92c0-4595-823b-b33e179cea22", + "id": "7adc0a49-6dad-4493-a37c-27132188e475", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " wind", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "17e7e4be-bf2b-4489-81f9-9a56a3429a73", + "id": "fcbdabcc-328d-4587-8a58-58921414e01f", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " speed", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "8d6eb923-a51e-4fc9-979d-c511b8483c1b", + "id": "ca22d5a7-c179-4e5a-8a8a-1699b3a76373", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " of", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "3be19865-d52d-484f-8701-b769edf235ca", + "id": "8252d871-3bea-44cb-a853-fc7fb3e2be80", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "b6525fcc-41ed-4bdf-8995-08ba3040a289", + "id": "c06787ba-c627-48b9-84a7-25e0361eb0f5", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": "5", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "0b1e2023-930c-4a05-a6f3-5ebd7e43afbb", + "id": "7ddb8522-3f23-4218-a633-3ed41eb73d9a", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674614, "content": " mph", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "e70d7446-9674-4dbd-b014-afb9f8ea4979", + "id": "c81cb32a-cf0e-40f3-9ae9-e105a5740508", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": ".", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "a6231416-ff7f-43e4-8538-27e4276487be", + "id": "171173e4-73e9-4a52-937e-98b50b5b124e", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": "", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "51e66209-4546-45fd-ad82-fbed00e1e3ee", + "id": "1c9b5466-60b5-4b36-96a4-7f6138b5dc4d", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": "In", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "481610a4-115b-4e21-94b5-ef64dacd7e2d", + "id": "c1b86fda-f2fd-40f4-a7bc-9b8449d412fd", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " Boston", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "631dcd61-c59f-43ff-96ae-9004e5db3818", + "id": "298ab3b1-bee1-438e-b2e0-0f4376d20c0a", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": ",", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "afb0a10b-0f80-4a1c-9222-d850e93a745c", + "id": "7e4b93c3-97a5-40d5-914c-548043465f78", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " the", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "2f8da877-c019-4bec-8dbc-04119b87195a", + "id": "a3ad4ead-a7cf-44f9-a7ae-a763ef76e8ba", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " weather", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "cda7814b-e9d9-4c3a-b823-bc05c4104c7f", + "id": "de2190ad-1db0-4322-9c73-3d6368630f45", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " today", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "6fc7f0ed-4755-4cb4-9ee9-5efcce77001d", + "id": "fe63f0e7-b73d-4efd-a96c-1bd35eba5227", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " is", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "5e2ca769-23bd-4651-a2e2-cc3b4ba2d85e", + "id": "e22245b9-3512-440f-93d0-ebaf5e1710e9", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " Sunny", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "8825234c-e17b-4c7b-8ab6-245bf2647531", + "id": "974143af-51b3-46f9-a7c6-d9346952cc85", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": ".", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "3df99cb4-903d-4630-b97d-069009f1fb65", + "id": "94e239c6-889c-4e1a-8acf-695da3b25291", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " The", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "5e987f8d-1d08-4d57-b56f-5848261bb096", + "id": "5119d971-8edc-42c9-8bc3-0dbb387c60de", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " temperature", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "c994a440-abbc-482c-ab62-d3d646200c55", + "id": "6c3b0384-4917-41a6-9358-acec214eea24", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " is", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "4879ab18-88b8-4dc3-b0f5-dfebd0fc8230", + "id": "b70d2ef8-47b4-4c37-bf9c-07ec90856612", "type": "assistant_streaming_message", - "timestamp": 1755542762674, + "timestamp": 1756136674615, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "a78a20ef-5e39-4248-b94e-e3523931493c", + "id": "60b70151-6af0-44d9-b967-fde99449d2ec", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "7", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "38fa960f-372f-49e0-9d25-9bea29f4a7b0", + "id": "5bfed407-90ca-43ec-82f9-0ae3bb280334", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "0", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "74e45749-7d3b-4874-9503-1060640b2c0b", + "id": "21f6f1f2-f420-422f-841c-46b9d14d6e5f", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "°F", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "e7407b9b-2fed-4a62-9a1c-966f7a875732", + "id": "22630069-8327-481c-9099-868444f0a726", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": " (", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "52e2b0bf-8558-41e3-b94e-8addf1ee0937", + "id": "8d8134a2-a842-4d3a-9af9-a311641bdefb", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "2", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "3aee8d23-dc51-4e84-b2a4-0ae4a03b3a9d", + "id": "444589c9-067d-446e-b5eb-dac2734cc845", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "1", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "f9106185-8a7a-432a-908b-86fd44d06190", + "id": "22577a3f-972b-44ea-8ad2-516788357cb9", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "°C", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "a1ab4b22-77cc-4e89-be2f-3eebb66ae290", + "id": "d01c713e-ba70-4bd6-a499-ec061285cd4b", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "),", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "df4dbad3-5248-42c1-98a4-54dc4077b2ac", + "id": "077fd863-25cc-44af-bf08-8831c5bdcd3f", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": " with", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "41a3054f-4d01-4ec7-91d2-b04bad63160d", + "id": "3d9cbd89-ca37-476e-a43f-499caa6ff5c9", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": " a", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "74230370-7ccb-45a5-995d-9fe154b8d60f", + "id": "e7ad7251-411e-4205-a11f-04c75319d8a3", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "0cb9669e-22cc-46f4-bbab-f886d4d19300", + "id": "5ffe11ce-cafb-4bce-b837-35e774e89428", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "1", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "20bf5598-bda0-4b35-b6aa-f9070fd92c1b", + "id": "b17ca8be-cfb1-4f83-9392-a73b2d71d5d3", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "0", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "983405ff-9f33-48cb-878f-9d6042ecb095", + "id": "2eab3304-89af-4d52-a89c-d4db811a7b7e", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": "%", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "174be5bc-1a4b-4b45-82c1-dd7a0828f00c", + "id": "5d0409fe-007f-4382-b851-05c5548bff9b", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": " chance", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "5fd94aea-3be0-4127-8f29-363d4beffa23", + "id": "0c5bb88f-2537-4c08-b809-f99e98af974e", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": " of", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "1cf5fe9c-f333-4ae3-b7e9-5bd55c3e0fb1", + "id": "e1d9e7e6-fc59-4094-88b9-b9d3e3115bab", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": " precipitation", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "e6688730-9b4f-42b2-b0fa-6f2135868ea9", + "id": "6eb41ad5-2ecf-4fff-bdf6-e1634e6419cd", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674615, "content": ",", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "bebd32b2-7a78-4820-ba0d-acead2352afb", + "id": "fa7f3668-d44f-4b75-8a51-5de5eaa1fd82", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674616, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "9ccf58c2-119c-4ef8-aca1-1e6c0aed6691", + "id": "e328f911-8bec-455c-84e6-7d25cf1c254b", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674616, "content": "4", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "a1b8b807-094c-4250-af8f-550396837330", + "id": "5d0d4c17-8df5-4ab4-a003-de2a42020cba", "type": "assistant_streaming_message", - "timestamp": 1755542762676, + "timestamp": 1756136674616, "content": "5", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "62f870b0-5e7a-43c3-b139-dc46f64d3d17", + "id": "be0fc565-76f7-48d7-86bd-59936698344f", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": "%", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "1c32439d-5c35-4392-a315-b824c96e62e4", + "id": "9b2581c6-53dd-47a6-baa9-ca8df603c448", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": " humidity", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "869b9ed9-76a3-4407-9966-64f4f3e4d9bb", + "id": "1795727a-af40-4fee-a571-2af7e63969c6", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": ",", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "fd73552a-9ec7-4fef-8900-a07c2a89c9d6", + "id": "3d264210-7d63-4645-8db8-7ddd5b74323d", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": " and", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "6dd82166-fe46-472b-8506-b29a2ac2c5e9", + "id": "7be58d35-e3ff-4a6f-8803-6aadd2325489", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": " wind", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "593680ed-145f-4988-8034-e6a1e6219c71", + "id": "4091dd28-b364-4208-9788-4d08b92182e5", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": " speed", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "c047b333-bb90-48a7-8daf-9e903bbaa666", + "id": "b61e0396-89f8-49e1-8e98-c5b0a1811459", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": " of", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "5b572826-d11e-4ffb-8d93-bd2f14bbb89e", + "id": "8edd753b-24c6-4dca-a2c3-5ab55f5610cf", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": " ", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "a8e753c2-d2c9-48c7-ba97-f77e379a4db6", + "id": "c37863b2-61e1-45c8-a3b6-874a50b2b175", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": "5", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "0b3d9188-c710-4697-a5a0-9c2f648bd419", + "id": "9220a78b-03b2-4255-ad8e-fc66c1b7135d", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": " mph", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "da4074e6-9e3b-4e8c-9075-4ed7f4984cf4", + "id": "b94ac648-a9f1-4c30-93c2-a23139651e6d", "type": "assistant_streaming_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": ".", "isComplete": false, - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4" }, { - "id": "cc9d71ea-e782-42e8-9dd6-dafa3523606f", + "id": "4e93ab30-c150-433c-8c5d-19ad5d81ebf5", "type": "assistant_message", - "timestamp": 1755542762677, + "timestamp": 1756136674616, "content": "The weather information for Boston is now available, so we can directly respond with the details.\nIn Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.In Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.", "rawContent": "", "finishReason": "stop", - "messageId": "msg_1755542762672_2v0hdghq" + "messageId": "msg_1756136674613_vwgygho4", + "ttftMs": 1, + "ttltMs": 4 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl index 5065852955..b605d38504 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "7c0844a4-2929-4aef-bfb0-7956c342cc25", + "id": "cc8b759c-0610-45e3-a52f-4e29edc51485", "type": "user_message", - "timestamp": 1755542762555, + "timestamp": 1756136674506, "content": "How's the weather today?" }, { - "id": "2b219f0e-cf17-42aa-9b43-87998bfb7511", + "id": "2969a141-eca5-4873-a157-078a58a19dc4", "type": "agent_run_start", - "timestamp": 1755542762555, - "sessionId": "1755542762554-k9gchli", + "timestamp": 1756136674506, + "sessionId": "1756136674505-8jxwhfs", "runOptions": { "input": "How's the weather today?", "toolCallEngine": "structured_outputs" @@ -19,14 +19,14 @@ "agentName": "Anonymous" }, { - "id": "33f8ea30-cf66-4d8a-9569-1b60a02ad187", + "id": "a89e1966-5083-48c2-9b56-6f7b3f8be18b", "type": "assistant_message", - "timestamp": 1755542762579, + "timestamp": 1756136674525, "content": "To get the weather, I first need your current location. Retrieving your location...", "rawContent": "To get the weather, I first need your current location. Retrieving your location...", "toolCalls": [ { - "id": "call_1755542762579_kmx03", + "id": "call_1756136674525_6j417", "type": "function", "function": { "name": "getCurrentLocation", @@ -35,16 +35,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762575_h853cj8l" + "messageId": "msg_1756136674522_71d1p3he", + "ttftMs": 2, + "ttltMs": 4 }, { - "id": "337ddd3f-5eb1-4ccf-859c-f000d74d101c", + "id": "3dc1f769-f237-45c2-a0f7-b8b5ba5ee5b8", "type": "tool_call", - "timestamp": 1755542762581, - "toolCallId": "call_1755542762579_kmx03", + "timestamp": 1756136674526, + "toolCallId": "call_1756136674525_6j417", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1755542762581, + "startTime": 1756136674526, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -55,10 +57,10 @@ } }, { - "id": "bc712e8e-474d-4aa3-90fc-f95d4d7a82fd", + "id": "27430829-0415-4115-8366-b23367c66d36", "type": "tool_result", - "timestamp": 1755542762581, - "toolCallId": "call_1755542762579_kmx03", + "timestamp": 1756136674527, + "toolCallId": "call_1756136674525_6j417", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -66,14 +68,14 @@ "elapsedMs": 0 }, { - "id": "e986214d-b4a0-4e02-97df-87c865450a1a", + "id": "1e7f532b-b9bc-4ada-8ef3-fc6b41666e07", "type": "assistant_message", - "timestamp": 1755542762585, + "timestamp": 1756136674530, "content": "Fetching weather for Boston...", "rawContent": "Fetching weather for Boston...", "toolCalls": [ { - "id": "call_1755542762585_652lp", + "id": "call_1756136674530_mfyfh", "type": "function", "function": { "name": "getWeather", @@ -82,18 +84,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762583_pwigolz3" + "messageId": "msg_1756136674528_6ztigrnv", + "ttftMs": 1, + "ttltMs": 2 }, { - "id": "6a0146ae-44b5-4580-8646-24d530bd8af0", + "id": "2e92d95a-7a66-44ff-8748-c53debaf3f7e", "type": "tool_call", - "timestamp": 1755542762586, - "toolCallId": "call_1755542762585_652lp", + "timestamp": 1756136674531, + "toolCallId": "call_1756136674530_mfyfh", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1755542762585, + "startTime": 1756136674531, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -112,10 +116,10 @@ } }, { - "id": "033c3c2c-6abd-483d-a10c-008faa9d8cf0", + "id": "7af4d534-1542-47e6-9b70-bd04824ae8a2", "type": "tool_result", - "timestamp": 1755542762586, - "toolCallId": "call_1755542762585_652lp", + "timestamp": 1756136674532, + "toolCallId": "call_1756136674530_mfyfh", "name": "getWeather", "content": { "location": "Boston", @@ -128,12 +132,14 @@ "elapsedMs": 0 }, { - "id": "8a70aea8-4639-4dc5-81df-34da1b2fe32f", + "id": "010559fe-4fff-4430-ae34-185c1c0e9027", "type": "assistant_message", - "timestamp": 1755542762591, + "timestamp": 1756136674536, "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "msg_1755542762587_hx3u45fq" + "messageId": "msg_1756136674534_9rx0flpg", + "ttftMs": 1, + "ttltMs": 3 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl index 2b884a4a38..790875afed 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762579_kmx03", + "toolCallId": "call_1756136674525_6j417", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl index 9b70ba82cb..42f61d9c77 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762585_652lp", + "toolCallId": "call_1756136674530_mfyfh", "name": "getWeather", "args": { "location": "Boston" @@ -13,6 +13,6 @@ "humidity": "45%", "wind": "5 mph" }, - "executionTime": 1 + "executionTime": 0 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl index 932f56259a..3bd135a14c 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "57ca13a1-ccfa-41c5-a9f0-fb91847ca49e", + "id": "f35b6b32-3bf5-4423-9c73-48361d9f72d0", "type": "user_message", - "timestamp": 1755542762607, + "timestamp": 1756136674550, "content": "How's the weather today?" }, { - "id": "0879aaba-aeec-47bc-a069-edc0b089a2ec", + "id": "6b8074c0-0538-400d-a9c1-89c85b9fcf76", "type": "agent_run_start", - "timestamp": 1755542762607, - "sessionId": "1755542762607-h6fk0lb", + "timestamp": 1756136674550, + "sessionId": "1756136674550-kp62ow5", "runOptions": { "input": "How's the weather today?" }, @@ -18,14 +18,14 @@ "agentName": "Anonymous" }, { - "id": "959ce323-36d6-4df7-b948-88008ea8ac02", + "id": "af3ad966-3ab5-4a28-ab2f-e25a98d5b77b", "type": "assistant_message", - "timestamp": 1755542762610, + "timestamp": 1756136674553, "content": "", "rawContent": "\n{\n \"name\": \"getCurrentLocation\",\n \"parameters\": {}\n}\n", "toolCalls": [ { - "id": "call_1755542762609_kiaauknw3", + "id": "call_1756136674553_71xbbd15h", "type": "function", "function": { "name": "getCurrentLocation", @@ -34,16 +34,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762608_jlvcwi3e" + "messageId": "msg_1756136674552_3uzh4b5d", + "ttftMs": 2, + "ttltMs": 2 }, { - "id": "a3ab5aad-43a1-4df9-bf2d-75d1a2ef35dc", + "id": "952ce183-71c7-465e-959a-951c6595156b", "type": "tool_call", - "timestamp": 1755542762610, - "toolCallId": "call_1755542762609_kiaauknw3", + "timestamp": 1756136674554, + "toolCallId": "call_1756136674553_71xbbd15h", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1755542762610, + "startTime": 1756136674554, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -54,10 +56,10 @@ } }, { - "id": "49868487-8db0-4922-929d-985e711feb8d", + "id": "503565bc-5511-421c-baab-469a786090ff", "type": "tool_result", - "timestamp": 1755542762610, - "toolCallId": "call_1755542762609_kiaauknw3", + "timestamp": 1756136674554, + "toolCallId": "call_1756136674553_71xbbd15h", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -65,14 +67,14 @@ "elapsedMs": 0 }, { - "id": "2f708721-fed2-440e-a44a-8ca0fa34d300", + "id": "f83871b4-ce43-4f57-8b1c-1253f694c93b", "type": "assistant_message", - "timestamp": 1755542762612, + "timestamp": 1756136674556, "content": "", "rawContent": "\n{\n \"name\": \"getWeather\",\n \"parameters\": {\n \"location\": \"Boston\"\n }\n}\n", "toolCalls": [ { - "id": "call_1755542762612_5r95gnu72", + "id": "call_1756136674556_3dei6bfer", "type": "function", "function": { "name": "getWeather", @@ -81,18 +83,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762611_cykh92pt" + "messageId": "msg_1756136674555_2glgqxip", + "ttftMs": 2, + "ttltMs": 2 }, { - "id": "29694160-bd78-471b-8ccd-8a6cbc80766d", + "id": "07d4e932-0355-4e6a-bfd7-8569b4650559", "type": "tool_call", - "timestamp": 1755542762613, - "toolCallId": "call_1755542762612_5r95gnu72", + "timestamp": 1756136674557, + "toolCallId": "call_1756136674556_3dei6bfer", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1755542762613, + "startTime": 1756136674557, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -111,10 +115,10 @@ } }, { - "id": "90120047-3cad-427b-93a3-f3c4fe119a24", + "id": "acef5c26-e1be-4456-b1e0-e553d6b654f5", "type": "tool_result", - "timestamp": 1755542762613, - "toolCallId": "call_1755542762612_5r95gnu72", + "timestamp": 1756136674557, + "toolCallId": "call_1756136674556_3dei6bfer", "name": "getWeather", "content": { "location": "Boston", @@ -127,12 +131,14 @@ "elapsedMs": 0 }, { - "id": "0eb07c22-b92b-4e4a-bc5e-ebf96bead6b2", + "id": "9193fb03-94f2-4351-86f9-65f03a897a4e", "type": "assistant_message", - "timestamp": 1755542762615, + "timestamp": 1756136674559, "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "msg_1755542762614_x1634t77" + "messageId": "msg_1756136674558_ewvjzrk7", + "ttftMs": 1, + "ttltMs": 2 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl index ddca38199c..4f4af7926f 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762609_kiaauknw3", + "toolCallId": "call_1756136674553_71xbbd15h", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl index 8180426526..1e4a1712cc 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762612_5r95gnu72", + "toolCallId": "call_1756136674556_3dei6bfer", "name": "getWeather", "args": { "location": "Boston" diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl index c3c2ea7850..e30d18a3f1 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "b716ec94-1569-4dd1-a44f-505ee5f18de2", + "id": "7b8e3d9a-152a-417a-b84a-a7e5d5be2a5d", "type": "user_message", - "timestamp": 1755542762645, + "timestamp": 1756136674588, "content": "How's the weather today?" }, { - "id": "ceb9310d-ea2e-4d7f-b735-97a4d28216ec", + "id": "23008df6-eb09-4e50-ac5b-b870b47a9aab", "type": "agent_run_start", - "timestamp": 1755542762645, - "sessionId": "1755542762645-0g7vtc6", + "timestamp": 1756136674588, + "sessionId": "1756136674588-8ccghmc", "runOptions": { "input": "How's the weather today?" }, @@ -18,14 +18,14 @@ "agentName": "Anonymous" }, { - "id": "ad305e1a-0d8a-4d8a-b3b1-72d23944acaf", + "id": "d0b899ae-1d3c-4031-8a8b-ea1fb30bb5b2", "type": "assistant_message", - "timestamp": 1755542762647, + "timestamp": 1756136674590, "content": "I'll check the weather for you. First, I need to determine your location.", "rawContent": "I'll check the weather for you. First, I need to determine your location.", "toolCalls": [ { - "id": "call_1755542762647_76lgz", + "id": "call_1756136674590_y9fzy", "type": "function", "function": { "name": "getCurrentLocation", @@ -34,16 +34,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762646_p7azhpa9" + "messageId": "msg_1756136674590_t2qkzaw7", + "ttftMs": 1, + "ttltMs": 1 }, { - "id": "a421a260-826b-42d2-8d85-0fb2f78210fd", + "id": "41943692-d116-49d2-bec3-84b72edaddb2", "type": "tool_call", - "timestamp": 1755542762647, - "toolCallId": "call_1755542762647_76lgz", + "timestamp": 1756136674591, + "toolCallId": "call_1756136674590_y9fzy", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1755542762647, + "startTime": 1756136674591, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -54,10 +56,10 @@ } }, { - "id": "9167ff11-e0be-4058-bad5-362bded7bdd8", + "id": "aff9d1f2-3aac-4e35-80f1-4342ee5a4b3c", "type": "tool_result", - "timestamp": 1755542762647, - "toolCallId": "call_1755542762647_76lgz", + "timestamp": 1756136674591, + "toolCallId": "call_1756136674590_y9fzy", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -65,14 +67,14 @@ "elapsedMs": 0 }, { - "id": "08c38e5d-8e5a-4674-91d7-6248e25bb476", + "id": "ea311a1b-139e-40f8-a507-489c756b3e0a", "type": "assistant_message", - "timestamp": 1755542762649, + "timestamp": 1756136674593, "content": "I'll check the current weather in Boston for you.", "rawContent": "I'll check the current weather in Boston for you.", "toolCalls": [ { - "id": "call_1755542762649_uxwvy", + "id": "call_1756136674593_t10n0", "type": "function", "function": { "name": "getWeather", @@ -81,18 +83,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762649_4sxx110g" + "messageId": "msg_1756136674592_13skyb7w", + "ttftMs": 1, + "ttltMs": 2 }, { - "id": "a20e973f-5036-4256-978b-246236030be5", + "id": "f9b42a60-3924-4c44-a5a2-21517c1b0825", "type": "tool_call", - "timestamp": 1755542762650, - "toolCallId": "call_1755542762649_uxwvy", + "timestamp": 1756136674593, + "toolCallId": "call_1756136674593_t10n0", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1755542762650, + "startTime": 1756136674593, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -111,10 +115,10 @@ } }, { - "id": "60a3881d-0c30-40df-8296-67934cd81ee7", + "id": "0aab0704-a083-4648-9ae9-9d44477c3dbd", "type": "tool_result", - "timestamp": 1755542762650, - "toolCallId": "call_1755542762649_uxwvy", + "timestamp": 1756136674593, + "toolCallId": "call_1756136674593_t10n0", "name": "getWeather", "content": { "location": "Boston", @@ -127,12 +131,14 @@ "elapsedMs": 0 }, { - "id": "8ae81be8-c1d1-4bfa-8bde-8c0f471cdcd7", + "id": "b49bd178-3f5b-45b9-9a07-8db837611a2d", "type": "assistant_message", - "timestamp": 1755542762651, + "timestamp": 1756136674595, "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "msg_1755542762651_x3n3mrdi" + "messageId": "msg_1756136674594_rroi9bi0", + "ttftMs": 0, + "ttltMs": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl index 0bb94e5404..07fb62693c 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762647_76lgz", + "toolCallId": "call_1756136674590_y9fzy", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl index 9ef9b07394..ec65294a26 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762649_uxwvy", + "toolCallId": "call_1756136674593_t10n0", "name": "getWeather", "args": { "location": "Boston" diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl index ecb212ea45..b4863be46b 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "e86b4b95-f44f-4a1c-a95c-de9a69a730d5", + "id": "3d69492e-a6fe-43a3-a1e7-11a27f0795dc", "type": "user_message", - "timestamp": 1755542762625, + "timestamp": 1756136674569, "content": "How's the weather today?" }, { - "id": "0361c966-ce06-4b0e-9fcf-9ca914c1f28b", + "id": "6e66f9a4-e2a9-433a-a5c3-5d906dee59fd", "type": "agent_run_start", - "timestamp": 1755542762625, - "sessionId": "1755542762625-pcnpr25", + "timestamp": 1756136674569, + "sessionId": "1756136674569-9ab6pz2", "runOptions": { "input": "How's the weather today?" }, @@ -18,14 +18,14 @@ "agentName": "Anonymous" }, { - "id": "713fd28d-f64b-4112-889f-6fba5aa3ae8e", + "id": "74931831-7419-42db-9529-d85b99e62d86", "type": "assistant_message", - "timestamp": 1755542762628, + "timestamp": 1756136674571, "content": "To get the weather, I first need your current location. Retrieving location...", "rawContent": "To get the weather, I first need your current location. Retrieving location...", "toolCalls": [ { - "id": "call_1755542762628_wbf11", + "id": "call_1756136674571_nmj4w", "type": "function", "function": { "name": "getCurrentLocation", @@ -34,16 +34,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762627_a27zw1if" + "messageId": "msg_1756136674570_rwk6s4k0", + "ttftMs": 1, + "ttltMs": 2 }, { - "id": "9befc9eb-a990-4c98-8958-887b97a9c55f", + "id": "1576900f-f196-4ca3-af66-fb48b58a39b6", "type": "tool_call", - "timestamp": 1755542762629, - "toolCallId": "call_1755542762628_wbf11", + "timestamp": 1756136674572, + "toolCallId": "call_1756136674571_nmj4w", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1755542762629, + "startTime": 1756136674572, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -54,10 +56,10 @@ } }, { - "id": "de615abb-f603-47a8-a941-ed6abb9021ad", + "id": "6506c52b-6b45-4b2d-9c6b-380d3eea853b", "type": "tool_result", - "timestamp": 1755542762629, - "toolCallId": "call_1755542762628_wbf11", + "timestamp": 1756136674572, + "toolCallId": "call_1756136674571_nmj4w", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -65,14 +67,14 @@ "elapsedMs": 0 }, { - "id": "68a5f53c-d92c-4d9b-a5e6-d2f28b9ff58d", + "id": "3afc97fe-d511-4053-ba66-b0614fea0a35", "type": "assistant_message", - "timestamp": 1755542762631, + "timestamp": 1756136674575, "content": "Fetching weather for Boston...", "rawContent": "Fetching weather for Boston...", "toolCalls": [ { - "id": "call_1755542762631_fsj0d", + "id": "call_1756136674574_7r3l7", "type": "function", "function": { "name": "getWeather", @@ -81,18 +83,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1755542762630_cahnr3fg" + "messageId": "msg_1756136674573_kb6qj3sw", + "ttftMs": 0, + "ttltMs": 1 }, { - "id": "fef813d5-88f6-444e-8500-32bf06730136", + "id": "830ec084-efdc-4ba7-b185-ed5e6f93c594", "type": "tool_call", - "timestamp": 1755542762632, - "toolCallId": "call_1755542762631_fsj0d", + "timestamp": 1756136674575, + "toolCallId": "call_1756136674574_7r3l7", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1755542762632, + "startTime": 1756136674575, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -111,10 +115,10 @@ } }, { - "id": "8f49ea55-359f-4821-a75e-7076037357d5", + "id": "dd61e3a8-c5d8-4832-a66b-5e43d20a22fa", "type": "tool_result", - "timestamp": 1755542762632, - "toolCallId": "call_1755542762631_fsj0d", + "timestamp": 1756136674575, + "toolCallId": "call_1756136674574_7r3l7", "name": "getWeather", "content": { "location": "Boston", @@ -127,12 +131,14 @@ "elapsedMs": 0 }, { - "id": "bee02395-e1f1-4d34-a536-1f05233dce7f", + "id": "a9771433-8a5e-4275-bc84-54daa801f381", "type": "assistant_message", - "timestamp": 1755542762635, + "timestamp": 1756136674578, "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "msg_1755542762633_z75tnvix" + "messageId": "msg_1756136674577_ddpyx6i1", + "ttftMs": 1, + "ttltMs": 2 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl index adaadf83c0..becf5f522b 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl @@ -1,11 +1,11 @@ [ { - "toolCallId": "call_1755542762628_wbf11", + "toolCallId": "call_1756136674571_nmj4w", "name": "getCurrentLocation", "args": {}, "result": { "location": "Boston" }, - "executionTime": 1 + "executionTime": 0 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl index 2515205c93..2a4b824bd9 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1755542762631_fsj0d", + "toolCallId": "call_1756136674574_7r3l7", "name": "getWeather", "args": { "location": "Boston" From 50a6db9446e6ee98dd49ab02a0626e512cb38292 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:05:09 +0800 Subject: [PATCH 11/30] feat(tarko): integrate TTFT display into message footer Refactor TTFT display to be part of message footer for better UX: - Extract MessageFooter component from MessageGroup - Move TTFT display from message content to footer area - Use subtle colors and smaller size for footer integration - Maintain left alignment with timestamp and copy functionality - Remove standalone TTFT display from individual messages - Improve visual consistency with existing footer elements - Note: secretlint warnings are false positives for React key props --- .../{TTFTDisplay.tsx => LLMMetricDisplay.tsx} | 56 ++++++++++--------- .../chat/Message/components/MessageFooter.tsx | 44 +++++++++++++++ .../chat/Message/components/MessageGroup.tsx | 20 +------ .../src/standalone/chat/Message/index.tsx | 13 ----- 4 files changed, 77 insertions(+), 56 deletions(-) rename multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/{TTFTDisplay.tsx => LLMMetricDisplay.tsx} (56%) create mode 100644 multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/LLMMetricDisplay.tsx similarity index 56% rename from multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx rename to multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/LLMMetricDisplay.tsx index bd8e8a9af8..0828555c58 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/TTFTDisplay.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/LLMMetricDisplay.tsx @@ -2,17 +2,20 @@ import React from 'react'; import { motion } from 'framer-motion'; import { FiZap, FiClock } from 'react-icons/fi'; -interface TTFTDisplayProps { +interface LLMMetricDisplayProps { ttftMs?: number; ttltMs?: number; className?: string; } /** - * TTFT (Time to First Token) Display Component - * Shows the response time for assistant messages with appropriate color coding + * LLM (Large Language Model) Metric Display Component */ -export const TTFTDisplay: React.FC = ({ ttftMs, ttltMs, className = '' }) => { +export const LLMMetricDisplay: React.FC = ({ + ttftMs, + ttltMs, + className = '', +}) => { const actualTtftMs = ttftMs; const actualTotalMs = ttltMs; @@ -34,38 +37,39 @@ export const TTFTDisplay: React.FC = ({ ttftMs, ttltMs, classN }; // Helper function to get timing badge style based on duration + // Optimized for footer integration with subtle colors const getTimingBadgeStyle = (ms: number) => { if (ms < 1000) { - // Very fast - green + // Very fast - subtle green return { - bg: 'bg-emerald-50 dark:bg-emerald-900/20', - text: 'text-emerald-700 dark:text-emerald-400', - border: 'border-emerald-200/50 dark:border-emerald-700/30', - icon: 'text-emerald-600 dark:text-emerald-400', + bg: 'bg-emerald-50/50 dark:bg-emerald-900/10', + text: 'text-emerald-600 dark:text-emerald-400', + border: 'border-emerald-200/30 dark:border-emerald-700/20', + icon: 'text-emerald-500 dark:text-emerald-400', }; } else if (ms < 3000) { - // Fast - blue + // Fast - subtle blue return { - bg: 'bg-blue-50 dark:bg-blue-900/20', - text: 'text-blue-700 dark:text-blue-400', - border: 'border-blue-200/50 dark:border-blue-700/30', - icon: 'text-blue-600 dark:text-blue-400', + bg: 'bg-blue-50/50 dark:bg-blue-900/10', + text: 'text-blue-600 dark:text-blue-400', + border: 'border-blue-200/30 dark:border-blue-700/20', + icon: 'text-blue-500 dark:text-blue-400', }; } else if (ms < 8000) { - // Medium - amber + // Medium - subtle amber return { - bg: 'bg-amber-50 dark:bg-amber-900/20', - text: 'text-amber-700 dark:text-amber-400', - border: 'border-amber-200/50 dark:border-amber-700/30', - icon: 'text-amber-600 dark:text-amber-400', + bg: 'bg-amber-50/50 dark:bg-amber-900/10', + text: 'text-amber-600 dark:text-amber-400', + border: 'border-amber-200/30 dark:border-amber-700/20', + icon: 'text-amber-500 dark:text-amber-400', }; } else { - // Slow - red + // Slow - subtle red return { - bg: 'bg-red-50 dark:bg-red-900/20', - text: 'text-red-700 dark:text-red-400', - border: 'border-red-200/50 dark:border-red-700/30', - icon: 'text-red-600 dark:text-red-400', + bg: 'bg-red-50/50 dark:bg-red-900/10', + text: 'text-red-600 dark:text-red-400', + border: 'border-red-200/30 dark:border-red-700/20', + icon: 'text-red-500 dark:text-red-400', }; } }; @@ -79,14 +83,14 @@ export const TTFTDisplay: React.FC = ({ ttftMs, ttltMs, classN initial={{ scale: 0, opacity: 0 }} animate={{ scale: 1, opacity: 1 }} transition={{ delay: 0.1, type: 'spring', stiffness: 300 }} - className={`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full border text-xs font-medium ${timingStyle.bg} ${timingStyle.border} ${className}`} + className={`inline-flex items-center gap-1 px-2 py-0.5 rounded-md border text-xs font-medium ${timingStyle.bg} ${timingStyle.border} ${className}`} title={ showDetailedTiming ? `TTFT: ${formatElapsedTime(actualTtftMs)} | Total: ${formatElapsedTime(actualTotalMs)}` : `TTFT: ${formatElapsedTime(actualTtftMs)}` } > - + {formatElapsedTime(actualTtftMs)} {showDetailedTiming && ( diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx new file mode 100644 index 0000000000..ee2a26444f --- /dev/null +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import { FiClock } from 'react-icons/fi'; +import { formatTimestamp } from '@/common/utils/formatters'; +import { MessageTimestamp } from './MessageTimestamp'; +import { LLMMetricDisplay } from './LLMMetricDisplay'; +import { Message as MessageType } from '@/common/types'; + +interface MessageFooterProps { + message: MessageType; + className?: string; +} + +/** + * MessageFooter Component + * Displays timestamp, copy functionality, and TTFT information for messages + */ +export const MessageFooter: React.FC = ({ message, className = '' }) => { + const showTTFT = message.role === 'assistant' && message.ttftMs !== undefined; + + return ( +
+
+
+ {/* Timestamp */} +
+ + {formatTimestamp(message.timestamp)} +
+ + {/* TTFT Display - integrated into footer with consistent styling */} + {showTTFT && } +
+ + {/* Copy functionality */} + +
+
+ ); +}; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx index 3abf18549a..347e5e12b7 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx @@ -5,6 +5,7 @@ import { FiClock } from 'react-icons/fi'; import { formatTimestamp } from '@/common/utils/formatters'; import { isMultimodalContent } from '@/common/utils/typeGuards'; import { MessageTimestamp } from './MessageTimestamp'; +import { MessageFooter } from './MessageFooter'; import { ThinkingAnimation } from './ThinkingAnimation'; import { SkeletonLoader } from './SkeletonLoader'; import { useAtomValue } from 'jotai'; @@ -117,24 +118,9 @@ export const MessageGroup: React.FC = ({ messages, isThinking )} - {/* Timestamp and copy functionality */} + {/* Message footer with timestamp, TTFT, and copy functionality */} {!isThinking && lastResponseMessage && ( -
-
-
- - {formatTimestamp(lastResponseMessage.timestamp)} -
- - {/* Integrated copy function button - now uses the last message */} - -
-
+ )} ); diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx index 61d5ffe53c..f02fde3ac3 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx @@ -13,7 +13,6 @@ import { MultimodalContent } from './components/MultimodalContent'; import { ToolCalls } from './components/ToolCalls'; import { ThinkingToggle } from './components/ThinkingToggle'; import { MessageTimestamp } from './components/MessageTimestamp'; -import { TTFTDisplay } from './components/TTFTDisplay'; import { useAtomValue } from 'jotai'; import { replayStateAtom } from '@/common/state/atoms/replay'; import { ReportFileEntry } from './components/ReportFileEntry'; @@ -166,18 +165,6 @@ export const Message: React.FC = ({ /> ) : ( <> - {/* TTFT timing display for assistant messages */} - {message.role === 'assistant' && - (message.ttftMs !== undefined || message.elapsedMs !== undefined) && ( -
- -
- )} - {/* Enhanced thinking display with duration support */} {message.thinking && ( Date: Tue, 26 Aug 2025 00:30:11 +0800 Subject: [PATCH 12/30] refactor(tarko): consolidate TTFT display into MessageFooter Simplify TTFT/TTLT metric display by removing separate components: - Remove LLMMetricDisplay with colors and animations - Remove MessageTimestamp with mixed responsibilities - Merge all footer functionality into MessageFooter - Use consistent gray styling matching timestamp/copy button --- .../Message/components/LLMMetricDisplay.tsx | 102 ------------------ .../chat/Message/components/MessageFooter.tsx | 60 ++++++++--- .../chat/Message/components/MessageGroup.tsx | 8 +- .../Message/components/MessageTimestamp.tsx | 71 ------------ .../src/standalone/chat/Message/index.tsx | 14 +-- 5 files changed, 51 insertions(+), 204 deletions(-) delete mode 100644 multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/LLMMetricDisplay.tsx delete mode 100644 multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageTimestamp.tsx diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/LLMMetricDisplay.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/LLMMetricDisplay.tsx deleted file mode 100644 index 0828555c58..0000000000 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/LLMMetricDisplay.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import React from 'react'; -import { motion } from 'framer-motion'; -import { FiZap, FiClock } from 'react-icons/fi'; - -interface LLMMetricDisplayProps { - ttftMs?: number; - ttltMs?: number; - className?: string; -} - -/** - * LLM (Large Language Model) Metric Display Component - */ -export const LLMMetricDisplay: React.FC = ({ - ttftMs, - ttltMs, - className = '', -}) => { - const actualTtftMs = ttftMs; - const actualTotalMs = ttltMs; - - // Early return if no timing data available - if (actualTtftMs === undefined) { - return null; - } - // Helper function to format elapsed time for display - const formatElapsedTime = (ms: number): string => { - if (ms < 1000) { - return `${ms}ms`; - } else if (ms < 60000) { - return `${(ms / 1000).toFixed(1)}s`; - } else { - const minutes = Math.floor(ms / 60000); - const seconds = Math.floor((ms % 60000) / 1000); - return `${minutes}m ${seconds}s`; - } - }; - - // Helper function to get timing badge style based on duration - // Optimized for footer integration with subtle colors - const getTimingBadgeStyle = (ms: number) => { - if (ms < 1000) { - // Very fast - subtle green - return { - bg: 'bg-emerald-50/50 dark:bg-emerald-900/10', - text: 'text-emerald-600 dark:text-emerald-400', - border: 'border-emerald-200/30 dark:border-emerald-700/20', - icon: 'text-emerald-500 dark:text-emerald-400', - }; - } else if (ms < 3000) { - // Fast - subtle blue - return { - bg: 'bg-blue-50/50 dark:bg-blue-900/10', - text: 'text-blue-600 dark:text-blue-400', - border: 'border-blue-200/30 dark:border-blue-700/20', - icon: 'text-blue-500 dark:text-blue-400', - }; - } else if (ms < 8000) { - // Medium - subtle amber - return { - bg: 'bg-amber-50/50 dark:bg-amber-900/10', - text: 'text-amber-600 dark:text-amber-400', - border: 'border-amber-200/30 dark:border-amber-700/20', - icon: 'text-amber-500 dark:text-amber-400', - }; - } else { - // Slow - subtle red - return { - bg: 'bg-red-50/50 dark:bg-red-900/10', - text: 'text-red-600 dark:text-red-400', - border: 'border-red-200/30 dark:border-red-700/20', - icon: 'text-red-500 dark:text-red-400', - }; - } - }; - - const timingStyle = getTimingBadgeStyle(actualTtftMs); - - const showDetailedTiming = actualTotalMs && actualTotalMs !== actualTtftMs; - - return ( - - - - {formatElapsedTime(actualTtftMs)} - {showDetailedTiming && ( - / {formatElapsedTime(actualTotalMs)} - )} - - - ); -}; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index ee2a26444f..f42e516081 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -1,9 +1,8 @@ import React from 'react'; -import { FiClock } from 'react-icons/fi'; +import { FiClock, FiCheck, FiCopy } from 'react-icons/fi'; import { formatTimestamp } from '@/common/utils/formatters'; -import { MessageTimestamp } from './MessageTimestamp'; -import { LLMMetricDisplay } from './LLMMetricDisplay'; -import { Message as MessageType } from '@/common/types'; +import { Message as MessageType, ChatCompletionContentPart } from '@/common/types'; +import { useCopyToClipboard } from '../hooks/useCopyToClipboard'; interface MessageFooterProps { message: MessageType; @@ -15,8 +14,34 @@ interface MessageFooterProps { * Displays timestamp, copy functionality, and TTFT information for messages */ export const MessageFooter: React.FC = ({ message, className = '' }) => { + const { isCopied, copyToClipboard } = useCopyToClipboard(); const showTTFT = message.role === 'assistant' && message.ttftMs !== undefined; + const handleCopy = () => { + const textToCopy = + typeof message.content === 'string' + ? message.content + : (message.content as ChatCompletionContentPart[]) + .filter((part) => part.type === 'text') + .map((part) => part.text) + .join('\n'); + + copyToClipboard(textToCopy); + }; + + // Helper function to format elapsed time for display + const formatElapsedTime = (ms: number): string => { + if (ms < 1000) { + return `${ms}ms`; + } else if (ms < 60000) { + return `${(ms / 1000).toFixed(1)}s`; + } else { + const minutes = Math.floor(ms / 60000); + const seconds = Math.floor((ms % 60000) / 1000); + return `${minutes}m ${seconds}s`; + } + }; + return (
@@ -27,17 +52,28 @@ export const MessageFooter: React.FC = ({ message, className {formatTimestamp(message.timestamp)}
- {/* TTFT Display - integrated into footer with consistent styling */} - {showTTFT && } + {/* TTFT Display - simple gray style consistent with timestamp */} + {showTTFT && ( +
+ + {formatElapsedTime(message.ttftMs!)} + {message.ttltMs && message.ttltMs !== message.ttftMs && ( + / {formatElapsedTime(message.ttltMs)} + )} + +
+ )}
{/* Copy functionality */} - + ); diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx index 347e5e12b7..7baf2c9c70 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageGroup.tsx @@ -1,16 +1,12 @@ import React from 'react'; import { Message as MessageType } from '@/common/types'; import { Message } from '../index'; -import { FiClock } from 'react-icons/fi'; -import { formatTimestamp } from '@/common/utils/formatters'; import { isMultimodalContent } from '@/common/utils/typeGuards'; -import { MessageTimestamp } from './MessageTimestamp'; import { MessageFooter } from './MessageFooter'; import { ThinkingAnimation } from './ThinkingAnimation'; import { SkeletonLoader } from './SkeletonLoader'; import { useAtomValue } from 'jotai'; import { agentStatusAtom } from '@/common/state/atoms/ui'; -import { AgentProcessingPhase } from '@tarko/interface'; import { getAgentTitle } from '@/common/constants'; interface MessageGroupProps { @@ -119,9 +115,7 @@ export const MessageGroup: React.FC = ({ messages, isThinking )} {/* Message footer with timestamp, TTFT, and copy functionality */} - {!isThinking && lastResponseMessage && ( - - )} + {!isThinking && lastResponseMessage && } ); }; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageTimestamp.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageTimestamp.tsx deleted file mode 100644 index d09d87b93c..0000000000 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageTimestamp.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { ChatCompletionContentPart } from '@tarko/agent-interface'; -import React from 'react'; -import { FiCheck, FiCopy } from 'react-icons/fi'; -import { formatTimestamp } from '@/common/utils/formatters'; -import { useCopyToClipboard } from '../hooks/useCopyToClipboard'; - -interface MessageTimestampProps { - timestamp: number; - content: string | ChatCompletionContentPart[]; - role: string; - inlineStyle?: boolean; // New property for inline display mode -} - -/** - * Component for displaying message timestamp and copy functionality - * - * Design principles: - * - Unobtrusive placement to reduce visual noise - * - Accessible on hover for contextual actions - * - Clear visual feedback for copy operations - */ -export const MessageTimestamp: React.FC = ({ - timestamp, - content, - role, - inlineStyle = false, -}) => { - const { isCopied, copyToClipboard } = useCopyToClipboard(); - - const handleCopy = () => { - const textToCopy = - typeof content === 'string' - ? content - : content - .filter((part) => part.type === 'text') - .map((part) => part.text) - .join('\n'); - - copyToClipboard(textToCopy); - }; - - if (inlineStyle) { - // Inline style mode, only show copy button - return ( - - ); - } - - // Original floating style - return ( -
- {formatTimestamp(timestamp)} - -
- ); -}; diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx index f02fde3ac3..5630d023c2 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/index.tsx @@ -12,7 +12,7 @@ import { SystemMessage } from './components/SystemMessage'; import { MultimodalContent } from './components/MultimodalContent'; import { ToolCalls } from './components/ToolCalls'; import { ThinkingToggle } from './components/ThinkingToggle'; -import { MessageTimestamp } from './components/MessageTimestamp'; + import { useAtomValue } from 'jotai'; import { replayStateAtom } from '@/common/state/atoms/replay'; import { ReportFileEntry } from './components/ReportFileEntry'; @@ -198,17 +198,7 @@ export const Message: React.FC = ({ )} - {/* Timestamp and copy button - only for main messages */} - {message.role !== 'system' && - !isInGroup && - shouldDisplayTimestamp && - !replayState.isActive && ( - - )} + ); }; From df2cd20952fbe2df0227d818b9305acd21ad31ca Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:36:57 +0800 Subject: [PATCH 13/30] fix(tarko): improve TTFT/TTLT display precision and clarity - Use ms precision for all time displays instead of s - Add distinct icons (FiZap for TTFT, FiActivity for TTLT) - Ensure consistent gray styling for both metrics - Add clear hover tooltips explaining TTFT and TTLT --- .../chat/Message/components/MessageFooter.tsx | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index f42e516081..a3d40934eb 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { FiClock, FiCheck, FiCopy } from 'react-icons/fi'; +import { FiClock, FiCheck, FiCopy, FiZap, FiActivity } from 'react-icons/fi'; import { formatTimestamp } from '@/common/utils/formatters'; import { Message as MessageType, ChatCompletionContentPart } from '@/common/types'; import { useCopyToClipboard } from '../hooks/useCopyToClipboard'; @@ -29,17 +29,9 @@ export const MessageFooter: React.FC = ({ message, className copyToClipboard(textToCopy); }; - // Helper function to format elapsed time for display + // Helper function to format elapsed time for display (always in ms for precision) const formatElapsedTime = (ms: number): string => { - if (ms < 1000) { - return `${ms}ms`; - } else if (ms < 60000) { - return `${(ms / 1000).toFixed(1)}s`; - } else { - const minutes = Math.floor(ms / 60000); - const seconds = Math.floor((ms % 60000) / 1000); - return `${minutes}m ${seconds}s`; - } + return `${ms}ms`; }; return ( @@ -52,15 +44,26 @@ export const MessageFooter: React.FC = ({ message, className {formatTimestamp(message.timestamp)} - {/* TTFT Display - simple gray style consistent with timestamp */} + {/* TTFT & TTLT Display with icons and consistent styling */} {showTTFT && ( -
- - {formatElapsedTime(message.ttftMs!)} - {message.ttltMs && message.ttltMs !== message.ttftMs && ( - / {formatElapsedTime(message.ttltMs)} - )} - +
+ {/* TTFT */} +
+ + + {formatElapsedTime(message.ttftMs!)} + +
+ + {/* TTLT (if different from TTFT) */} + {message.ttltMs && message.ttltMs !== message.ttftMs && ( +
+ + + {formatElapsedTime(message.ttltMs)} + +
+ )}
)}
From b726d11cb4ed0f83c006765eeb08126d963d39a5 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:39:26 +0800 Subject: [PATCH 14/30] fix(tarko): enhance TTFT/TTLT tooltip visibility - Add cursor-help for better UX indication - Improve tooltip text with detailed descriptions - Add position relative to ensure tooltip display --- .../chat/Message/components/MessageFooter.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index a3d40934eb..1a6b34797c 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -48,7 +48,11 @@ export const MessageFooter: React.FC = ({ message, className {showTTFT && (
{/* TTFT */} -
+
{formatElapsedTime(message.ttftMs!)} @@ -57,7 +61,11 @@ export const MessageFooter: React.FC = ({ message, className {/* TTLT (if different from TTFT) */} {message.ttltMs && message.ttltMs !== message.ttftMs && ( -
+
{formatElapsedTime(message.ttltMs)} From 7785a0685b80e3b5ba7cee3df3c934c6f4d9fda9 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:40:58 +0800 Subject: [PATCH 15/30] fix(tarko): use MUI Tooltip for TTFT/TTLT hover tooltips - Replace native title attributes with MUI Tooltip component - Add arrow prop for better visual indication - Ensure proper tooltip display across different themes --- .../chat/Message/components/MessageFooter.tsx | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index 1a6b34797c..c83ee78351 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { FiClock, FiCheck, FiCopy, FiZap, FiActivity } from 'react-icons/fi'; +import { Tooltip } from '@mui/material'; import { formatTimestamp } from '@/common/utils/formatters'; import { Message as MessageType, ChatCompletionContentPart } from '@/common/types'; import { useCopyToClipboard } from '../hooks/useCopyToClipboard'; @@ -48,29 +49,25 @@ export const MessageFooter: React.FC = ({ message, className {showTTFT && (
{/* TTFT */} -
- - - {formatElapsedTime(message.ttftMs!)} - -
- - {/* TTLT (if different from TTFT) */} - {message.ttltMs && message.ttltMs !== message.ttftMs && ( -
- + +
+ - {formatElapsedTime(message.ttltMs)} + {formatElapsedTime(message.ttftMs!)}
+
+ + {/* TTLT (if different from TTFT) */} + {message.ttltMs && message.ttltMs !== message.ttftMs && ( + +
+ + + {formatElapsedTime(message.ttltMs)} + +
+
)}
)} From 1d66327472eee6b7b1725244120e4eeebf466a11 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:42:39 +0800 Subject: [PATCH 16/30] fix(tarko): remove cursor-help and arrow from TTFT/TTLT tooltips - Remove cursor-help class to avoid question mark cursor - Remove arrow prop from MUI Tooltip for cleaner appearance --- .../standalone/chat/Message/components/MessageFooter.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index c83ee78351..2dca79beb8 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -49,8 +49,8 @@ export const MessageFooter: React.FC = ({ message, className {showTTFT && (
{/* TTFT */} - -
+ +
{formatElapsedTime(message.ttftMs!)} @@ -60,8 +60,8 @@ export const MessageFooter: React.FC = ({ message, className {/* TTLT (if different from TTFT) */} {message.ttltMs && message.ttltMs !== message.ttftMs && ( - -
+ +
{formatElapsedTime(message.ttltMs)} From 2362c158f561bfd8539a4e83d44074d89c614f51 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:47:39 +0800 Subject: [PATCH 17/30] chore: tweaks --- .../tarko/agent-interface/src/agent-event-stream.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/multimodal/tarko/agent-interface/src/agent-event-stream.ts b/multimodal/tarko/agent-interface/src/agent-event-stream.ts index 5705aa14e4..10004d86ed 100644 --- a/multimodal/tarko/agent-interface/src/agent-event-stream.ts +++ b/multimodal/tarko/agent-interface/src/agent-event-stream.ts @@ -119,13 +119,19 @@ export namespace AgentEventStream { finishReason?: string; /** - * Time to First Token (TTFT) in milliseconds - time from request start to first content chunk + * Time to First Token (TTFT) in milliseconds - time from request start to first content chunk. + * The time it takes for the model to return the first token of the response after it receives the prompt. + * + * @see https://modal.com/llm-almanac/how-to-benchmark * @see https://modal.com/llm-almanac/how-to-benchmark */ ttftMs?: number; /** - * Time to Last Token (TTLT) in milliseconds - time from request start to response completion + * Time to Last Token (TTLT) in milliseconds - time from request start to response completion. + * The overall time taken by the model to process the prompt and generate the complete response. + * + * @see https://modal.com/llm-almanac/how-to-benchmark * @see https://modal.com/llm-almanac/how-to-benchmark */ ttltMs?: number; From 8f21a21fa6932b404b3c6213347e5b91b1afb46c Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:51:36 +0800 Subject: [PATCH 18/30] fix(tarko): improve TTFT/TTLT tooltip styling - Increase font size to 13px for better readability - Use dark background with white text for higher contrast - Add padding and shadow for better visual appearance - Remove arrow prop for cleaner look --- .../chat/Message/components/MessageFooter.tsx | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index 2dca79beb8..26d6f98124 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -49,7 +49,22 @@ export const MessageFooter: React.FC = ({ message, className {showTTFT && (
{/* TTFT */} - +
@@ -57,10 +72,25 @@ export const MessageFooter: React.FC = ({ message, className
- + {/* TTLT (if different from TTFT) */} {message.ttltMs && message.ttltMs !== message.ttftMs && ( - +
From 209dd59676c9fcdc05259985959cc76fc3c54129 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:52:59 +0800 Subject: [PATCH 19/30] refactor(tarko): extract tooltip styling to avoid code duplication - Create tooltipProps constant for shared styling - Remove duplicate componentsProps definitions - Maintain consistent appearance across TTFT/TTLT tooltips --- .../chat/Message/components/MessageFooter.tsx | 45 ++++++++----------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index 26d6f98124..ffca26c40d 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -35,6 +35,23 @@ export const MessageFooter: React.FC = ({ message, className return `${ms}ms`; }; + // Tooltip styling for consistent appearance + const tooltipProps = { + componentsProps: { + tooltip: { + sx: { + backgroundColor: '#1f2937', + color: '#ffffff', + fontSize: '13px', + fontWeight: 500, + padding: '8px 12px', + borderRadius: '6px', + boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)', + } + } + } + }; + return (
@@ -51,19 +68,7 @@ export const MessageFooter: React.FC = ({ message, className {/* TTFT */}
@@ -77,19 +82,7 @@ export const MessageFooter: React.FC = ({ message, className {message.ttltMs && message.ttltMs !== message.ttftMs && (
From 6779f4bab528e2c2ab8cbd225958e5d9b32fb507 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:54:28 +0800 Subject: [PATCH 20/30] fix(tarko): restore arrow and improve tooltip styling - Add back arrow prop for better visual indication - Use pure black background for higher contrast - Style arrow to match tooltip background - Increase shadow opacity for better visibility --- .../standalone/chat/Message/components/MessageFooter.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index ffca26c40d..dd3f247109 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -37,16 +37,20 @@ export const MessageFooter: React.FC = ({ message, className // Tooltip styling for consistent appearance const tooltipProps = { + arrow: true, componentsProps: { tooltip: { sx: { - backgroundColor: '#1f2937', + backgroundColor: '#000000', color: '#ffffff', fontSize: '13px', fontWeight: 500, padding: '8px 12px', borderRadius: '6px', - boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)', + boxShadow: '0 4px 12px rgba(0, 0, 0, 0.3)', + '.MuiTooltip-arrow': { + color: '#000000', + }, } } } From c92b5f3aa2842937e34da5d6f7dab18801edf6c8 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:55:23 +0800 Subject: [PATCH 21/30] fix(tarko): add dark mode support for TTFT/TTLT tooltips - Import and use useDarkMode hook - Light background with dark text in dark mode - Dark background with light text in light mode - Adjust shadow opacity for better visibility --- .../chat/Message/components/MessageFooter.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index dd3f247109..398f3f4616 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -4,6 +4,7 @@ import { Tooltip } from '@mui/material'; import { formatTimestamp } from '@/common/utils/formatters'; import { Message as MessageType, ChatCompletionContentPart } from '@/common/types'; import { useCopyToClipboard } from '../hooks/useCopyToClipboard'; +import { useDarkMode } from '@/common/hooks/useDarkMode'; interface MessageFooterProps { message: MessageType; @@ -16,6 +17,7 @@ interface MessageFooterProps { */ export const MessageFooter: React.FC = ({ message, className = '' }) => { const { isCopied, copyToClipboard } = useCopyToClipboard(); + const isDarkMode = useDarkMode(); const showTTFT = message.role === 'assistant' && message.ttftMs !== undefined; const handleCopy = () => { @@ -35,21 +37,23 @@ export const MessageFooter: React.FC = ({ message, className return `${ms}ms`; }; - // Tooltip styling for consistent appearance + // Tooltip styling for consistent appearance with dark mode support const tooltipProps = { arrow: true, componentsProps: { tooltip: { sx: { - backgroundColor: '#000000', - color: '#ffffff', + backgroundColor: isDarkMode ? '#ffffff' : '#000000', + color: isDarkMode ? '#000000' : '#ffffff', fontSize: '13px', fontWeight: 500, padding: '8px 12px', borderRadius: '6px', - boxShadow: '0 4px 12px rgba(0, 0, 0, 0.3)', + boxShadow: isDarkMode + ? '0 4px 12px rgba(0, 0, 0, 0.15)' + : '0 4px 12px rgba(0, 0, 0, 0.3)', '.MuiTooltip-arrow': { - color: '#000000', + color: isDarkMode ? '#ffffff' : '#000000', }, } } From 96e24043d9ca76d788bdc96b0c294a7b34492a98 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 00:56:48 +0800 Subject: [PATCH 22/30] Revert "fix(tarko): add dark mode support for TTFT/TTLT tooltips" This reverts commit 433501c27b2b3bf748e032324e412d80ba7fc13b. --- .../chat/Message/components/MessageFooter.tsx | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index 398f3f4616..dd3f247109 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -4,7 +4,6 @@ import { Tooltip } from '@mui/material'; import { formatTimestamp } from '@/common/utils/formatters'; import { Message as MessageType, ChatCompletionContentPart } from '@/common/types'; import { useCopyToClipboard } from '../hooks/useCopyToClipboard'; -import { useDarkMode } from '@/common/hooks/useDarkMode'; interface MessageFooterProps { message: MessageType; @@ -17,7 +16,6 @@ interface MessageFooterProps { */ export const MessageFooter: React.FC = ({ message, className = '' }) => { const { isCopied, copyToClipboard } = useCopyToClipboard(); - const isDarkMode = useDarkMode(); const showTTFT = message.role === 'assistant' && message.ttftMs !== undefined; const handleCopy = () => { @@ -37,23 +35,21 @@ export const MessageFooter: React.FC = ({ message, className return `${ms}ms`; }; - // Tooltip styling for consistent appearance with dark mode support + // Tooltip styling for consistent appearance const tooltipProps = { arrow: true, componentsProps: { tooltip: { sx: { - backgroundColor: isDarkMode ? '#ffffff' : '#000000', - color: isDarkMode ? '#000000' : '#ffffff', + backgroundColor: '#000000', + color: '#ffffff', fontSize: '13px', fontWeight: 500, padding: '8px 12px', borderRadius: '6px', - boxShadow: isDarkMode - ? '0 4px 12px rgba(0, 0, 0, 0.15)' - : '0 4px 12px rgba(0, 0, 0, 0.3)', + boxShadow: '0 4px 12px rgba(0, 0, 0, 0.3)', '.MuiTooltip-arrow': { - color: isDarkMode ? '#ffffff' : '#000000', + color: '#000000', }, } } From 5acfd74da0a130fa87b7416fd31ea6579c2f5a27 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 01:01:48 +0800 Subject: [PATCH 23/30] chore: tweaks --- .../chat/Message/components/MessageFooter.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx index dd3f247109..ae9c48d675 100644 --- a/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx +++ b/multimodal/tarko/agent-web-ui/src/standalone/chat/Message/components/MessageFooter.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { FiClock, FiCheck, FiCopy, FiZap, FiActivity } from 'react-icons/fi'; -import { Tooltip } from '@mui/material'; +import { Tooltip, TooltipProps } from '@mui/material'; import { formatTimestamp } from '@/common/utils/formatters'; import { Message as MessageType, ChatCompletionContentPart } from '@/common/types'; import { useCopyToClipboard } from '../hooks/useCopyToClipboard'; @@ -36,7 +36,7 @@ export const MessageFooter: React.FC = ({ message, className }; // Tooltip styling for consistent appearance - const tooltipProps = { + const tooltipProps: Partial = { arrow: true, componentsProps: { tooltip: { @@ -51,9 +51,9 @@ export const MessageFooter: React.FC = ({ message, className '.MuiTooltip-arrow': { color: '#000000', }, - } - } - } + }, + }, + }, }; return ( From 9a614f2b8277fdc6096cecc248ec8d22b41d96dd Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 01:21:54 +0800 Subject: [PATCH 24/30] chore(tarko): TTFT does not check chunk result --- multimodal/tarko/agent/src/agent/runner/llm-processor.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts index a9065e434a..a477546a49 100644 --- a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts +++ b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts @@ -309,7 +309,8 @@ export class LLMProcessor { const chunkResult = toolCallEngine.processStreamingChunk(chunk, processingState); // Track first token time when we receive the first meaningful content - if (!hasReceivedFirstContent && (chunkResult.content || chunkResult.reasoningContent)) { + // We don't check chunkResult here because it may be modified by a custom ToolCallEngine. + if (!hasReceivedFirstContent /* && (chunkResult.content || chunkResult.reasoningContent) */) { firstTokenTime = Date.now(); hasReceivedFirstContent = true; const ttft = firstTokenTime - requestStartTime; From e2763882050cc0fed78268bb75df74fb6aeb6325 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 21:25:12 +0800 Subject: [PATCH 25/30] feat(tarko): add metric option to control TTFT/TTLT collection - Add AgentMetricOptions interface with enable flag (default: false) - Integrate metric option into AgentOptions via AgentMiscOptions - Pass enableMetrics flag through AgentRunner to LLMProcessor - Conditionally collect TTFT/TTLT metrics based on metric.enable setting - When disabled, timing metrics are not included in event streams --- .../tarko/agent-interface/src/agent-options.ts | 18 ++++++++++++++++++ .../tarko/agent/src/agent/agent-runner.ts | 4 ++++ multimodal/tarko/agent/src/agent/agent.ts | 1 + .../agent/src/agent/runner/llm-processor.ts | 7 +++++-- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/multimodal/tarko/agent-interface/src/agent-options.ts b/multimodal/tarko/agent-interface/src/agent-options.ts index dd0c15ff39..01669f74a6 100644 --- a/multimodal/tarko/agent-interface/src/agent-options.ts +++ b/multimodal/tarko/agent-interface/src/agent-options.ts @@ -184,6 +184,19 @@ export interface AgentMemoryOptions { enableStreamingToolCallEvents?: boolean; } +/** + * Metric configuration options for performance monitoring + */ +export interface AgentMetricOptions { + /** + * Whether to enable metric collection (TTFT, TTLT, etc.) + * When disabled, timing metrics will not be collected or included in event streams. + * + * @defaultValue `false` + */ + enable?: boolean; +} + /** * Miscellaneous configuration options for logging and debugging */ @@ -194,6 +207,11 @@ export interface AgentMiscOptions { * @defaultValue `LogLevel.INFO` in development, `LogLevel.WARN` in production */ logLevel?: LogLevel; + + /** + * Metric collection settings + */ + metric?: AgentMetricOptions; } /** diff --git a/multimodal/tarko/agent/src/agent/agent-runner.ts b/multimodal/tarko/agent/src/agent/agent-runner.ts index 3aae384be7..cec0e00614 100644 --- a/multimodal/tarko/agent/src/agent/agent-runner.ts +++ b/multimodal/tarko/agent/src/agent/agent-runner.ts @@ -44,6 +44,7 @@ interface AgentRunnerOptions { agent: Agent; contextAwarenessOptions?: AgentContextAwarenessOptions; enableStreamingToolCallEvents: boolean; + enableMetrics: boolean; } /** @@ -65,6 +66,7 @@ export class AgentRunner { private agent: Agent; private contextAwarenessOptions?: AgentContextAwarenessOptions; private enableStreamingToolCallEvents: boolean; + private enableMetrics: boolean; private logger = getLogger('AgentRunner'); // Specialized components @@ -85,6 +87,7 @@ export class AgentRunner { this.agent = options.agent; this.contextAwarenessOptions = options.contextAwarenessOptions; this.enableStreamingToolCallEvents = options.enableStreamingToolCallEvents; + this.enableMetrics = options.enableMetrics; // Initialize the specialized components this.toolProcessor = new ToolProcessor(this.agent, this.toolManager, this.eventStream); @@ -99,6 +102,7 @@ export class AgentRunner { this.top_p, this.contextAwarenessOptions, this.enableStreamingToolCallEvents, + this.enableMetrics, ); this.loopExecutor = new LoopExecutor( diff --git a/multimodal/tarko/agent/src/agent/agent.ts b/multimodal/tarko/agent/src/agent/agent.ts index 93a6e1b789..ddc7d53667 100644 --- a/multimodal/tarko/agent/src/agent/agent.ts +++ b/multimodal/tarko/agent/src/agent/agent.ts @@ -159,6 +159,7 @@ export class Agent agent: this, contextAwarenessOptions: contextAwarenessOptions, enableStreamingToolCallEvents: options.enableStreamingToolCallEvents ?? false, + enableMetrics: options.metric?.enable ?? false, }); // Initialize execution controller diff --git a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts index a477546a49..aa336589bf 100644 --- a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts +++ b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts @@ -39,6 +39,7 @@ export class LLMProcessor { private messageHistory: MessageHistory; private llmClient?: OpenAI; private enableStreamingToolCallEvents: boolean; + private enableMetrics: boolean; constructor( private agent: Agent, @@ -50,12 +51,14 @@ export class LLMProcessor { private top_p?: number, private contextAwarenessOptions?: AgentContextAwarenessOptions, enableStreamingToolCallEvents = false, + enableMetrics = false, ) { this.messageHistory = new MessageHistory( this.eventStream, this.contextAwarenessOptions?.maxImagesCount, ); this.enableStreamingToolCallEvents = enableStreamingToolCallEvents; + this.enableMetrics = enableMetrics; } /** @@ -387,8 +390,8 @@ export class LLMProcessor { parsedResponse.reasoningContent || '', parsedResponse.finishReason || 'stop', messageId, // Pass the message ID to final events - ttftMs, // Pass the TTFT (Time to First Token) to final events - totalElapsedMs, // Pass the total response time to final events + this.enableMetrics ? ttftMs : undefined, // Pass the TTFT only if metrics are enabled + this.enableMetrics ? totalElapsedMs : undefined, // Pass the total response time only if metrics are enabled ); // Call response hooks with session ID From 10eeb3a0520960c63da12359a7c33f9a5d3a21de Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 21:34:29 +0800 Subject: [PATCH 26/30] refactor(tarko): optimize metric collection to avoid unnecessary computations - Only capture start time when metrics are enabled - Skip TTFT tracking when metrics are disabled - Avoid Date.now() calls and timing calculations when not needed - Reduce logging overhead when metrics collection is disabled - Ensure zero performance impact when metric.enable = false --- .../agent/src/agent/runner/llm-processor.ts | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts index aa336589bf..677f8b0e56 100644 --- a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts +++ b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts @@ -206,7 +206,7 @@ export class LLMProcessor { }; // Process the request - const startTime = Date.now(); + const startTime = this.enableMetrics ? Date.now() : 0; await this.sendRequest( resolvedModel, @@ -218,8 +218,10 @@ export class LLMProcessor { abortSignal, ); - const duration = Date.now() - startTime; - this.logger.info(`[LLM] Response received | Duration: ${duration}ms`); + if (this.enableMetrics) { + const duration = Date.now() - startTime; + this.logger.info(`[LLM] Response received | Duration: ${duration}ms`); + } } /** @@ -292,7 +294,7 @@ export class LLMProcessor { // Generate a unique message ID to correlate streaming messages with final message const messageId = `msg_${Date.now()}_${Math.random().toString(36).substring(2, 10)}`; - // Track TTFT (Time to First Token) + // Track TTFT (Time to First Token) only if metrics are enabled let firstTokenTime: number | null = null; let hasReceivedFirstContent = false; @@ -311,13 +313,14 @@ export class LLMProcessor { // Process the chunk using the tool call engine const chunkResult = toolCallEngine.processStreamingChunk(chunk, processingState); - // Track first token time when we receive the first meaningful content - // We don't check chunkResult here because it may be modified by a custom ToolCallEngine. - if (!hasReceivedFirstContent /* && (chunkResult.content || chunkResult.reasoningContent) */) { + // Track first token time only if metrics are enabled + if (this.enableMetrics && !hasReceivedFirstContent /* && (chunkResult.content || chunkResult.reasoningContent) */) { firstTokenTime = Date.now(); hasReceivedFirstContent = true; - const ttft = firstTokenTime - requestStartTime; - this.logger.info(`[LLM] First token received | TTFT: ${ttft}ms`); + if (requestStartTime > 0) { // Only calculate if we have a valid start time + const ttft = firstTokenTime - requestStartTime; + this.logger.info(`[LLM] First token received | TTFT: ${ttft}ms`); + } } // Only send streaming events in streaming mode @@ -376,11 +379,15 @@ export class LLMProcessor { this.logger.infoWithData('Finalized Response', parsedResponse, JSON.stringify); - // Calculate timing metrics - const totalElapsedMs = Date.now() - requestStartTime; - const ttftMs = firstTokenTime ? firstTokenTime - requestStartTime : totalElapsedMs; - - this.logger.info(`[LLM] Response timing | TTFT: ${ttftMs}ms | Total: ${totalElapsedMs}ms`); + // Calculate timing metrics only if enabled + let ttftMs: number | undefined; + let totalElapsedMs: number | undefined; + + if (this.enableMetrics && requestStartTime > 0) { + totalElapsedMs = Date.now() - requestStartTime; + ttftMs = firstTokenTime ? firstTokenTime - requestStartTime : totalElapsedMs; + this.logger.info(`[LLM] Response timing | TTFT: ${ttftMs}ms | Total: ${totalElapsedMs}ms`); + } // Create the final events based on processed content this.createFinalEvents( @@ -390,8 +397,8 @@ export class LLMProcessor { parsedResponse.reasoningContent || '', parsedResponse.finishReason || 'stop', messageId, // Pass the message ID to final events - this.enableMetrics ? ttftMs : undefined, // Pass the TTFT only if metrics are enabled - this.enableMetrics ? totalElapsedMs : undefined, // Pass the total response time only if metrics are enabled + ttftMs, // Pass the TTFT only if metrics were calculated + totalElapsedMs, // Pass the total response time only if metrics were calculated ); // Call response hooks with session ID From 1298a00b2bff52505f08c126afaf2f8cf272ea04 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 21:38:04 +0800 Subject: [PATCH 27/30] chore: revert snapshot change --- .../snapshot/__snapshots__/index.test.ts.snap | 120 +- .../gui-agent/basic/event-stream.jsonl | 106 +- .../gui-agent/basic/loop-1/tool-calls.jsonl | 2 +- .../gui-agent/basic/loop-2/tool-calls.jsonl | 4 +- .../gui-agent/basic/loop-3/tool-calls.jsonl | 4 +- .../event-stream.jsonl | 472 ++++---- .../loop-1/tool-calls.jsonl | 2 +- .../loop-2/tool-calls.jsonl | 4 +- .../event-stream.jsonl | 156 ++- .../loop-1/tool-calls.jsonl | 4 +- .../loop-2/tool-calls.jsonl | 2 +- .../streaming/tool-calls/event-stream.jsonl | 1062 ++++++++--------- .../tool-calls/basic/event-stream.jsonl | 66 +- .../tool-calls/basic/loop-1/tool-calls.jsonl | 2 +- .../tool-calls/basic/loop-2/tool-calls.jsonl | 4 +- .../event-stream.jsonl | 66 +- .../loop-1/tool-calls.jsonl | 2 +- .../loop-2/tool-calls.jsonl | 2 +- .../event-stream.jsonl | 66 +- .../loop-1/tool-calls.jsonl | 2 +- .../loop-2/tool-calls.jsonl | 2 +- .../event-stream.jsonl | 66 +- .../loop-1/tool-calls.jsonl | 4 +- .../loop-2/tool-calls.jsonl | 2 +- 24 files changed, 1056 insertions(+), 1166 deletions(-) diff --git a/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap b/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap index 2691b18366..a8e1147aba 100644 --- a/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap +++ b/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap @@ -66,9 +66,7 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -154,9 +152,7 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -242,9 +238,7 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -320,9 +314,7 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -344,9 +336,7 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 3`] = ` "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" } `; @@ -628,9 +618,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -931,9 +919,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -1865,9 +1851,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` "content": "The weather information for Boston is now available, so we can directly respond with the details.\\nIn Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.In Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.", "rawContent": "", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -1959,9 +1943,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -2148,9 +2130,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -2562,9 +2542,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr "content": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "rawContent": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -2650,9 +2628,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -2739,9 +2715,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -2849,9 +2823,7 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st "content": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "rawContent": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -2913,9 +2885,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -2962,9 +2932,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3016,9 +2984,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3040,9 +3006,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 3`] = "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" } `; @@ -3091,9 +3055,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3140,9 +3102,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3194,9 +3154,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3218,9 +3176,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" } `; @@ -3269,9 +3225,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3318,9 +3272,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3372,9 +3324,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3396,9 +3346,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" } `; @@ -3447,9 +3395,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3496,9 +3442,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3550,9 +3494,7 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" }, { "id": "<>", @@ -3574,8 +3516,6 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "<>", - "ttftMs": "<>", - "ttltMs": "<>" + "messageId": "<>" } `; diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl index 85d060ded1..6c63a54d04 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/event-stream.jsonl @@ -1,8 +1,8 @@ [ { - "id": "b3e29689-00ea-4f12-82cd-c77ffabeefa0", + "id": "4f79ac00-01c8-443c-b106-c2a05cf2b04d", "type": "user_message", - "timestamp": 1756136675247, + "timestamp": 1755542763332, "content": [ { "type": "text", @@ -11,10 +11,10 @@ ] }, { - "id": "07636533-351d-4966-819f-83e4a1e4bb06", + "id": "914584b0-2d55-493a-bda6-a238138b4931", "type": "agent_run_start", - "timestamp": 1756136675247, - "sessionId": "1756136675247-8x0q7um", + "timestamp": 1755542763332, + "sessionId": "1755542763332-jnh4rv3", "runOptions": { "input": "[Complex multimodal input]" }, @@ -23,9 +23,9 @@ "agentName": "Anonymous" }, { - "id": "5d680ff5-1985-4fdb-8bc5-ebf0cc360f80", + "id": "22557550-867f-4f03-83aa-e848616660fa", "type": "environment_input", - "timestamp": 1756136675248, + "timestamp": 1755542763333, "description": "Browser Screenshot", "content": [ { @@ -41,14 +41,14 @@ ] }, { - "id": "71f636a9-a6ee-4e16-a91e-7640d2e08702", + "id": "887ce24f-26f6-4ace-8394-3e13fc4257ce", "type": "assistant_message", - "timestamp": 1756136675258, + "timestamp": 1755542763343, "content": "Initiating search for 'What is Agent TARS' on Google.", "rawContent": "Initiating search for 'What is Agent TARS' on Google.", "toolCalls": [ { - "id": "call_1756136675258_9dvfn", + "id": "call_1755542763343_yf90m", "type": "function", "function": { "name": "browser_action_tool", @@ -57,22 +57,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136675253_34j1wpu8", - "ttftMs": 6, - "ttltMs": 10 + "messageId": "msg_1755542763335_he4gp4p1" }, { - "id": "0303a5e5-ca83-4909-b684-67f9c83845e6", + "id": "d2323458-e7ce-4989-b9d8-f12a9ce7646e", "type": "tool_call", - "timestamp": 1756136675259, - "toolCallId": "call_1756136675258_9dvfn", + "timestamp": 1755542763344, + "toolCallId": "call_1755542763343_yf90m", "name": "browser_action_tool", "arguments": { "thought": "To find information about Agent TARS, the next step is to input the query into the Google search bar. The search bar is visible in the center of the page, so I need to type the query there.", "step": "Type 'What is Agent TARS' into the Google search bar located in the center of the page.", "action": "type(content='What is Agent TARS')" }, - "startTime": 1756136675259, + "startTime": 1755542763344, "tool": { "name": "browser_action_tool", "description": "A browser tool to perform the next action to complete the task.\n\n## Action Space\n\nclick(point='x1 y1')\nleft_double(point='x1 y1')\nright_single(point='x1 y1')\ndrag(start_point='x1 y1', end_point='x2 y2')\nhotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.\ntype(content='xxx') # Use escape characters \\', \\\", and \\n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \\n at the end of content. \nscroll(point='x1 y1', direction='down or up or right or left') # Show more information on the `direction` side.\nwait() #Sleep for 5s and take a screenshot to check for any changes.\nfinished(content='xxx') # Use escape characters \\', \", and \\n in content part to ensure we can parse the content in normal python string format.\n\n\n## Note\n- Use English in `Thought` part.\n- Describe your detailed thought in `Thought` part.\n- Describe your action in `Step` part.\n\n", @@ -101,10 +99,10 @@ } }, { - "id": "f8fed10d-70f4-4e43-9aef-1d574e35c0ed", + "id": "eb56bea2-e8c0-4ce3-8d19-6e609877921f", "type": "tool_result", - "timestamp": 1756136675259, - "toolCallId": "call_1756136675258_9dvfn", + "timestamp": 1755542763345, + "toolCallId": "call_1755542763343_yf90m", "name": "browser_action_tool", "content": { "action": "type(content='What is Agent TARS')", @@ -113,9 +111,9 @@ "elapsedMs": 0 }, { - "id": "9699f26f-72c7-46d0-b517-96275374eb15", + "id": "500c8219-9de3-4d3c-b269-5eb2314fa44f", "type": "environment_input", - "timestamp": 1756136675260, + "timestamp": 1755542763345, "description": "Browser Screenshot", "content": [ { @@ -131,14 +129,14 @@ ] }, { - "id": "10dd4a1b-4734-4f4f-9cda-047b079e8019", + "id": "5d445377-3896-4c12-8aaf-c0ad329dd37a", "type": "assistant_message", - "timestamp": 1756136675273, + "timestamp": 1755542763362, "content": "Submitting search query for 'What is Agent TARS'.", "rawContent": "Submitting search query for 'What is Agent TARS'.", "toolCalls": [ { - "id": "call_1756136675273_svj8k", + "id": "call_1755542763362_l3lmi", "type": "function", "function": { "name": "browser_action_tool", @@ -147,22 +145,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136675262_vv6uzoel", - "ttftMs": 2, - "ttltMs": 13 + "messageId": "msg_1755542763346_76j8x2ws" }, { - "id": "ee656c45-f734-47e2-8600-9c509726c05c", + "id": "4b0c9d38-9b50-46f2-85f8-4a22070eb8fd", "type": "tool_call", - "timestamp": 1756136675273, - "toolCallId": "call_1756136675273_svj8k", + "timestamp": 1755542763363, + "toolCallId": "call_1755542763362_l3lmi", "name": "browser_action_tool", "arguments": { "thought": "The search query 'What is Agent TARS' is already typed into the Google search bar, so the next logical step is to click the 'Google 搜索' button to execute the search and retrieve results.", "step": "Click on the 'Google 搜索' button located below the search bar to submit the query and display search results.", "action": "click(point='454 525')" }, - "startTime": 1756136675273, + "startTime": 1755542763363, "tool": { "name": "browser_action_tool", "description": "A browser tool to perform the next action to complete the task.\n\n## Action Space\n\nclick(point='x1 y1')\nleft_double(point='x1 y1')\nright_single(point='x1 y1')\ndrag(start_point='x1 y1', end_point='x2 y2')\nhotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.\ntype(content='xxx') # Use escape characters \\', \\\", and \\n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \\n at the end of content. \nscroll(point='x1 y1', direction='down or up or right or left') # Show more information on the `direction` side.\nwait() #Sleep for 5s and take a screenshot to check for any changes.\nfinished(content='xxx') # Use escape characters \\', \", and \\n in content part to ensure we can parse the content in normal python string format.\n\n\n## Note\n- Use English in `Thought` part.\n- Describe your detailed thought in `Thought` part.\n- Describe your action in `Step` part.\n\n", @@ -191,10 +187,10 @@ } }, { - "id": "aa686eb4-2461-4b9e-978c-b326b786921d", + "id": "266c40c0-52d6-45c6-962c-abf8d397cafe", "type": "tool_result", - "timestamp": 1756136675274, - "toolCallId": "call_1756136675273_svj8k", + "timestamp": 1755542763363, + "toolCallId": "call_1755542763362_l3lmi", "name": "browser_action_tool", "content": { "action": "click(point='454 525')", @@ -203,9 +199,9 @@ "elapsedMs": 0 }, { - "id": "9fd18441-8485-46e1-9274-06fb700c04fb", + "id": "73fc5f96-9697-42a3-9e45-9b583228f479", "type": "environment_input", - "timestamp": 1756136675274, + "timestamp": 1755542763364, "description": "Browser Screenshot", "content": [ { @@ -221,14 +217,14 @@ ] }, { - "id": "1cc74c6c-1117-4d9c-9331-f4640d16dcbd", + "id": "94a2e6d1-b979-4263-a755-9ca5b9c55a72", "type": "assistant_message", - "timestamp": 1756136675281, + "timestamp": 1755542763372, "content": "", "rawContent": "", "toolCalls": [ { - "id": "call_1756136675280_jbm6k", + "id": "call_1755542763372_2ke3j", "type": "function", "function": { "name": "browser_action_tool", @@ -237,22 +233,20 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136675275_1ba7cjha", - "ttftMs": 7, - "ttltMs": 7 + "messageId": "msg_1755542763365_4rdbihqz" }, { - "id": "b508733c-821a-4849-9132-5333c9d979a4", + "id": "f000de45-04d5-4dfb-a8cd-e0306df433b2", "type": "tool_call", - "timestamp": 1756136675282, - "toolCallId": "call_1756136675280_jbm6k", + "timestamp": 1755542763373, + "toolCallId": "call_1755542763372_2ke3j", "name": "browser_action_tool", "arguments": { "thought": "Wait for the page to load completely to view the search results for 'What is Agent TARS'.", "step": "Wait for 5 seconds to allow the Google search results page to load.", "action": "wait()" }, - "startTime": 1756136675282, + "startTime": 1755542763373, "tool": { "name": "browser_action_tool", "description": "A browser tool to perform the next action to complete the task.\n\n## Action Space\n\nclick(point='x1 y1')\nleft_double(point='x1 y1')\nright_single(point='x1 y1')\ndrag(start_point='x1 y1', end_point='x2 y2')\nhotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.\ntype(content='xxx') # Use escape characters \\', \\\", and \\n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \\n at the end of content. \nscroll(point='x1 y1', direction='down or up or right or left') # Show more information on the `direction` side.\nwait() #Sleep for 5s and take a screenshot to check for any changes.\nfinished(content='xxx') # Use escape characters \\', \", and \\n in content part to ensure we can parse the content in normal python string format.\n\n\n## Note\n- Use English in `Thought` part.\n- Describe your detailed thought in `Thought` part.\n- Describe your action in `Step` part.\n\n", @@ -281,10 +275,10 @@ } }, { - "id": "618e0ea8-c154-41f4-b37e-2ae2d271b9e9", + "id": "384bfeca-fdc9-41fd-9f3f-89d01e15fc4d", "type": "tool_result", - "timestamp": 1756136675282, - "toolCallId": "call_1756136675280_jbm6k", + "timestamp": 1755542763373, + "toolCallId": "call_1755542763372_2ke3j", "name": "browser_action_tool", "content": { "action": "wait()", @@ -293,9 +287,9 @@ "elapsedMs": 0 }, { - "id": "dd7905c3-2c5d-4d1d-a7df-9faa1a79e0e4", + "id": "29e89bb4-d388-48b2-aa0b-c9e363ac5270", "type": "environment_input", - "timestamp": 1756136675284, + "timestamp": 1755542763373, "description": "Browser Screenshot", "content": [ { @@ -311,14 +305,12 @@ ] }, { - "id": "6212f79f-de15-458f-b401-f1bb1e1b117b", + "id": "0c694fd9-91e7-4dc0-b24a-c3c9d2ff227a", "type": "assistant_message", - "timestamp": 1756136675288, + "timestamp": 1755542763377, "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "msg_1756136675287_pmjxvvb2", - "ttftMs": 3, - "ttltMs": 4 + "messageId": "msg_1755542763374_6dyefl62" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl index 0c99b5bd16..48b5d39efb 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136675258_9dvfn", + "toolCallId": "call_1755542763343_yf90m", "name": "browser_action_tool", "args": { "thought": "To find information about Agent TARS, the next step is to input the query into the Google search bar. The search bar is visible in the center of the page, so I need to type the query there.", diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl index 8d822a19c9..c3d341dfb3 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136675273_svj8k", + "toolCallId": "call_1755542763362_l3lmi", "name": "browser_action_tool", "args": { "thought": "The search query 'What is Agent TARS' is already typed into the Google search bar, so the next logical step is to click the 'Google 搜索' button to execute the search and retrieve results.", @@ -11,6 +11,6 @@ "action": "click(point='454 525')", "status": "success" }, - "executionTime": 0 + "executionTime": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl index 35122a1c0c..bcfff28453 100644 --- a/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/gui-agent/basic/loop-3/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136675280_jbm6k", + "toolCallId": "call_1755542763372_2ke3j", "name": "browser_action_tool", "args": { "thought": "Wait for the page to load completely to view the search results for 'What is Agent TARS'.", @@ -11,6 +11,6 @@ "action": "wait()", "status": "success" }, - "executionTime": 0 + "executionTime": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl index 00aeb4d171..550160a40a 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "212d18d1-51f1-4eab-acd5-2f9bff96e806", + "id": "a19c803e-076e-48bb-b944-a5f1e072c5d4", "type": "user_message", - "timestamp": 1756136674628, + "timestamp": 1755542762693, "content": "How's the weather today?" }, { - "id": "636c602d-6619-4117-b21f-7a1fa479d778", + "id": "c86fa5d9-5b1c-43f2-bd21-bae68f63c3ef", "type": "agent_run_start", - "timestamp": 1756136674628, - "sessionId": "1756136674628-s4zunk2", + "timestamp": 1755542762693, + "sessionId": "1755542762693-hixjy4b", "runOptions": { "input": "How's the weather today?", "stream": true @@ -19,44 +19,44 @@ "agentName": "Anonymous" }, { - "id": "a3e12f1a-6e48-4065-88da-86b9a638ab8c", + "id": "e6864d19-357f-43a3-bfd9-000de4a7fe71", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674630, - "toolCallId": "call_1756136674630_nppbnj0c9", + "timestamp": 1755542762695, + "toolCallId": "call_1755542762695_uzd5uugxs", "toolName": "getCurrentLocation", "arguments": "", "isComplete": false, - "messageId": "msg_1756136674630_q7f9jja8" + "messageId": "msg_1755542762695_uiyxc217" }, { - "id": "b03b540c-aa87-4b7b-a12f-977542f864e1", + "id": "f0c46240-8008-41f1-abe8-3452615e8a3d", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674630, - "toolCallId": "call_1756136674630_nppbnj0c9", + "timestamp": 1755542762695, + "toolCallId": "call_1755542762695_uzd5uugxs", "toolName": "getCurrentLocation", "arguments": "{}", "isComplete": false, - "messageId": "msg_1756136674630_q7f9jja8" + "messageId": "msg_1755542762695_uiyxc217" }, { - "id": "3ae0a9cc-dc5e-42d6-9e0d-ba7ea961016d", + "id": "0282fb53-bb66-4e2b-802f-1f5955d085d2", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674630, - "toolCallId": "call_1756136674630_nppbnj0c9", + "timestamp": 1755542762695, + "toolCallId": "call_1755542762695_uzd5uugxs", "toolName": "getCurrentLocation", "arguments": "", "isComplete": true, - "messageId": "msg_1756136674630_q7f9jja8" + "messageId": "msg_1755542762695_uiyxc217" }, { - "id": "a65dd620-83d2-443c-8ad2-1bc283769467", + "id": "9b7cc034-ba15-4f3b-b6c1-86a4ff8e26ae", "type": "assistant_message", - "timestamp": 1756136674630, + "timestamp": 1755542762695, "content": "", "rawContent": "\n{\n \"name\": \"getCurrentLocation\",\n \"parameters\": {}\n}\n", "toolCalls": [ { - "id": "call_1756136674630_nppbnj0c9", + "id": "call_1755542762695_uzd5uugxs", "type": "function", "function": { "name": "getCurrentLocation", @@ -65,18 +65,16 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674630_q7f9jja8", - "ttftMs": 1, - "ttltMs": 1 + "messageId": "msg_1755542762695_uiyxc217" }, { - "id": "a55bb43f-e63b-4973-b119-b3c2d1ca08a1", + "id": "7f0575d0-3f6b-4525-9737-2ec2b6eab145", "type": "tool_call", - "timestamp": 1756136674631, - "toolCallId": "call_1756136674630_nppbnj0c9", + "timestamp": 1755542762696, + "toolCallId": "call_1755542762695_uzd5uugxs", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1756136674631, + "startTime": 1755542762696, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -87,10 +85,10 @@ } }, { - "id": "24f53470-924c-4ff6-8eb4-20f34b3f474c", + "id": "ced75996-0f90-4013-a48e-bfa9cd17f88b", "type": "tool_result", - "timestamp": 1756136674631, - "toolCallId": "call_1756136674630_nppbnj0c9", + "timestamp": 1755542762696, + "toolCallId": "call_1755542762695_uzd5uugxs", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -98,154 +96,154 @@ "elapsedMs": 0 }, { - "id": "f1aa3ea8-cb09-4559-9ecc-bda2bcb81ad4", + "id": "e1a22f23-1fb7-4f48-b627-a4ec70b91d42", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674632, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762697, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "1b586d76-05ae-41f3-85d9-52b30c10b206", + "id": "27f26122-da6d-4e5a-8b4a-3e62844bb7a1", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674632, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762697, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "{", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "ba371bd2-de27-492b-86ea-e1b8e644dca4", + "id": "1d7126a9-9b3c-4165-a33b-b99dfc3290a8", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674632, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762697, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "\n", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "7a683040-44a0-4b9e-926b-5d8f5dcd1d8e", + "id": "cdcb7dbf-2d17-4b3c-a78a-62678cc3fd54", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674632, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762697, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": " ", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "3e650794-5182-41ec-bfc7-6b06ca120d84", + "id": "9a8296e1-9e11-407f-a6e1-308e8929f63f", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674632, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762697, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": " \"", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "b55e8a5d-93cd-4c44-982e-c161993468bb", + "id": "09045d88-12bf-4e97-956e-8460812aecfb", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674632, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "location", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "e9ad3e60-6229-44ec-a1ae-adf829e4c6a2", + "id": "04cef1eb-ef69-4989-9f42-fa749cc564cc", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "\":", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "b9a4f53d-ae96-42ca-b462-d30da1d3eea4", + "id": "1129031f-9627-4c42-9583-e9d405944a03", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": " \"", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "d01b8a05-4bdf-4d10-b475-689d31db6cd4", + "id": "9401411f-6375-464f-9947-d8d9c30f67fa", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "Boston", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "978bb07e-5d46-4453-9575-0db2676b09c7", + "id": "7452f598-319c-4602-ae50-3abb241c9570", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "\"", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "4dd8b829-2b67-441b-bb96-2954df891c47", + "id": "c2049ea5-58ac-459e-921c-b0fcae85c3f6", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "\n", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "099d80af-ba09-4f30-a320-2f3aae488e71", + "id": "ad422eb6-dfdb-44c8-8142-970a4716b7fb", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": " ", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "33743e2c-3ab6-485b-aa79-04b3c66494b7", + "id": "36918974-521b-48fc-8439-73d4c55d7950", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": " }", "isComplete": false, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "c9d6b3cb-dc99-4c87-82d9-68370a724e37", + "id": "f439920e-095b-4630-9dd6-cf1f0e536d42", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762698, + "toolCallId": "call_1755542762697_g41jcpuiz", "toolName": "getWeather", "arguments": "", "isComplete": true, - "messageId": "msg_1756136674632_6y95mqnu" + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "93d436a0-e712-4705-a5eb-0638966370b3", + "id": "37cb8f98-ef43-41ad-a2ac-1e82d53594c0", "type": "assistant_message", - "timestamp": 1756136674633, + "timestamp": 1755542762698, "content": "", "rawContent": "\n{\n \"name\": \"getWeather\",\n \"parameters\": {\n \"location\": \"Boston\"\n }\n}\n", "toolCalls": [ { - "id": "call_1756136674632_zfb0tt17j", + "id": "call_1755542762697_g41jcpuiz", "type": "function", "function": { "name": "getWeather", @@ -254,20 +252,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674632_6y95mqnu", - "ttftMs": 2, - "ttltMs": 2 + "messageId": "msg_1755542762697_vhbd650u" }, { - "id": "8e335208-612c-4a33-b511-0123b421a5c5", + "id": "bd9ec638-3f34-44e6-a00e-97becc66e881", "type": "tool_call", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762699, + "toolCallId": "call_1755542762697_g41jcpuiz", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1756136674633, + "startTime": 1755542762698, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -286,10 +282,10 @@ } }, { - "id": "5563dbaf-d8fa-4017-969b-7c6d6a2a814f", + "id": "60d4d4f9-42d6-455b-87bb-43027d401ef2", "type": "tool_result", - "timestamp": 1756136674633, - "toolCallId": "call_1756136674632_zfb0tt17j", + "timestamp": 1755542762699, + "toolCallId": "call_1755542762697_g41jcpuiz", "name": "getWeather", "content": { "location": "Boston", @@ -302,374 +298,372 @@ "elapsedMs": 0 }, { - "id": "e42b49f2-1fe8-49a8-add6-3622e1f2d923", + "id": "d97a325a-5ca0-4369-8c04-37da8fcede77", "type": "assistant_streaming_message", - "timestamp": 1756136674634, + "timestamp": 1755542762700, "content": "Today", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "1d657ac0-8eb5-4734-9945-b4a2ee4f5464", + "id": "d56ee554-f4fe-4789-90a3-f6b8bccd251e", "type": "assistant_streaming_message", - "timestamp": 1756136674634, + "timestamp": 1755542762700, "content": " in", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "a62df08f-14cc-4f36-88e3-b5bd6c5f8106", + "id": "26d6e8fa-9937-428e-a9bd-38ae480d5808", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " Boston", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "4d17cef9-1041-445b-b931-129e469ff4a2", + "id": "616089ef-c38c-4dfa-99d9-96ec59196b57", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": ",", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "ef1b9e71-06c2-4675-9b7e-1dd110988be5", + "id": "202213ad-26f9-4d9a-a42a-22fe8bc2f348", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " the", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "abe02247-f9ae-4340-a2d0-c27fa92b57c6", + "id": "b404934a-9556-4c33-aa15-a95a846b05f5", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " weather", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "25846657-6ace-43e5-9733-2971330c58f6", + "id": "cf088f59-4d00-4962-a93e-d82f3208680b", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " is", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "6ec044cb-3203-474b-8d51-87265eb5a598", + "id": "2dd072b7-9639-4bf9-944c-3d8be30c3530", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " sunny", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "0ec9c01f-e5ef-4637-95a7-6099ff23b437", + "id": "23248252-973a-4ce2-8ebf-57c02ea85493", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " with", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "daffda4d-a843-431c-b39d-28b2982d1240", + "id": "7ea8a932-b9d9-4b38-91eb-568e64fdc6cc", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " a", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "c2c86a84-0274-4dfd-8919-8c79376047f0", + "id": "d6f63efc-6688-4cfc-ae1f-4f7b0b574a8a", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " temperature", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "60ba517f-7225-4189-8e90-ac5586413a0f", + "id": "34dce5a2-787b-4b70-a967-1c71cc1dbf48", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " of", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "14bb2a2a-591d-415d-ab29-b8d9e95b01bb", + "id": "aa848642-0ff3-4477-9d9d-f46c8cbb1f5d", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " ", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "f5a51ef3-0cb6-45a7-8cd5-fb9742398f56", + "id": "de74e7e5-16d3-40f2-95f6-1d608659d31e", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "7", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "97c280b0-8f53-4394-9cc6-b244d3ebed02", + "id": "963b0d3e-150f-4873-84a6-bd3d46d7a990", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "0", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "e788f232-5bc3-4a26-bf5a-7fa6580504ad", + "id": "7e7bbba6-3f9c-4e76-a32e-786ffa221312", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "°F", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "94e089ac-2e0a-4c93-851e-132781977c8b", + "id": "b8d94986-eab1-49b9-b39d-6bdab8127eed", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " (", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "25badb5f-0347-4663-84a6-0761db0242fc", + "id": "6aa67818-9bba-4bce-9700-477c2f20acdb", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "2", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "ad92253d-f018-4850-b220-de2313e1b241", + "id": "cf04bcf7-e61a-4763-b1d3-caec99e4282d", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "1", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "1da5d461-ff8d-45c5-bfa5-a13c1d5a4226", + "id": "ccdc829a-fc50-4990-a32b-719815d6efd3", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "°C", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "981c1390-aa94-4412-9724-beac71866e0c", + "id": "77c880c3-cda7-4168-9199-66832ac41b6f", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": ").", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "5857a037-d090-4a4d-a07a-22d7c923f0f1", + "id": "1f9323db-fd32-4446-9653-d9a2e3dfe53e", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " The", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "d4f62b20-c9bf-4fe0-9029-d7d94141ec3f", + "id": "cab107e0-1ff0-4ee7-b47c-3f77b8f06440", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " precipitation", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "633bafa0-07e4-4f0d-ac30-7247a63aa1e5", + "id": "3a401583-a201-4219-989c-ad45907cb720", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " chance", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "aa3022ca-2e18-4ff5-b04c-6ef3b9e315de", + "id": "e1c8d7dd-c3f6-4e29-91f5-84cc6b2fb2b9", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " is", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "9942795d-d225-4626-8167-28cae5c240ec", + "id": "769284bc-22e4-4689-ae06-72b83d73d6ad", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": " ", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "1843e605-53dc-4763-802f-fb0020f6a6aa", + "id": "6f0045cf-c77f-4df4-8022-3ba256f1ce22", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "1", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "d91b8953-6bae-45b4-b38a-974bd3174fe7", + "id": "d9706b52-b8cd-4551-b021-e9293ecd9950", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762700, "content": "0", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "c9adf90b-f5ce-46a5-afe4-9c658e2f7226", + "id": "ad0245d4-c3b7-4275-8a79-cfcb43917551", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762701, "content": "%,", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "954d0e8d-fdc3-419c-864b-9824d3ab8e14", + "id": "0b18a6d2-114b-41b8-a8a1-aaad3785cba0", "type": "assistant_streaming_message", - "timestamp": 1756136674635, + "timestamp": 1755542762701, "content": " humidity", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "e89f288a-5fc9-434a-a44c-99667b6d5e22", + "id": "25adfc5d-a59e-4988-b1f4-7b1f1e5f468c", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " is", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "275deb08-c573-4520-a64c-9e2f1bc2183c", + "id": "16425323-1fbf-4092-bed2-0a54ea5c667a", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " ", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "ac574e64-ec7c-4709-a6bc-d609241b6309", + "id": "ed89e42c-82b7-4f61-ac36-96f82651de30", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": "4", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "78496254-ff50-475b-b4bb-85d5caaf66f6", + "id": "58c1fc0b-3d35-4c52-ba9f-2f047450d3c3", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": "5", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "13e562a6-5bc9-4d52-8f73-817b8c07a959", + "id": "40b84000-244e-426f-b310-bffd13966ea3", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": "%,", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "1a2c89ed-43b6-4f4b-af35-165afec24896", + "id": "79ed93fa-a801-4df3-8f32-87d6c4f29d27", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " and", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "74312d07-4006-4720-8b1b-b9e7c25e5153", + "id": "f982346c-0ce9-4300-8827-ac12845ad5a1", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " the", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "35adac3d-44fc-41df-b112-5ef8c31dbfca", + "id": "49cfe97b-157c-433f-a53b-fe9bfe595be4", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " wind", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "a2d56777-831c-4b45-b529-a543a41f4816", + "id": "7934e9cf-f7e6-4e45-bcb6-1d3bea7af5ac", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " is", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "a8823057-559f-4c87-b7d1-844fb831eab3", + "id": "f301e616-a844-45d1-802c-dcfd49aa1cfb", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " blowing", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "67aebab4-ac35-49e3-bd54-af59992b37c7", + "id": "d88e0f53-4d03-4ee8-85b3-6376edb96aa4", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " at", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "84392323-1bec-4fce-b4a0-440e9db16862", + "id": "7607997f-cea5-4a91-bdda-fab67e8c636f", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " ", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "2522c76c-2b75-4465-83cb-95ff8a262ee1", + "id": "002f9af0-42b8-43e2-926f-7a446ddb43b3", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": "5", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "ea98d8c6-937d-42f4-92ae-b7648c483916", + "id": "04b7b784-c052-4ae9-a9cb-292bfe35eeac", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": " mph", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "4ff76974-e565-48ef-94eb-f347c016148b", + "id": "75860195-fd7a-4ea3-824f-12eb95676614", "type": "assistant_streaming_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": ".", "isComplete": false, - "messageId": "msg_1756136674634_7gb9770i" + "messageId": "msg_1755542762699_3jg1fjhi" }, { - "id": "8ba15d82-21d0-4715-a7c3-2ec3de026fea", + "id": "2523b9d6-b4b7-4432-b081-26788715e2bc", "type": "assistant_message", - "timestamp": 1756136674636, + "timestamp": 1755542762701, "content": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "rawContent": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "finishReason": "stop", - "messageId": "msg_1756136674634_7gb9770i", - "ttftMs": 0, - "ttltMs": 2 + "messageId": "msg_1755542762699_3jg1fjhi" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl index f5b81dc511..eb6ba2ccc3 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674630_nppbnj0c9", + "toolCallId": "call_1755542762695_uzd5uugxs", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl index d810441284..dcfd0bffd9 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-prompt-engineering-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674632_zfb0tt17j", + "toolCallId": "call_1755542762697_g41jcpuiz", "name": "getWeather", "args": { "location": "Boston" @@ -13,6 +13,6 @@ "humidity": "45%", "wind": "5 mph" }, - "executionTime": 0 + "executionTime": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl index d7399f7246..d80ef3229a 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "a1e9f111-647e-4ee9-b9f7-0c88d039b0b1", + "id": "a04489d6-cc9d-41f5-a167-99c488734c6e", "type": "user_message", - "timestamp": 1756136674648, + "timestamp": 1755542762715, "content": "How's the weather today?" }, { - "id": "0cef7497-f406-4884-94d7-e2d4f600c50f", + "id": "86def086-e4fa-4955-8335-87010b2bdc65", "type": "agent_run_start", - "timestamp": 1756136674648, - "sessionId": "1756136674648-93hyfbf", + "timestamp": 1755542762715, + "sessionId": "1755542762715-8e0s4wm", "runOptions": { "input": "How's the weather today?", "stream": true @@ -19,38 +19,38 @@ "agentName": "Anonymous" }, { - "id": "a14abc1e-043d-47e2-b433-d9a1101dca60", + "id": "87e11771-88cf-4785-bb13-f091bb95c228", "type": "assistant_streaming_message", - "timestamp": 1756136674649, + "timestamp": 1755542762716, "content": "I", "isComplete": false, - "messageId": "msg_1756136674649_doijxudu" + "messageId": "msg_1755542762716_gb28seyh" }, { - "id": "2bd0a65d-f5e5-421d-bdbb-c35e413189d6", + "id": "0c78a35c-e47e-44e6-b3a4-c3e3e30713d4", "type": "assistant_streaming_message", - "timestamp": 1756136674649, + "timestamp": 1755542762716, "content": "'ll check the weather for you. First", "isComplete": false, - "messageId": "msg_1756136674649_doijxudu" + "messageId": "msg_1755542762716_gb28seyh" }, { - "id": "689ccda7-77b4-4d99-95f5-a5de56af0372", + "id": "f9885133-e643-4da3-b666-2ee77ab373eb", "type": "assistant_streaming_message", - "timestamp": 1756136674649, + "timestamp": 1755542762716, "content": ", I need to find your current location.", "isComplete": false, - "messageId": "msg_1756136674649_doijxudu" + "messageId": "msg_1755542762716_gb28seyh" }, { - "id": "2da49376-ccb4-42a9-a331-51fb473164f8", + "id": "94316e53-d699-4ac0-bd83-262b32e65c3e", "type": "assistant_message", - "timestamp": 1756136674649, + "timestamp": 1755542762716, "content": "I'll check the weather for you. First, I need to find your current location.", "rawContent": "I'll check the weather for you. First, I need to find your current location.", "toolCalls": [ { - "id": "call_1756136674649_3mmas", + "id": "call_1755542762716_78f1e", "type": "function", "function": { "name": "getCurrentLocation", @@ -59,18 +59,16 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674649_doijxudu", - "ttftMs": 1, - "ttltMs": 1 + "messageId": "msg_1755542762716_gb28seyh" }, { - "id": "f678b710-7bb5-4c4e-8ff7-bf54716666fc", + "id": "13ff0cd2-f32a-4a0a-92fd-873831f49611", "type": "tool_call", - "timestamp": 1756136674650, - "toolCallId": "call_1756136674649_3mmas", + "timestamp": 1755542762717, + "toolCallId": "call_1755542762716_78f1e", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1756136674650, + "startTime": 1755542762717, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -81,10 +79,10 @@ } }, { - "id": "8cfa2bae-9937-4512-bca4-7d0180ab047b", + "id": "8339b3db-29e6-4413-bc6b-e44c3cd3d560", "type": "tool_result", - "timestamp": 1756136674650, - "toolCallId": "call_1756136674649_3mmas", + "timestamp": 1755542762717, + "toolCallId": "call_1755542762716_78f1e", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -92,54 +90,54 @@ "elapsedMs": 0 }, { - "id": "e6845bd0-2138-4508-a073-117fbd0bb16b", + "id": "7fcffc05-4ebe-44d5-8acf-77f5056c6b1e", "type": "assistant_streaming_message", - "timestamp": 1756136674651, + "timestamp": 1755542762718, "content": "I", "isComplete": false, - "messageId": "msg_1756136674651_ut5cdrod" + "messageId": "msg_1755542762718_cf637a4q" }, { - "id": "c6e1a577-6fcf-4bc6-9780-cd5e08996b4e", + "id": "e13597ab-0a1a-4f56-beb9-5962fbacb5c9", "type": "assistant_streaming_message", - "timestamp": 1756136674651, + "timestamp": 1755542762718, "content": "'ll", "isComplete": false, - "messageId": "msg_1756136674651_ut5cdrod" + "messageId": "msg_1755542762718_cf637a4q" }, { - "id": "5d7d2452-c266-4f92-b15f-a0b92632fb0c", + "id": "65af4f7c-4478-4161-a454-eb21db4b8bfa", "type": "assistant_streaming_message", - "timestamp": 1756136674651, + "timestamp": 1755542762718, "content": " check the current", "isComplete": false, - "messageId": "msg_1756136674651_ut5cdrod" + "messageId": "msg_1755542762718_cf637a4q" }, { - "id": "ae597713-0164-47c3-abfc-cd7dbbf73e9a", + "id": "ec7e2470-5ecd-42e6-859d-7af9e111361c", "type": "assistant_streaming_message", - "timestamp": 1756136674651, + "timestamp": 1755542762718, "content": " weather in", "isComplete": false, - "messageId": "msg_1756136674651_ut5cdrod" + "messageId": "msg_1755542762718_cf637a4q" }, { - "id": "3dde2dc3-29d1-4558-8463-9c6057ac1802", + "id": "425af1dc-52f5-413f-addb-38d51f613165", "type": "assistant_streaming_message", - "timestamp": 1756136674651, + "timestamp": 1755542762718, "content": " Boston for you.", "isComplete": false, - "messageId": "msg_1756136674651_ut5cdrod" + "messageId": "msg_1755542762718_cf637a4q" }, { - "id": "f72570f4-824e-4c25-ba65-058b7a4ae1c9", + "id": "fa31586f-3ed1-46d2-9c92-352d0c194c6f", "type": "assistant_message", - "timestamp": 1756136674652, + "timestamp": 1755542762719, "content": "I'll check the current weather in Boston for you.", "rawContent": "I'll check the current weather in Boston for you.", "toolCalls": [ { - "id": "call_1756136674652_ts41i", + "id": "call_1755542762719_1jeqm", "type": "function", "function": { "name": "getWeather", @@ -148,20 +146,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674651_ut5cdrod", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762718_cf637a4q" }, { - "id": "0afd02a7-1aaa-44d4-8469-38f4444f1a4d", + "id": "c491834a-083e-4ac7-96a4-c7b5f5b357fa", "type": "tool_call", - "timestamp": 1756136674652, - "toolCallId": "call_1756136674652_ts41i", + "timestamp": 1755542762719, + "toolCallId": "call_1755542762719_1jeqm", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1756136674652, + "startTime": 1755542762719, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -180,10 +176,10 @@ } }, { - "id": "24dfeb3e-0657-494a-9719-a4d17034f800", + "id": "94a98ff1-6ca1-457c-a395-e2fd69f5a483", "type": "tool_result", - "timestamp": 1756136674652, - "toolCallId": "call_1756136674652_ts41i", + "timestamp": 1755542762720, + "toolCallId": "call_1755542762719_1jeqm", "name": "getWeather", "content": { "location": "Boston", @@ -196,70 +192,68 @@ "elapsedMs": 0 }, { - "id": "823a8fb3-437f-40a8-8777-31fe85c827d2", + "id": "5c1462a9-9783-4164-9450-c06fe5882806", "type": "assistant_streaming_message", - "timestamp": 1756136674653, + "timestamp": 1755542762721, "content": "The weather in Boston today", "isComplete": false, - "messageId": "msg_1756136674653_764z7gah" + "messageId": "msg_1755542762721_oqcpfkw5" }, { - "id": "d80f9ed4-ff97-4847-9db5-4e17acd60fce", + "id": "527137ff-8a4f-4cca-b58a-5ceeec157ff0", "type": "assistant_streaming_message", - "timestamp": 1756136674653, + "timestamp": 1755542762721, "content": " is sunny with a", "isComplete": false, - "messageId": "msg_1756136674653_764z7gah" + "messageId": "msg_1755542762721_oqcpfkw5" }, { - "id": "6ebcd9ac-e0a6-4fb1-a70c-dc828e06daeb", + "id": "0415ab99-b298-4d7b-b3b1-dbed076aec63", "type": "assistant_streaming_message", - "timestamp": 1756136674653, + "timestamp": 1755542762721, "content": " temperature of 70°", "isComplete": false, - "messageId": "msg_1756136674653_764z7gah" + "messageId": "msg_1755542762721_oqcpfkw5" }, { - "id": "8740bf78-8f68-4f8d-a9f2-a200a9e680c1", + "id": "5e83cdab-c286-43f5-ba4c-2022719ac93e", "type": "assistant_streaming_message", - "timestamp": 1756136674654, + "timestamp": 1755542762721, "content": "F (21°C). There", "isComplete": false, - "messageId": "msg_1756136674653_764z7gah" + "messageId": "msg_1755542762721_oqcpfkw5" }, { - "id": "898f8c45-873d-4ec7-a257-de323baef1dd", + "id": "d253997e-399a-4c66-ab85-eab12ba07d43", "type": "assistant_streaming_message", - "timestamp": 1756136674654, + "timestamp": 1755542762721, "content": "'s low precipitation chance at 10%", "isComplete": false, - "messageId": "msg_1756136674653_764z7gah" + "messageId": "msg_1755542762721_oqcpfkw5" }, { - "id": "81c566e2-f098-4910-b869-b6db70366767", + "id": "f9b94d73-cede-4625-958c-b83a5082ee6e", "type": "assistant_streaming_message", - "timestamp": 1756136674654, + "timestamp": 1755542762721, "content": ", humidity is at 45%, an", "isComplete": false, - "messageId": "msg_1756136674653_764z7gah" + "messageId": "msg_1755542762721_oqcpfkw5" }, { - "id": "95da79ad-d8ed-4bcb-b8f4-6d927c48fef2", + "id": "86d1ff7a-9414-4072-89b7-e2fec2d07dfc", "type": "assistant_streaming_message", - "timestamp": 1756136674654, + "timestamp": 1755542762721, "content": "d a light wind of 5 mph.", "isComplete": false, - "messageId": "msg_1756136674653_764z7gah" + "messageId": "msg_1755542762721_oqcpfkw5" }, { - "id": "dee84274-3217-4a23-8717-76978ff62575", + "id": "2d67c558-b5c7-4cfb-b516-e9fd5a32e2fc", "type": "assistant_message", - "timestamp": 1756136674654, + "timestamp": 1755542762722, "content": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "rawContent": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "finishReason": "stop", - "messageId": "msg_1756136674653_764z7gah", - "ttftMs": 0, - "ttltMs": 1 + "messageId": "msg_1755542762721_oqcpfkw5" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl index c0045cbb64..d918f8198c 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-1/tool-calls.jsonl @@ -1,11 +1,11 @@ [ { - "toolCallId": "call_1756136674649_3mmas", + "toolCallId": "call_1755542762716_78f1e", "name": "getCurrentLocation", "args": {}, "result": { "location": "Boston" }, - "executionTime": 1 + "executionTime": 0 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl index ea2b1a26bf..410ffe57f1 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls-structured-outputs-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674652_ts41i", + "toolCallId": "call_1755542762719_1jeqm", "name": "getWeather", "args": { "location": "Boston" diff --git a/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl b/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl index b02844c40a..03aa7e2c89 100644 --- a/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/streaming/tool-calls/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "8c516fbe-d3ae-4ada-864a-06b0b7a75d61", + "id": "1a2a7a8c-55db-4183-90b4-6c4aa8bbe827", "type": "user_message", - "timestamp": 1756136674605, + "timestamp": 1755542762663, "content": "How's the weather today?" }, { - "id": "4eba822a-8ec6-4deb-a3d3-16215952a1d7", + "id": "be9a8f90-5089-417b-8fa4-1f30ac1ae3e6", "type": "agent_run_start", - "timestamp": 1756136674605, - "sessionId": "1756136674605-gfkv10r", + "timestamp": 1755542762663, + "sessionId": "1755542762663-ni9b42b", "runOptions": { "input": "How's the weather today?", "stream": true @@ -19,241 +19,241 @@ "agentName": "Anonymous" }, { - "id": "43349851-14cf-4833-9599-155ad023d958", + "id": "c22dbdb4-d952-4a11-a46e-033a58d5c1eb", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": "To", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "c3c359d8-ecd0-4da6-834f-d3eef912c5a1", + "id": "48bb03f7-aee3-4dc1-b5e0-7a4ba2e80670", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " get", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "e975334c-fbb6-458f-824d-64f91fbec854", + "id": "2b7d57c9-dbca-41f5-9631-34db3e433569", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " the", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "0ef4c961-a682-43f4-ad87-6fb458ddb181", + "id": "2c26febd-02d7-44ff-9bd7-e89f24fb4d7a", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " weather", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "988e5395-533b-41ff-b916-cae2ca5ed7cf", + "id": "3e1ebe82-0797-42bd-af1b-615ad3bab01b", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": ",", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "01f6be79-7a1b-4a02-868d-51cbfd0cfc84", + "id": "be567d27-b527-44f2-aba8-a8d031ed37a2", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " I", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "183e5a70-4795-45c0-bd4c-5eba5df84434", + "id": "bf25077f-c31f-4b47-8a80-c1a04623530b", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " first", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "3bac3d7e-95f6-4ffd-bf38-ea825f7461ce", + "id": "4ac88b75-e6cd-4893-93a0-567f4ee4c57d", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " need", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "8bb3bc74-77ab-4c81-aa87-0efda40c632a", + "id": "c1ab8288-1928-4c71-8a6f-73fa85793095", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " the", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "84332e7f-c4f4-4b97-9b44-79e3e19d180b", + "id": "1ceedaf1-5305-4592-b158-4f0e4a64720e", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": " user", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "55390179-1f6b-423f-8945-9c8491d3f87e", + "id": "42b9f484-bb15-4f8e-a019-e44a290b228a", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762665, "content": "'s", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "5f8ba196-4f82-4281-85f2-9073ec103eac", + "id": "2f0cb247-1c1f-43f3-a2ce-e87bf596ae3a", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " current", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "3f07e223-a737-439c-adaf-f298fb8a90fa", + "id": "40dcba23-b417-4be8-ab20-f28b5967e6d7", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " location", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "117b70b8-acdb-445e-8b10-25b91957255e", + "id": "6d799fcc-b130-4401-9176-2592c0ee3358", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": ".", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "0152d343-27e0-48d4-8071-1816924393ea", + "id": "79837d0f-c137-4426-bdc8-f362dfaa8915", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " So", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "455097b5-5e4b-4976-8007-52b53e66eee6", + "id": "28390cc1-e850-4aff-93f9-ab5f6c55db41", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " call", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "2300a17d-61a9-4501-9c04-e353fef8a3bb", + "id": "a6cef7d7-15e6-4d2a-8bb0-d6542ffabab3", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " get", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "151cbf32-13ca-494b-89e9-1acf8d458182", + "id": "df1b11b5-36ff-4c94-a8d7-d8b2c895b6f9", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": "Current", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "ed8b8cc4-096a-4213-9408-38f4c6894cef", + "id": "027bc5ee-22ac-489b-8f70-dcbd2123396a", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": "Location", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "40dbdb1a-0d39-4d46-a1e4-55b85d9bb635", + "id": "28e90db2-9a59-4aae-b58d-bea5ff2ca1e9", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " to", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "1feb4b65-7330-4259-a7ff-1f5e8680af7c", + "id": "72f6352a-a00c-4030-bf63-6da472e8c9a7", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " retrieve", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "b89281d0-5632-4b4d-bfda-ee1fac6a61da", + "id": "3350d14f-49f0-4488-9dc5-74e5e76a80ac", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " that", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "017cde4f-1103-4376-94ff-3763edb52672", + "id": "892e18c6-0b8d-4f60-9b20-84f1e40bcf05", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": " information", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "2f521b9f-3db9-43a8-a180-ab69566c0f78", + "id": "37af555c-46be-487e-b10f-a266d168841b", "type": "assistant_streaming_message", - "timestamp": 1756136674607, + "timestamp": 1755542762666, "content": ".", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "50eeeeca-2908-4757-a121-9b948213de2f", + "id": "be5ee301-688e-42d1-a504-88a4caf1fe3d", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674608, + "timestamp": 1755542762666, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "7e927cc7-b10c-4e14-b2ba-32859ba29340", + "id": "1a17e183-c184-4a61-9b8c-af858eb92be0", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674608, + "timestamp": 1755542762666, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "{", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "097b8124-6f5f-4d32-9994-f9ac2d087abc", + "id": "0831e92a-797a-4516-b970-d9fa85419ef5", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674608, + "timestamp": 1755542762666, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "}", "isComplete": false, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "2d82ff41-52b0-45f8-a57f-12031d3bb34b", + "id": "f029265d-58ce-4ec5-a53a-14e93f81f842", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674608, + "timestamp": 1755542762666, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "toolName": "getCurrentLocation", "arguments": "", "isComplete": true, - "messageId": "msg_1756136674607_x2433d9m" + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "fe8abc49-2f9d-4810-9869-847d478a8dfa", + "id": "6e176c58-4048-46c4-8dfc-d9dd0c45f08d", "type": "assistant_message", - "timestamp": 1756136674608, + "timestamp": 1755542762666, "content": "To get the weather, I first need the user's current location. So call getCurrentLocation to retrieve that information.", "rawContent": "", "toolCalls": [ @@ -267,18 +267,16 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674607_x2433d9m", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762665_zkjfc7kr" }, { - "id": "6b20cc56-1dd1-46f6-a55b-c9a335f720be", + "id": "f3c51ae3-fc58-462a-9f19-94bbf438f72c", "type": "tool_call", - "timestamp": 1756136674608, + "timestamp": 1755542762667, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1756136674608, + "startTime": 1755542762667, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -289,9 +287,9 @@ } }, { - "id": "0cf41715-a99e-497d-8a08-77b8243763bd", + "id": "47d2d3be-38fa-4db5-9c93-3da8d79f07e3", "type": "tool_result", - "timestamp": 1756136674608, + "timestamp": 1755542762667, "toolCallId": "call_ujaix1getqm4gw2y1vg80j7h", "name": "getCurrentLocation", "content": { @@ -300,263 +298,263 @@ "elapsedMs": 0 }, { - "id": "cba7ea5a-3d75-4cba-b064-0aad1ce5125d", + "id": "25d36b9d-3a56-49ec-88bd-b4dfb7d5ff89", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": "Now", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "e156ee3c-dbaa-4fbb-b803-06e6f8e14ba3", + "id": "c750a283-51f7-4a3d-9afb-58525134434c", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": " that", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "d1aa2c75-7eb6-4722-ab47-c07fbe723be9", + "id": "176db794-0607-4aac-b000-321c89f1c091", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": " we", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "dcf5e200-1d59-44ef-8d2c-c4f534fde21e", + "id": "b7d3337f-5dc1-4f0f-9885-73ac7c3ee3e0", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": " have", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "790abcb2-524e-4b0b-93c8-aad74974ed6c", + "id": "3d3f4ed1-aa32-4c99-9323-0a1e114fef73", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": " the", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "c8b13d2f-acef-4228-b56d-16c1bb18159a", + "id": "63ae39e5-f9cc-4f6b-8c23-4dd35f5eb804", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": " location", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "d1e2a2d5-6e86-410a-b0be-55e5c9b7916a", + "id": "1ba4aadd-3002-4145-8686-d2014dcedaf7", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": " \"", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "d0c4f207-3a6e-418f-856d-7ad885d14a1e", + "id": "65b8e8ac-5e8a-416a-8409-5d71035db9ac", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": "Boston", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "ce4e19d1-850d-48f3-b65b-491d9f29397a", + "id": "aa102e6f-3e04-40ce-baed-3855280ea094", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": "\",", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "d100090d-96ba-446d-8f32-3acf4ffc9ea4", + "id": "9afd787a-f427-481c-8ff0-dd7be68d1144", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762668, "content": " we", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "ae1dbe42-bec6-4fd4-9bc1-760004836fe6", + "id": "da7a7623-aadd-4010-8ae0-b7b00290cbbb", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " can", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "873ead26-5cd7-484d-a2cb-b101b4e602ad", + "id": "72df8208-4486-4e65-b41e-07542982ceee", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " call", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "51765cbc-8ced-4e87-a580-8069a9dcfba1", + "id": "5486e34a-eeab-4172-94e4-fb6a715632af", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " get", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "8c697aba-a062-402d-aa88-7b4d00e872b0", + "id": "7b68e9d9-0e72-4a08-af39-38401562ada8", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": "Weather", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "a3545fd2-fa5a-4dd1-9918-278ee6a52126", + "id": "402d7ce6-d71b-40db-b127-350cf0a3812a", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " with", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "21604292-25a9-44e5-b2ae-d0d1f353ab44", + "id": "0b016ba2-dc34-40ee-9eb9-99d0de775f9a", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " this", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "5d28dbe1-6759-43d0-963c-3c686ee0d67c", + "id": "88093182-b2d1-458d-85bf-0115c1d873f4", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " location", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "a5eab86f-f5eb-46f5-8f71-558b8ace96c3", + "id": "58985eac-1c57-41e3-9c3b-547a33667fdb", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " to", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "ba03d0b2-d456-4576-bb60-22ef30df2afa", + "id": "30e52d7e-3485-4693-bf96-cf90fa727229", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " get", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "c29df89a-ad6c-445f-951e-ed9dd73f4a58", + "id": "6fd1565d-3727-41fa-9fdf-557352ec38f4", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " the", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "688efff0-5cab-427a-b643-cf83e13226fe", + "id": "f4a6b55a-bcde-4c1a-989b-9e003938574d", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " weather", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "e9b8d9fd-fdb8-4b9e-8fbf-d55fad112773", + "id": "958f0aea-9bad-4283-a25c-5b688f3764b6", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": " information", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "48725b8b-459e-4427-910a-92f6be651b27", + "id": "1e2e55a8-3b30-4ef9-b7d0-0a185a40b205", "type": "assistant_streaming_message", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "content": ".", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "ee54aa6c-3f55-45b9-931d-71f4d21639f7", + "id": "a7c53628-3da6-49ef-b2b8-8eb3034b2f96", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "6c560153-1a55-453d-9e82-9621d7653359", + "id": "2e068ef3-d3c1-4f54-b1b5-7a11a286f900", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "{\"", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "7a559940-5a52-43b5-b224-ff3df7183312", + "id": "92473298-a3b2-48ca-ab5b-98d673584861", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "location", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "c92eb686-a82c-4e73-9e3d-c942c75345d9", + "id": "41794dba-d1e6-44ba-9ba5-031143d30e5b", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "\":\"", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "de83a097-8713-4c43-bf25-6cd3bc8ba8a9", + "id": "865deb44-5078-4245-8fea-c63f646700d0", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674610, + "timestamp": 1755542762669, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "Boston", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "b31e1805-b1d9-4e41-b949-dc9768da8911", + "id": "8e1e6e17-e223-4d73-965b-e173e32a0129", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674611, + "timestamp": 1755542762669, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "\"}", "isComplete": false, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "f49a8c89-0e83-4ae3-b089-93554f6367d6", + "id": "f4f62a37-b013-4de1-bb03-188cca30fda6", "type": "assistant_streaming_tool_call", - "timestamp": 1756136674611, + "timestamp": 1755542762669, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "toolName": "getWeather", "arguments": "", "isComplete": true, - "messageId": "msg_1756136674609_k4apc7ja" + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "fe730669-4cc2-409b-a129-449dad1b993a", + "id": "b0589e9a-819b-40e9-93a5-11af5993f73f", "type": "assistant_message", - "timestamp": 1756136674611, + "timestamp": 1755542762669, "content": "Now that we have the location \"Boston\", we can call getWeather with this location to get the weather information.", "rawContent": "", "toolCalls": [ @@ -570,20 +568,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674609_k4apc7ja", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762668_2qs5g5u5" }, { - "id": "4c2c783f-fd3f-49b6-8a29-f334bca45593", + "id": "a66e8f8d-298a-4b51-8e5d-22597bc3098d", "type": "tool_call", - "timestamp": 1756136674611, + "timestamp": 1755542762670, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1756136674611, + "startTime": 1755542762670, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -602,9 +598,9 @@ } }, { - "id": "d71e37d2-8140-4fca-8e20-91ce1160d0d8", + "id": "eff776a1-edf3-4df7-91e3-084d005fd9cc", "type": "tool_result", - "timestamp": 1756136674611, + "timestamp": 1755542762670, "toolCallId": "call_zpphvg1kbk8s13vpp0ahr83x", "name": "getWeather", "content": { @@ -618,894 +614,892 @@ "elapsedMs": 0 }, { - "id": "a1848162-a59e-499d-8116-d455737445a9", + "id": "86a0ef78-9950-40af-9d24-adddd82e79ea", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": "The", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "8188398e-f224-4010-ae94-e74304a858d6", + "id": "69989289-945e-4b70-8dbd-926f7a3303de", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " weather", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "758f3c2a-ebb3-4ece-b1bb-fd032fc1092f", + "id": "04b5e70d-6c51-4cd2-a34b-2cd5b1a03d9c", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " information", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "9107b7ae-0e00-421e-937f-e4222896e4b4", + "id": "15085091-f0a0-4862-83fe-e04cfd2ba2ae", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " for", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "ced6dcfd-526b-4047-b076-3236b162491a", + "id": "b32465e8-4def-4776-a610-97fffc3b9d8c", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " Boston", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "07fdd83b-925d-4949-876b-176589095c14", + "id": "af1ca0d3-48c0-47a4-b5e6-27faddcd6107", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " is", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "f9c1a491-ec71-4580-b844-d026ccb4f7e8", + "id": "77e9777a-359a-426a-b643-74d7aca1b15f", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " now", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "4d3cdc3b-ae89-412f-86cc-226ce6f72b50", + "id": "90d72db8-7b18-434d-811c-84880939eee3", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " available", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "1b31f9ec-2d29-48f8-aefd-916a7750a32b", + "id": "1964d095-e473-4c7b-ae6c-645a924a1bc0", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": ",", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "a9bab5b2-5b37-4ca0-976d-930de9f5f951", + "id": "f8a5d789-b2cc-4946-a5fb-e4a912342b78", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " so", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "539b319b-0d84-4415-b06c-3e12441d9e3b", + "id": "aa75c125-8ddd-426a-a056-b8e73cf212c0", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " we", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "12816468-e452-4379-b611-920bcce3476c", + "id": "81d2bc07-ba32-4b93-ba4c-c748805f2311", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " can", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "1b1f36a8-5956-4875-8d28-a4d6c01be931", + "id": "c5970d68-eed6-4609-abf1-42503d242024", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " directly", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "9f7fa184-77da-40b3-8c28-a444242e60ce", + "id": "b996403e-a444-443d-9cca-41b480387316", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " respond", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "87816b9e-065f-45b4-bcbd-3f52e5473b89", + "id": "d16a3c4d-c806-41a6-b592-0ecff75e3ec2", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " with", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "15cce84f-9c99-499a-8f2c-4e8d4a89bfa5", + "id": "fcb7a47b-da3b-49ac-9aa3-4d30d3f58ecf", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " the", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "0025a41c-ae05-4a6a-8a02-4ec71d915050", + "id": "e35de6af-9fef-44d1-8745-f1de0a6d6a70", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " details", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "d6b464e5-8c47-414e-a05f-b508b4510434", + "id": "c6da9eb2-1f4a-42da-bbcc-a929106d0628", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": ".", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "ac90ebf5-e5d1-40d6-b180-d27b0bc10707", + "id": "1283c95a-b9e7-4d39-b1bc-0d0c9735c6d2", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": "\n", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "8e825941-9479-423f-bcd6-d396c5c8ce40", + "id": "45fa3c90-290b-4136-989a-d87cc5edefda", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": "In", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5a4f3dd6-dcb7-4d39-a02a-1d60f39e4747", + "id": "a2951d20-40f8-4266-bf44-8a9eeaa59765", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " Boston", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "e5423e56-0c15-4fd8-9cfb-10a150a01094", + "id": "c4bb1f53-7b60-4c87-8372-992d86edffb6", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": ",", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "98be5907-1d17-4dfd-a24e-67ba8509c0b5", + "id": "51373a50-fc8e-4694-83c4-e20e8a97b6a5", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " the", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "60898032-4232-4b2c-98ee-5fad63603907", + "id": "f75e744c-1862-45ba-b231-f74a9226e7ae", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " weather", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "a21444af-0ed9-4596-aa9d-61f77bd34490", + "id": "c33b81a1-95cd-468b-8249-80d86c70cc38", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " today", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "30598027-af95-4a70-9e80-551288dc088e", + "id": "79a57bfb-a4c4-489d-8d8c-ed445f9ab4d3", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " is", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "69844f41-838b-4614-bb06-b90fd0037b82", + "id": "b0cb05db-1e46-4cbc-bf8c-d45fc4d11b4e", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762672, "content": " Sunny", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "01ab196d-2eaf-4f0a-9ba0-be0227ae9d33", + "id": "93ea3998-3183-4003-b438-4cc3968afa56", "type": "assistant_streaming_message", - "timestamp": 1756136674613, + "timestamp": 1755542762673, "content": ".", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "720237e3-d476-4907-97a5-99991e30673f", + "id": "cb9d2c6a-f997-41c9-8c11-c0a3e30f2ca8", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " The", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "3844861d-597b-4f7e-b360-bc7ab78cbe9f", + "id": "f3a20ae9-285a-4245-8a60-0dd6e6b820b8", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " temperature", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "8cdd48c9-5942-4809-8b90-abb0019d531c", + "id": "7dc75925-147c-4746-97e6-a661f02e9744", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " is", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "c796fd16-0153-4b54-8e8b-dffbdf08d56d", + "id": "d785d2e9-fa92-42f0-bdf0-8329aaeaf78f", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "32230019-2f55-4796-959e-9964fb938f8f", + "id": "3a73d243-64bc-412f-9723-ae5d341e2e89", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "7", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "ef878eae-cdb0-49ec-9d18-9c1ce3dba30e", + "id": "071eb2ee-e834-4732-98f5-bd5e2a4294b0", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "0", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "b3883a82-4959-4498-af75-32be04481186", + "id": "765bc567-3e7d-42e2-8d15-771cc111484b", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "°F", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "20a28320-31f1-4a1a-9a71-f2737af4f66d", + "id": "0a211ef1-4bd4-4553-84bd-eac77bbfbde4", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " (", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "e826e254-2700-4f36-99b5-ee667140bd49", + "id": "2641bba7-9185-4fda-a205-22e5196fb29d", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "2", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "76861e7c-b1bf-440a-b135-42eac879db0c", + "id": "908dcdd2-01f2-4564-b109-b959e370c461", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "1", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "6926ecb9-b33b-406d-ac47-2c2589a532ac", + "id": "346447cf-801d-4160-937c-e8a67afe8bf6", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "°C", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "75d2a618-ead6-48e6-b97c-28c17e806fb5", + "id": "167d8ea4-7046-47e3-addf-f970e96e9426", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "),", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "817ebc22-06a7-4940-be1c-99f8a5cd7a06", + "id": "3b8016ab-4903-48c7-a31c-1edf7c396926", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " with", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "59af7abc-30c7-4e3d-86df-e94f460d0b4a", + "id": "fda3c7d8-71b3-40da-8cd5-ad02b28d70b0", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " a", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5952bfe2-a01d-44e1-907b-0f744c3b19da", + "id": "769dfa3a-534d-41e1-a0ca-e5d5dc58a340", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "68f7b474-0443-45de-9340-4c55ac241f48", + "id": "4d64ab92-706f-4568-a4d0-c57bfe2d9a10", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "1", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "4859921c-18f4-44af-b63a-057c8f1c53ad", + "id": "28da2e97-a0cb-4948-9bd1-c648c8c9fe80", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "0", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5ef9d9d8-87c0-433f-bdd0-c9c55f198f0e", + "id": "bb62b171-4fbe-4429-b1d0-03613b38298a", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": "%", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "b014c31b-f9bc-4e45-85f7-1fe5928a9de2", + "id": "69c94fc3-f9d0-491e-a278-46e7ef70dac0", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " chance", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "1a371f8c-f454-41c2-8cc4-6aedeb5753c6", + "id": "2b442228-74bb-42ca-b523-49b29b12437f", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " of", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "b088f4ef-e32a-4381-9e7a-d8f1380bbaae", + "id": "4b95f5ec-6bfe-4d0d-a588-a0ede46d3bd4", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": " precipitation", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "4f1c0742-8d5d-4448-a72a-1e0d0bc3e329", + "id": "f6572425-6c21-4ab3-ba33-2abf0ad86181", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762673, "content": ",", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "be6f4c9d-20ac-4aa3-9f5f-b2b7afd6b3a5", + "id": "54d3d362-52c5-4197-9388-a99718f1f9f9", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "fe3671b0-2f8b-46f6-86de-77c1447a89bf", + "id": "2da1069c-9cdd-436e-89fb-41a05d90482e", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": "4", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "19d87e6d-12aa-4996-9805-ecb93c419179", + "id": "581c517b-4d70-46dc-a2be-efcb7a34563d", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": "5", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "ac7c7e31-1b03-4740-9f8b-90a830700028", + "id": "b2f445d2-80c4-4a02-a0cb-f4361f272942", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": "%", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "2e6c9e28-ec61-429f-9b09-2d85fefa5aaa", + "id": "577a42bf-5802-47b5-89ef-211e0bed7004", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " humidity", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "96928c84-99a6-4de7-97a2-c028d1f82797", + "id": "cd261408-480c-42f6-b3da-f0dea6099343", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": ",", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5dfa3487-80bf-491b-82a2-b0ecfbe5ebfc", + "id": "eca72a52-1f4a-4c22-be59-259ddf15ac8e", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " and", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "7adc0a49-6dad-4493-a37c-27132188e475", + "id": "d29f05e0-92c0-4595-823b-b33e179cea22", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " wind", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "fcbdabcc-328d-4587-8a58-58921414e01f", + "id": "17e7e4be-bf2b-4489-81f9-9a56a3429a73", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " speed", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "ca22d5a7-c179-4e5a-8a8a-1699b3a76373", + "id": "8d6eb923-a51e-4fc9-979d-c511b8483c1b", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " of", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "8252d871-3bea-44cb-a853-fc7fb3e2be80", + "id": "3be19865-d52d-484f-8701-b769edf235ca", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "c06787ba-c627-48b9-84a7-25e0361eb0f5", + "id": "b6525fcc-41ed-4bdf-8995-08ba3040a289", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": "5", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "7ddb8522-3f23-4218-a633-3ed41eb73d9a", + "id": "0b1e2023-930c-4a05-a6f3-5ebd7e43afbb", "type": "assistant_streaming_message", - "timestamp": 1756136674614, + "timestamp": 1755542762674, "content": " mph", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "c81cb32a-cf0e-40f3-9ae9-e105a5740508", + "id": "e70d7446-9674-4dbd-b014-afb9f8ea4979", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": ".", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "171173e4-73e9-4a52-937e-98b50b5b124e", + "id": "a6231416-ff7f-43e4-8538-27e4276487be", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": "", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "1c9b5466-60b5-4b36-96a4-7f6138b5dc4d", + "id": "51e66209-4546-45fd-ad82-fbed00e1e3ee", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": "In", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "c1b86fda-f2fd-40f4-a7bc-9b8449d412fd", + "id": "481610a4-115b-4e21-94b5-ef64dacd7e2d", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " Boston", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "298ab3b1-bee1-438e-b2e0-0f4376d20c0a", + "id": "631dcd61-c59f-43ff-96ae-9004e5db3818", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": ",", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "7e4b93c3-97a5-40d5-914c-548043465f78", + "id": "afb0a10b-0f80-4a1c-9222-d850e93a745c", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " the", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "a3ad4ead-a7cf-44f9-a7ae-a763ef76e8ba", + "id": "2f8da877-c019-4bec-8dbc-04119b87195a", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " weather", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "de2190ad-1db0-4322-9c73-3d6368630f45", + "id": "cda7814b-e9d9-4c3a-b823-bc05c4104c7f", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " today", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "fe63f0e7-b73d-4efd-a96c-1bd35eba5227", + "id": "6fc7f0ed-4755-4cb4-9ee9-5efcce77001d", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " is", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "e22245b9-3512-440f-93d0-ebaf5e1710e9", + "id": "5e2ca769-23bd-4651-a2e2-cc3b4ba2d85e", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " Sunny", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "974143af-51b3-46f9-a7c6-d9346952cc85", + "id": "8825234c-e17b-4c7b-8ab6-245bf2647531", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": ".", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "94e239c6-889c-4e1a-8acf-695da3b25291", + "id": "3df99cb4-903d-4630-b97d-069009f1fb65", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " The", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5119d971-8edc-42c9-8bc3-0dbb387c60de", + "id": "5e987f8d-1d08-4d57-b56f-5848261bb096", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " temperature", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "6c3b0384-4917-41a6-9358-acec214eea24", + "id": "c994a440-abbc-482c-ab62-d3d646200c55", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " is", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "b70d2ef8-47b4-4c37-bf9c-07ec90856612", + "id": "4879ab18-88b8-4dc3-b0f5-dfebd0fc8230", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762674, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "60b70151-6af0-44d9-b967-fde99449d2ec", + "id": "a78a20ef-5e39-4248-b94e-e3523931493c", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "7", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5bfed407-90ca-43ec-82f9-0ae3bb280334", + "id": "38fa960f-372f-49e0-9d25-9bea29f4a7b0", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "0", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "21f6f1f2-f420-422f-841c-46b9d14d6e5f", + "id": "74e45749-7d3b-4874-9503-1060640b2c0b", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "°F", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "22630069-8327-481c-9099-868444f0a726", + "id": "e7407b9b-2fed-4a62-9a1c-966f7a875732", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": " (", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "8d8134a2-a842-4d3a-9af9-a311641bdefb", + "id": "52e2b0bf-8558-41e3-b94e-8addf1ee0937", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "2", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "444589c9-067d-446e-b5eb-dac2734cc845", + "id": "3aee8d23-dc51-4e84-b2a4-0ae4a03b3a9d", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "1", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "22577a3f-972b-44ea-8ad2-516788357cb9", + "id": "f9106185-8a7a-432a-908b-86fd44d06190", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "°C", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "d01c713e-ba70-4bd6-a499-ec061285cd4b", + "id": "a1ab4b22-77cc-4e89-be2f-3eebb66ae290", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "),", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "077fd863-25cc-44af-bf08-8831c5bdcd3f", + "id": "df4dbad3-5248-42c1-98a4-54dc4077b2ac", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": " with", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "3d9cbd89-ca37-476e-a43f-499caa6ff5c9", + "id": "41a3054f-4d01-4ec7-91d2-b04bad63160d", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": " a", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "e7ad7251-411e-4205-a11f-04c75319d8a3", + "id": "74230370-7ccb-45a5-995d-9fe154b8d60f", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5ffe11ce-cafb-4bce-b837-35e774e89428", + "id": "0cb9669e-22cc-46f4-bbab-f886d4d19300", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "1", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "b17ca8be-cfb1-4f83-9392-a73b2d71d5d3", + "id": "20bf5598-bda0-4b35-b6aa-f9070fd92c1b", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "0", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "2eab3304-89af-4d52-a89c-d4db811a7b7e", + "id": "983405ff-9f33-48cb-878f-9d6042ecb095", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": "%", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5d0409fe-007f-4382-b851-05c5548bff9b", + "id": "174be5bc-1a4b-4b45-82c1-dd7a0828f00c", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": " chance", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "0c5bb88f-2537-4c08-b809-f99e98af974e", + "id": "5fd94aea-3be0-4127-8f29-363d4beffa23", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": " of", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "e1d9e7e6-fc59-4094-88b9-b9d3e3115bab", + "id": "1cf5fe9c-f333-4ae3-b7e9-5bd55c3e0fb1", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": " precipitation", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "6eb41ad5-2ecf-4fff-bdf6-e1634e6419cd", + "id": "e6688730-9b4f-42b2-b0fa-6f2135868ea9", "type": "assistant_streaming_message", - "timestamp": 1756136674615, + "timestamp": 1755542762676, "content": ",", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "fa7f3668-d44f-4b75-8a51-5de5eaa1fd82", + "id": "bebd32b2-7a78-4820-ba0d-acead2352afb", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762676, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "e328f911-8bec-455c-84e6-7d25cf1c254b", + "id": "9ccf58c2-119c-4ef8-aca1-1e6c0aed6691", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762676, "content": "4", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "5d0d4c17-8df5-4ab4-a003-de2a42020cba", + "id": "a1b8b807-094c-4250-af8f-550396837330", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762676, "content": "5", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "be0fc565-76f7-48d7-86bd-59936698344f", + "id": "62f870b0-5e7a-43c3-b139-dc46f64d3d17", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": "%", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "9b2581c6-53dd-47a6-baa9-ca8df603c448", + "id": "1c32439d-5c35-4392-a315-b824c96e62e4", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": " humidity", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "1795727a-af40-4fee-a571-2af7e63969c6", + "id": "869b9ed9-76a3-4407-9966-64f4f3e4d9bb", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": ",", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "3d264210-7d63-4645-8db8-7ddd5b74323d", + "id": "fd73552a-9ec7-4fef-8900-a07c2a89c9d6", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": " and", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "7be58d35-e3ff-4a6f-8803-6aadd2325489", + "id": "6dd82166-fe46-472b-8506-b29a2ac2c5e9", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": " wind", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "4091dd28-b364-4208-9788-4d08b92182e5", + "id": "593680ed-145f-4988-8034-e6a1e6219c71", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": " speed", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "b61e0396-89f8-49e1-8e98-c5b0a1811459", + "id": "c047b333-bb90-48a7-8daf-9e903bbaa666", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": " of", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "8edd753b-24c6-4dca-a2c3-5ab55f5610cf", + "id": "5b572826-d11e-4ffb-8d93-bd2f14bbb89e", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": " ", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "c37863b2-61e1-45c8-a3b6-874a50b2b175", + "id": "a8e753c2-d2c9-48c7-ba97-f77e379a4db6", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": "5", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "9220a78b-03b2-4255-ad8e-fc66c1b7135d", + "id": "0b3d9188-c710-4697-a5a0-9c2f648bd419", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": " mph", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "b94ac648-a9f1-4c30-93c2-a23139651e6d", + "id": "da4074e6-9e3b-4e8c-9075-4ed7f4984cf4", "type": "assistant_streaming_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": ".", "isComplete": false, - "messageId": "msg_1756136674613_vwgygho4" + "messageId": "msg_1755542762672_2v0hdghq" }, { - "id": "4e93ab30-c150-433c-8c5d-19ad5d81ebf5", + "id": "cc9d71ea-e782-42e8-9dd6-dafa3523606f", "type": "assistant_message", - "timestamp": 1756136674616, + "timestamp": 1755542762677, "content": "The weather information for Boston is now available, so we can directly respond with the details.\nIn Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.In Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.", "rawContent": "", "finishReason": "stop", - "messageId": "msg_1756136674613_vwgygho4", - "ttftMs": 1, - "ttltMs": 4 + "messageId": "msg_1755542762672_2v0hdghq" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl index b605d38504..5065852955 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/basic/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "cc8b759c-0610-45e3-a52f-4e29edc51485", + "id": "7c0844a4-2929-4aef-bfb0-7956c342cc25", "type": "user_message", - "timestamp": 1756136674506, + "timestamp": 1755542762555, "content": "How's the weather today?" }, { - "id": "2969a141-eca5-4873-a157-078a58a19dc4", + "id": "2b219f0e-cf17-42aa-9b43-87998bfb7511", "type": "agent_run_start", - "timestamp": 1756136674506, - "sessionId": "1756136674505-8jxwhfs", + "timestamp": 1755542762555, + "sessionId": "1755542762554-k9gchli", "runOptions": { "input": "How's the weather today?", "toolCallEngine": "structured_outputs" @@ -19,14 +19,14 @@ "agentName": "Anonymous" }, { - "id": "a89e1966-5083-48c2-9b56-6f7b3f8be18b", + "id": "33f8ea30-cf66-4d8a-9569-1b60a02ad187", "type": "assistant_message", - "timestamp": 1756136674525, + "timestamp": 1755542762579, "content": "To get the weather, I first need your current location. Retrieving your location...", "rawContent": "To get the weather, I first need your current location. Retrieving your location...", "toolCalls": [ { - "id": "call_1756136674525_6j417", + "id": "call_1755542762579_kmx03", "type": "function", "function": { "name": "getCurrentLocation", @@ -35,18 +35,16 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674522_71d1p3he", - "ttftMs": 2, - "ttltMs": 4 + "messageId": "msg_1755542762575_h853cj8l" }, { - "id": "3dc1f769-f237-45c2-a0f7-b8b5ba5ee5b8", + "id": "337ddd3f-5eb1-4ccf-859c-f000d74d101c", "type": "tool_call", - "timestamp": 1756136674526, - "toolCallId": "call_1756136674525_6j417", + "timestamp": 1755542762581, + "toolCallId": "call_1755542762579_kmx03", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1756136674526, + "startTime": 1755542762581, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -57,10 +55,10 @@ } }, { - "id": "27430829-0415-4115-8366-b23367c66d36", + "id": "bc712e8e-474d-4aa3-90fc-f95d4d7a82fd", "type": "tool_result", - "timestamp": 1756136674527, - "toolCallId": "call_1756136674525_6j417", + "timestamp": 1755542762581, + "toolCallId": "call_1755542762579_kmx03", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -68,14 +66,14 @@ "elapsedMs": 0 }, { - "id": "1e7f532b-b9bc-4ada-8ef3-fc6b41666e07", + "id": "e986214d-b4a0-4e02-97df-87c865450a1a", "type": "assistant_message", - "timestamp": 1756136674530, + "timestamp": 1755542762585, "content": "Fetching weather for Boston...", "rawContent": "Fetching weather for Boston...", "toolCalls": [ { - "id": "call_1756136674530_mfyfh", + "id": "call_1755542762585_652lp", "type": "function", "function": { "name": "getWeather", @@ -84,20 +82,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674528_6ztigrnv", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762583_pwigolz3" }, { - "id": "2e92d95a-7a66-44ff-8748-c53debaf3f7e", + "id": "6a0146ae-44b5-4580-8646-24d530bd8af0", "type": "tool_call", - "timestamp": 1756136674531, - "toolCallId": "call_1756136674530_mfyfh", + "timestamp": 1755542762586, + "toolCallId": "call_1755542762585_652lp", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1756136674531, + "startTime": 1755542762585, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -116,10 +112,10 @@ } }, { - "id": "7af4d534-1542-47e6-9b70-bd04824ae8a2", + "id": "033c3c2c-6abd-483d-a10c-008faa9d8cf0", "type": "tool_result", - "timestamp": 1756136674532, - "toolCallId": "call_1756136674530_mfyfh", + "timestamp": 1755542762586, + "toolCallId": "call_1755542762585_652lp", "name": "getWeather", "content": { "location": "Boston", @@ -132,14 +128,12 @@ "elapsedMs": 0 }, { - "id": "010559fe-4fff-4430-ae34-185c1c0e9027", + "id": "8a70aea8-4639-4dc5-81df-34da1b2fe32f", "type": "assistant_message", - "timestamp": 1756136674536, + "timestamp": 1755542762591, "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "msg_1756136674534_9rx0flpg", - "ttftMs": 1, - "ttltMs": 3 + "messageId": "msg_1755542762587_hx3u45fq" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl index 790875afed..2b884a4a38 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674525_6j417", + "toolCallId": "call_1755542762579_kmx03", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl index 42f61d9c77..9b70ba82cb 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/basic/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674530_mfyfh", + "toolCallId": "call_1755542762585_652lp", "name": "getWeather", "args": { "location": "Boston" @@ -13,6 +13,6 @@ "humidity": "45%", "wind": "5 mph" }, - "executionTime": 0 + "executionTime": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl index 3bd135a14c..932f56259a 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "f35b6b32-3bf5-4423-9c73-48361d9f72d0", + "id": "57ca13a1-ccfa-41c5-a9f0-fb91847ca49e", "type": "user_message", - "timestamp": 1756136674550, + "timestamp": 1755542762607, "content": "How's the weather today?" }, { - "id": "6b8074c0-0538-400d-a9c1-89c85b9fcf76", + "id": "0879aaba-aeec-47bc-a069-edc0b089a2ec", "type": "agent_run_start", - "timestamp": 1756136674550, - "sessionId": "1756136674550-kp62ow5", + "timestamp": 1755542762607, + "sessionId": "1755542762607-h6fk0lb", "runOptions": { "input": "How's the weather today?" }, @@ -18,14 +18,14 @@ "agentName": "Anonymous" }, { - "id": "af3ad966-3ab5-4a28-ab2f-e25a98d5b77b", + "id": "959ce323-36d6-4df7-b948-88008ea8ac02", "type": "assistant_message", - "timestamp": 1756136674553, + "timestamp": 1755542762610, "content": "", "rawContent": "\n{\n \"name\": \"getCurrentLocation\",\n \"parameters\": {}\n}\n", "toolCalls": [ { - "id": "call_1756136674553_71xbbd15h", + "id": "call_1755542762609_kiaauknw3", "type": "function", "function": { "name": "getCurrentLocation", @@ -34,18 +34,16 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674552_3uzh4b5d", - "ttftMs": 2, - "ttltMs": 2 + "messageId": "msg_1755542762608_jlvcwi3e" }, { - "id": "952ce183-71c7-465e-959a-951c6595156b", + "id": "a3ab5aad-43a1-4df9-bf2d-75d1a2ef35dc", "type": "tool_call", - "timestamp": 1756136674554, - "toolCallId": "call_1756136674553_71xbbd15h", + "timestamp": 1755542762610, + "toolCallId": "call_1755542762609_kiaauknw3", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1756136674554, + "startTime": 1755542762610, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -56,10 +54,10 @@ } }, { - "id": "503565bc-5511-421c-baab-469a786090ff", + "id": "49868487-8db0-4922-929d-985e711feb8d", "type": "tool_result", - "timestamp": 1756136674554, - "toolCallId": "call_1756136674553_71xbbd15h", + "timestamp": 1755542762610, + "toolCallId": "call_1755542762609_kiaauknw3", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -67,14 +65,14 @@ "elapsedMs": 0 }, { - "id": "f83871b4-ce43-4f57-8b1c-1253f694c93b", + "id": "2f708721-fed2-440e-a44a-8ca0fa34d300", "type": "assistant_message", - "timestamp": 1756136674556, + "timestamp": 1755542762612, "content": "", "rawContent": "\n{\n \"name\": \"getWeather\",\n \"parameters\": {\n \"location\": \"Boston\"\n }\n}\n", "toolCalls": [ { - "id": "call_1756136674556_3dei6bfer", + "id": "call_1755542762612_5r95gnu72", "type": "function", "function": { "name": "getWeather", @@ -83,20 +81,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674555_2glgqxip", - "ttftMs": 2, - "ttltMs": 2 + "messageId": "msg_1755542762611_cykh92pt" }, { - "id": "07d4e932-0355-4e6a-bfd7-8569b4650559", + "id": "29694160-bd78-471b-8ccd-8a6cbc80766d", "type": "tool_call", - "timestamp": 1756136674557, - "toolCallId": "call_1756136674556_3dei6bfer", + "timestamp": 1755542762613, + "toolCallId": "call_1755542762612_5r95gnu72", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1756136674557, + "startTime": 1755542762613, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -115,10 +111,10 @@ } }, { - "id": "acef5c26-e1be-4456-b1e0-e553d6b654f5", + "id": "90120047-3cad-427b-93a3-f3c4fe119a24", "type": "tool_result", - "timestamp": 1756136674557, - "toolCallId": "call_1756136674556_3dei6bfer", + "timestamp": 1755542762613, + "toolCallId": "call_1755542762612_5r95gnu72", "name": "getWeather", "content": { "location": "Boston", @@ -131,14 +127,12 @@ "elapsedMs": 0 }, { - "id": "9193fb03-94f2-4351-86f9-65f03a897a4e", + "id": "0eb07c22-b92b-4e4a-bc5e-ebf96bead6b2", "type": "assistant_message", - "timestamp": 1756136674559, + "timestamp": 1755542762615, "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "msg_1756136674558_ewvjzrk7", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762614_x1634t77" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl index 4f4af7926f..ddca38199c 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674553_71xbbd15h", + "toolCallId": "call_1755542762609_kiaauknw3", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl index 1e4a1712cc..8180426526 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/prompt-engineering-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674556_3dei6bfer", + "toolCallId": "call_1755542762612_5r95gnu72", "name": "getWeather", "args": { "location": "Boston" diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl index e30d18a3f1..c3c2ea7850 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "7b8e3d9a-152a-417a-b84a-a7e5d5be2a5d", + "id": "b716ec94-1569-4dd1-a44f-505ee5f18de2", "type": "user_message", - "timestamp": 1756136674588, + "timestamp": 1755542762645, "content": "How's the weather today?" }, { - "id": "23008df6-eb09-4e50-ac5b-b870b47a9aab", + "id": "ceb9310d-ea2e-4d7f-b735-97a4d28216ec", "type": "agent_run_start", - "timestamp": 1756136674588, - "sessionId": "1756136674588-8ccghmc", + "timestamp": 1755542762645, + "sessionId": "1755542762645-0g7vtc6", "runOptions": { "input": "How's the weather today?" }, @@ -18,14 +18,14 @@ "agentName": "Anonymous" }, { - "id": "d0b899ae-1d3c-4031-8a8b-ea1fb30bb5b2", + "id": "ad305e1a-0d8a-4d8a-b3b1-72d23944acaf", "type": "assistant_message", - "timestamp": 1756136674590, + "timestamp": 1755542762647, "content": "I'll check the weather for you. First, I need to determine your location.", "rawContent": "I'll check the weather for you. First, I need to determine your location.", "toolCalls": [ { - "id": "call_1756136674590_y9fzy", + "id": "call_1755542762647_76lgz", "type": "function", "function": { "name": "getCurrentLocation", @@ -34,18 +34,16 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674590_t2qkzaw7", - "ttftMs": 1, - "ttltMs": 1 + "messageId": "msg_1755542762646_p7azhpa9" }, { - "id": "41943692-d116-49d2-bec3-84b72edaddb2", + "id": "a421a260-826b-42d2-8d85-0fb2f78210fd", "type": "tool_call", - "timestamp": 1756136674591, - "toolCallId": "call_1756136674590_y9fzy", + "timestamp": 1755542762647, + "toolCallId": "call_1755542762647_76lgz", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1756136674591, + "startTime": 1755542762647, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -56,10 +54,10 @@ } }, { - "id": "aff9d1f2-3aac-4e35-80f1-4342ee5a4b3c", + "id": "9167ff11-e0be-4058-bad5-362bded7bdd8", "type": "tool_result", - "timestamp": 1756136674591, - "toolCallId": "call_1756136674590_y9fzy", + "timestamp": 1755542762647, + "toolCallId": "call_1755542762647_76lgz", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -67,14 +65,14 @@ "elapsedMs": 0 }, { - "id": "ea311a1b-139e-40f8-a507-489c756b3e0a", + "id": "08c38e5d-8e5a-4674-91d7-6248e25bb476", "type": "assistant_message", - "timestamp": 1756136674593, + "timestamp": 1755542762649, "content": "I'll check the current weather in Boston for you.", "rawContent": "I'll check the current weather in Boston for you.", "toolCalls": [ { - "id": "call_1756136674593_t10n0", + "id": "call_1755542762649_uxwvy", "type": "function", "function": { "name": "getWeather", @@ -83,20 +81,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674592_13skyb7w", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762649_4sxx110g" }, { - "id": "f9b42a60-3924-4c44-a5a2-21517c1b0825", + "id": "a20e973f-5036-4256-978b-246236030be5", "type": "tool_call", - "timestamp": 1756136674593, - "toolCallId": "call_1756136674593_t10n0", + "timestamp": 1755542762650, + "toolCallId": "call_1755542762649_uxwvy", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1756136674593, + "startTime": 1755542762650, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -115,10 +111,10 @@ } }, { - "id": "0aab0704-a083-4648-9ae9-9d44477c3dbd", + "id": "60a3881d-0c30-40df-8296-67934cd81ee7", "type": "tool_result", - "timestamp": 1756136674593, - "toolCallId": "call_1756136674593_t10n0", + "timestamp": 1755542762650, + "toolCallId": "call_1755542762649_uxwvy", "name": "getWeather", "content": { "location": "Boston", @@ -131,14 +127,12 @@ "elapsedMs": 0 }, { - "id": "b49bd178-3f5b-45b9-9a07-8db837611a2d", + "id": "8ae81be8-c1d1-4bfa-8bde-8c0f471cdcd7", "type": "assistant_message", - "timestamp": 1756136674595, + "timestamp": 1755542762651, "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "msg_1756136674594_rroi9bi0", - "ttftMs": 0, - "ttltMs": 1 + "messageId": "msg_1755542762651_x3n3mrdi" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl index 07fb62693c..0bb94e5404 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-1/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674590_y9fzy", + "toolCallId": "call_1755542762647_76lgz", "name": "getCurrentLocation", "args": {}, "result": { diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl index ec65294a26..9ef9b07394 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl-claude/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674593_t10n0", + "toolCallId": "call_1755542762649_uxwvy", "name": "getWeather", "args": { "location": "Boston" diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl index b4863be46b..ecb212ea45 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/event-stream.jsonl @@ -1,15 +1,15 @@ [ { - "id": "3d69492e-a6fe-43a3-a1e7-11a27f0795dc", + "id": "e86b4b95-f44f-4a1c-a95c-de9a69a730d5", "type": "user_message", - "timestamp": 1756136674569, + "timestamp": 1755542762625, "content": "How's the weather today?" }, { - "id": "6e66f9a4-e2a9-433a-a5c3-5d906dee59fd", + "id": "0361c966-ce06-4b0e-9fcf-9ca914c1f28b", "type": "agent_run_start", - "timestamp": 1756136674569, - "sessionId": "1756136674569-9ab6pz2", + "timestamp": 1755542762625, + "sessionId": "1755542762625-pcnpr25", "runOptions": { "input": "How's the weather today?" }, @@ -18,14 +18,14 @@ "agentName": "Anonymous" }, { - "id": "74931831-7419-42db-9529-d85b99e62d86", + "id": "713fd28d-f64b-4112-889f-6fba5aa3ae8e", "type": "assistant_message", - "timestamp": 1756136674571, + "timestamp": 1755542762628, "content": "To get the weather, I first need your current location. Retrieving location...", "rawContent": "To get the weather, I first need your current location. Retrieving location...", "toolCalls": [ { - "id": "call_1756136674571_nmj4w", + "id": "call_1755542762628_wbf11", "type": "function", "function": { "name": "getCurrentLocation", @@ -34,18 +34,16 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674570_rwk6s4k0", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762627_a27zw1if" }, { - "id": "1576900f-f196-4ca3-af66-fb48b58a39b6", + "id": "9befc9eb-a990-4c98-8958-887b97a9c55f", "type": "tool_call", - "timestamp": 1756136674572, - "toolCallId": "call_1756136674571_nmj4w", + "timestamp": 1755542762629, + "toolCallId": "call_1755542762628_wbf11", "name": "getCurrentLocation", "arguments": {}, - "startTime": 1756136674572, + "startTime": 1755542762629, "tool": { "name": "getCurrentLocation", "description": "Get user's current location", @@ -56,10 +54,10 @@ } }, { - "id": "6506c52b-6b45-4b2d-9c6b-380d3eea853b", + "id": "de615abb-f603-47a8-a941-ed6abb9021ad", "type": "tool_result", - "timestamp": 1756136674572, - "toolCallId": "call_1756136674571_nmj4w", + "timestamp": 1755542762629, + "toolCallId": "call_1755542762628_wbf11", "name": "getCurrentLocation", "content": { "location": "Boston" @@ -67,14 +65,14 @@ "elapsedMs": 0 }, { - "id": "3afc97fe-d511-4053-ba66-b0614fea0a35", + "id": "68a5f53c-d92c-4d9b-a5e6-d2f28b9ff58d", "type": "assistant_message", - "timestamp": 1756136674575, + "timestamp": 1755542762631, "content": "Fetching weather for Boston...", "rawContent": "Fetching weather for Boston...", "toolCalls": [ { - "id": "call_1756136674574_7r3l7", + "id": "call_1755542762631_fsj0d", "type": "function", "function": { "name": "getWeather", @@ -83,20 +81,18 @@ } ], "finishReason": "tool_calls", - "messageId": "msg_1756136674573_kb6qj3sw", - "ttftMs": 0, - "ttltMs": 1 + "messageId": "msg_1755542762630_cahnr3fg" }, { - "id": "830ec084-efdc-4ba7-b185-ed5e6f93c594", + "id": "fef813d5-88f6-444e-8500-32bf06730136", "type": "tool_call", - "timestamp": 1756136674575, - "toolCallId": "call_1756136674574_7r3l7", + "timestamp": 1755542762632, + "toolCallId": "call_1755542762631_fsj0d", "name": "getWeather", "arguments": { "location": "Boston" }, - "startTime": 1756136674575, + "startTime": 1755542762632, "tool": { "name": "getWeather", "description": "Get weather information for a specified location", @@ -115,10 +111,10 @@ } }, { - "id": "dd61e3a8-c5d8-4832-a66b-5e43d20a22fa", + "id": "8f49ea55-359f-4821-a75e-7076037357d5", "type": "tool_result", - "timestamp": 1756136674575, - "toolCallId": "call_1756136674574_7r3l7", + "timestamp": 1755542762632, + "toolCallId": "call_1755542762631_fsj0d", "name": "getWeather", "content": { "location": "Boston", @@ -131,14 +127,12 @@ "elapsedMs": 0 }, { - "id": "a9771433-8a5e-4275-bc84-54daa801f381", + "id": "bee02395-e1f1-4d34-a536-1f05233dce7f", "type": "assistant_message", - "timestamp": 1756136674578, + "timestamp": 1755542762635, "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "msg_1756136674577_ddpyx6i1", - "ttftMs": 1, - "ttltMs": 2 + "messageId": "msg_1755542762633_z75tnvix" } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl index becf5f522b..adaadf83c0 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-1/tool-calls.jsonl @@ -1,11 +1,11 @@ [ { - "toolCallId": "call_1756136674571_nmj4w", + "toolCallId": "call_1755542762628_wbf11", "name": "getCurrentLocation", "args": {}, "result": { "location": "Boston" }, - "executionTime": 0 + "executionTime": 1 } ] \ No newline at end of file diff --git a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl index 2a4b824bd9..2515205c93 100644 --- a/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl +++ b/multimodal/tarko/agent/snapshot/tool-calls/structured-outputs-impl/loop-2/tool-calls.jsonl @@ -1,6 +1,6 @@ [ { - "toolCallId": "call_1756136674574_7r3l7", + "toolCallId": "call_1755542762631_fsj0d", "name": "getWeather", "args": { "location": "Boston" From aa9964b7b883f85335c3cf0f9333eb4eecf0c303 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 21:41:15 +0800 Subject: [PATCH 28/30] chore: tweks --- multimodal/tarko/agent-interface/src/agent-event-stream.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimodal/tarko/agent-interface/src/agent-event-stream.ts b/multimodal/tarko/agent-interface/src/agent-event-stream.ts index 10004d86ed..d3dcca05e4 100644 --- a/multimodal/tarko/agent-interface/src/agent-event-stream.ts +++ b/multimodal/tarko/agent-interface/src/agent-event-stream.ts @@ -123,7 +123,7 @@ export namespace AgentEventStream { * The time it takes for the model to return the first token of the response after it receives the prompt. * * @see https://modal.com/llm-almanac/how-to-benchmark - * @see https://modal.com/llm-almanac/how-to-benchmark + * @see https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompt-best-practices */ ttftMs?: number; @@ -132,7 +132,7 @@ export namespace AgentEventStream { * The overall time taken by the model to process the prompt and generate the complete response. * * @see https://modal.com/llm-almanac/how-to-benchmark - * @see https://modal.com/llm-almanac/how-to-benchmark + * @see https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompt-best-practices */ ttltMs?: number; From 2915b566094b92214e95dd24a5f2e15c37443fc6 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 22:05:11 +0800 Subject: [PATCH 29/30] refactor: code naming --- .../agent/src/agent/runner/llm-processor.ts | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts index 677f8b0e56..2c2877daea 100644 --- a/multimodal/tarko/agent/src/agent/runner/llm-processor.ts +++ b/multimodal/tarko/agent/src/agent/runner/llm-processor.ts @@ -314,10 +314,14 @@ export class LLMProcessor { const chunkResult = toolCallEngine.processStreamingChunk(chunk, processingState); // Track first token time only if metrics are enabled - if (this.enableMetrics && !hasReceivedFirstContent /* && (chunkResult.content || chunkResult.reasoningContent) */) { + if ( + this.enableMetrics && + !hasReceivedFirstContent /* && (chunkResult.content || chunkResult.reasoningContent) */ + ) { firstTokenTime = Date.now(); hasReceivedFirstContent = true; - if (requestStartTime > 0) { // Only calculate if we have a valid start time + if (requestStartTime > 0) { + // Only calculate if we have a valid start time const ttft = firstTokenTime - requestStartTime; this.logger.info(`[LLM] First token received | TTFT: ${ttft}ms`); } @@ -381,12 +385,12 @@ export class LLMProcessor { // Calculate timing metrics only if enabled let ttftMs: number | undefined; - let totalElapsedMs: number | undefined; - + let ttltMs: number | undefined; + if (this.enableMetrics && requestStartTime > 0) { - totalElapsedMs = Date.now() - requestStartTime; - ttftMs = firstTokenTime ? firstTokenTime - requestStartTime : totalElapsedMs; - this.logger.info(`[LLM] Response timing | TTFT: ${ttftMs}ms | Total: ${totalElapsedMs}ms`); + ttltMs = Date.now() - requestStartTime; + ttftMs = firstTokenTime ? firstTokenTime - requestStartTime : ttltMs; + this.logger.info(`[LLM] Response timing | TTFT: ${ttftMs}ms | Total: ${ttltMs}ms`); } // Create the final events based on processed content @@ -398,7 +402,7 @@ export class LLMProcessor { parsedResponse.finishReason || 'stop', messageId, // Pass the message ID to final events ttftMs, // Pass the TTFT only if metrics were calculated - totalElapsedMs, // Pass the total response time only if metrics were calculated + ttltMs, // Pass the TTLT only if metrics were calculated ); // Call response hooks with session ID From b6c103ac6271c1e21843bf3b6163ef80f79942d9 Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Tue, 26 Aug 2025 22:09:07 +0800 Subject: [PATCH 30/30] chore: update test snapshot --- .../src/utils/snapshot-normalizer.ts | 4 +- .../snapshot/__snapshots__/index.test.ts.snap | 120 +++++++++++++----- 2 files changed, 92 insertions(+), 32 deletions(-) diff --git a/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts b/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts index 18feb754f3..f6a72f4a9e 100644 --- a/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts +++ b/multimodal/tarko/agent-snapshot/src/utils/snapshot-normalizer.ts @@ -42,8 +42,8 @@ const DEFAULT_CONFIG: AgentNormalizerConfig = { { pattern: 'toolCallId', replacement: '<>' }, { pattern: 'sessionId', replacement: '<>' }, { pattern: 'messageId', replacement: '<>' }, - { pattern: 'ttftMs', replacement: '<>' }, - { pattern: 'ttltMs', replacement: '<>' }, + { pattern: 'ttftMs', replacement: '<>' }, + { pattern: 'ttltMs', replacement: '<>' }, { pattern: /Time$/, replacement: '<>' }, ], fieldsToIgnore: [], diff --git a/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap b/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap index a8e1147aba..72bdbe7c7c 100644 --- a/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap +++ b/multimodal/tarko/agent/snapshot/__snapshots__/index.test.ts.snap @@ -66,7 +66,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -152,7 +154,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -238,7 +242,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -314,7 +320,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 2`] = ` "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -336,7 +344,9 @@ exports[`AgentSnapshot tests > should match snapshot for gui-agent/basic 3`] = ` "content": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "rawContent": "Agent TARS is Bytedance's new open-source approach for automating complex tasks by visually interpreting web content and interacting with the command line and file system.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -618,7 +628,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -919,7 +931,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -1851,7 +1865,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls 2` "content": "The weather information for Boston is now available, so we can directly respond with the details.\\nIn Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.In Boston, the weather today is Sunny. The temperature is 70°F (21°C), with a 10% chance of precipitation, 45% humidity, and wind speed of 5 mph.", "rawContent": "", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -1943,7 +1959,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2130,7 +2148,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2542,7 +2562,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-pr "content": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "rawContent": "Today in Boston, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind is blowing at 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2628,7 +2650,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2715,7 +2739,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2823,7 +2849,9 @@ exports[`AgentSnapshot tests > should match snapshot for streaming/tool-calls-st "content": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "rawContent": "The weather in Boston today is sunny with a temperature of 70°F (21°C). There's low precipitation chance at 10%, humidity is at 45%, and a light wind of 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2885,7 +2913,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2932,7 +2962,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -2984,7 +3016,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 2`] = "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3006,7 +3040,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/basic 3`] = "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -3055,7 +3091,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3102,7 +3140,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3154,7 +3194,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3176,7 +3218,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/prompt-engin "content": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "rawContent": "In Boston today, the weather is sunny with a temperature of 70°F (21°C). The precipitation chance is 10%, humidity is 45%, and the wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -3225,7 +3269,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3272,7 +3318,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3324,7 +3372,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3346,7 +3396,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "rawContent": "Today in Boston, the weather is Sunny with a temperature of 70°F (21°C). Precipitation is 10%, humidity is 45%, and wind speed is 5 mph.", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `; @@ -3395,7 +3447,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3442,7 +3496,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o } ], "finishReason": "tool_calls", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3494,7 +3550,9 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" }, { "id": "<>", @@ -3516,6 +3574,8 @@ exports[`AgentSnapshot tests > should match snapshot for tool-calls/structured-o "content": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "rawContent": "Today in Boston, it's 70°F (21°C) and sunny with only a 10% chance of precipitation. The humidity is at 45% with light winds at 5 mph. It's a beautiful day!", "finishReason": "stop", - "messageId": "<>" + "messageId": "<>", + "ttftMs": "<>", + "ttltMs": "<>" } `;