MCPcopy Create free account
hub / github.com/OpenHands/OpenHands / getStatusCode

Function getStatusCode

src/utils/status.ts:64–117  ·  view source on GitHub ↗
(
  webSocketConnectionState: WebSocketConnectionState,
  executionStatus: ExecutionStatus | null,
  taskStatus?: AppConversationStartTaskStatus | null,
  subConversationTaskStatus?: AppConversationStartTaskStatus | null,
)

Source from the content-addressed store, hash-verified

62}
63
64export function getStatusCode(
65 webSocketConnectionState: WebSocketConnectionState,
66 executionStatus: ExecutionStatus | null,
67 taskStatus?: AppConversationStartTaskStatus | null,
68 subConversationTaskStatus?: AppConversationStartTaskStatus | null,
69) {
70 if (
71 taskStatus === "ERROR" ||
72 subConversationTaskStatus === "ERROR" ||
73 executionStatus === "error"
74 ) {
75 return I18nKey.AGENT_STATUS$ERROR_OCCURRED;
76 }
77
78 if (taskStatus && taskStatus !== "READY") {
79 return getTaskStatusI18nKey(taskStatus);
80 }
81
82 if (executionStatus === ExecutionStatus.PAUSED) {
83 return I18nKey.CHAT_INTERFACE$STOPPED;
84 }
85
86 // Websocket has disconnected...
87 if (webSocketConnectionState && webSocketConnectionState !== "OPEN") {
88 switch (webSocketConnectionState) {
89 case "CLOSED":
90 case "CLOSING":
91 return I18nKey.CHAT_INTERFACE$DISCONNECTED;
92 case "CONNECTING":
93 return I18nKey.CHAT_INTERFACE$CONNECTING;
94 default:
95 throw new Error(
96 `Unknown WebsocketConnectionState: ${webSocketConnectionState}`,
97 );
98 }
99 }
100
101 if (executionStatus && executionStatus !== ExecutionStatus.STUCK) {
102 switch (executionStatus) {
103 case ExecutionStatus.IDLE:
104 return I18nKey.AGENT_STATUS$WAITING_FOR_TASK;
105 case ExecutionStatus.RUNNING:
106 return I18nKey.AGENT_STATUS$RUNNING_TASK;
107 case ExecutionStatus.WAITING_FOR_CONFIRMATION:
108 return I18nKey.AGENT_STATUS$WAITING_FOR_USER_CONFIRMATION;
109 case ExecutionStatus.FINISHED:
110 return I18nKey.CHAT_INTERFACE$AGENT_FINISHED_MESSAGE;
111 default:
112 throw new Error(`Unknown executionStatus: ${executionStatus}`);
113 }
114 }
115
116 return I18nKey.CHAT_INTERFACE$AGENT_ERROR_MESSAGE;
117}

Callers 2

AgentStatusFunction · 0.90
status.test.tsFile · 0.90

Calls 1

getTaskStatusI18nKeyFunction · 0.85

Tested by

no test coverage detected