From f601e19acc4d30413fa2499d4d7fa2fc7e8c8189 Mon Sep 17 00:00:00 2001 From: Xingyao Wang Date: Fri, 3 Jan 2025 15:11:49 -0500 Subject: [PATCH] fix error observation for command --- frontend/src/services/observations.ts | 3 +-- frontend/src/state/chat-slice.ts | 2 +- frontend/src/types/core/observations.ts | 3 +-- frontend/src/types/message.tsx | 7 +++++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/frontend/src/services/observations.ts b/frontend/src/services/observations.ts index f2f1de60c45a..1ec6a784d910 100644 --- a/frontend/src/services/observations.ts +++ b/frontend/src/services/observations.ts @@ -80,8 +80,7 @@ export function handleObservationMessage(message: ObservationMessage) { observation: "run" as const, extras: { command: String(message.extras.command || ""), - command_id: Number(message.extras.command_id || 0), - exit_code: Number(message.extras.exit_code || 0), + metadata: message.extras.metadata, hidden: Boolean(message.extras.hidden), }, }), diff --git a/frontend/src/state/chat-slice.ts b/frontend/src/state/chat-slice.ts index 6f8b234b184c..12a5a09a0873 100644 --- a/frontend/src/state/chat-slice.ts +++ b/frontend/src/state/chat-slice.ts @@ -144,7 +144,7 @@ export const chatSlice = createSlice({ // Set success property based on observation type if (observationID === "run") { const commandObs = observation.payload as CommandObservation; - causeMessage.success = commandObs.extras.exit_code === 0; + causeMessage.success = commandObs.extras.metadata.exit_code === 0; } else if (observationID === "run_ipython") { // For IPython, we consider it successful if there's no error message const ipythonObs = observation.payload as IPythonObservation; diff --git a/frontend/src/types/core/observations.ts b/frontend/src/types/core/observations.ts index 9a020d93654e..8f815b61f5a4 100644 --- a/frontend/src/types/core/observations.ts +++ b/frontend/src/types/core/observations.ts @@ -13,9 +13,8 @@ export interface CommandObservation extends OpenHandsObservationEvent<"run"> { source: "agent"; extras: { command: string; - command_id: number; - exit_code: number; hidden?: boolean; + metadata: Record; }; } diff --git a/frontend/src/types/message.tsx b/frontend/src/types/message.tsx index f7ef68e3fa13..eb1e1bfcf9a5 100644 --- a/frontend/src/types/message.tsx +++ b/frontend/src/types/message.tsx @@ -27,8 +27,11 @@ export interface ObservationMessage { // The observed data content: string; - // Additional structured data - extras: Record; + extras: { + metadata: Record; + error_id: string; + [key: string]: string | Record; + }; // A friendly message that can be put in the chat log message: string;