History

show code

Rhys Sullivan committed 9 months ago

Commit 4e043641 parent b9fea141 file · +10 −1Browse files

Unified · Split

apps/bot/src/views/task-message.tsx+10−1
@@ -35,6 +35,7 @@ interface PendingApproval { · 34 unmodified lines
35interface TaskState {35interface TaskState {
36 readonly status: "running" | "completed" | "failed" | "cancelled";36 readonly status: "running" | "completed" | "failed" | "cancelled";
37 readonly statusMessage: string;37 readonly statusMessage: string;
38 readonly lastCode: string | null;
38 readonly toolResults: string[];39 readonly toolResults: string[];
39 readonly pendingApprovals: PendingApproval[];40 readonly pendingApprovals: PendingApproval[];
40 readonly agentMessage: string | null;41 readonly agentMessage: string | null;
@@ -44,6 +45,7 @@ interface TaskState { · 3 unmodified lines
44const INITIAL_STATE: TaskState = {45const INITIAL_STATE: TaskState = {
45 status: "running",46 status: "running",
46 statusMessage: "Thinking...",47 statusMessage: "Thinking...",
48 lastCode: null,
47 toolResults: [],49 toolResults: [],
48 pendingApprovals: [],50 pendingApprovals: [],
49 agentMessage: null,51 agentMessage: null,
@@ -56,7 +58,7 @@ function reduceEvent(state: TaskState, event: TaskEvent): TaskState { · 6 unmodified lines
56 return { ...state, statusMessage: event.message };58 return { ...state, statusMessage: event.message };
57 59
58 case "code_generated":60 case "code_generated":
59 return { ...state, statusMessage: "Running code..." };61 return { ...state, lastCode: event.code, statusMessage: "Running code..." };
60 62
61 case "approval_request":63 case "approval_request":
62 return {64 return {
@@ -163,6 +165,13 @@ export function TaskMessage({ taskId, prompt, api }: TaskMessageProps) { · 100 unmodified lines
163 <TextDisplay>{`${statusEmoji(state.status)} **${state.statusMessage}**`}</TextDisplay>165 <TextDisplay>{`${statusEmoji(state.status)} **${state.statusMessage}**`}</TextDisplay>
164 <TextDisplay>{`> ${prompt.length > 200 ? prompt.slice(0, 200) + "..." : prompt}`}</TextDisplay>166 <TextDisplay>{`> ${prompt.length > 200 ? prompt.slice(0, 200) + "..." : prompt}`}</TextDisplay>
165 167
168 {state.lastCode && (
169 <>
170 <Separator />
171 <TextDisplay>{`\`\`\`ts\n${state.lastCode.length > 800 ? state.lastCode.slice(0, 800) + "\n// ..." : state.lastCode}\n\`\`\``}</TextDisplay>
172 </>
173 )}
174
166 {state.toolResults.length > 0 && (175 {state.toolResults.length > 0 && (
167 <>176 <>
168 <Separator />177 <Separator />