mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-19 06:01:21 +00:00
Share chat UI components in @sandbox-agent/react (#228)
* Extract shared chat UI components * chore(release): update version to 0.3.1 * Use shared chat UI in Foundry
This commit is contained in:
parent
6d7e67fe72
commit
0471214d65
19 changed files with 1679 additions and 727 deletions
|
|
@ -1,3 +1,4 @@
|
|||
import type { TranscriptEntry } from "@sandbox-agent/react";
|
||||
import { BookOpen } from "lucide-react";
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||
import {
|
||||
|
|
@ -25,7 +26,6 @@ type AgentModeInfo = { id: string; name: string; description: string };
|
|||
type AgentModelInfo = { id: string; name?: string };
|
||||
import { IndexedDbSessionPersistDriver } from "@sandbox-agent/persist-indexeddb";
|
||||
import ChatPanel from "./components/chat/ChatPanel";
|
||||
import type { TimelineEntry } from "./components/chat/types";
|
||||
import ConnectScreen from "./components/ConnectScreen";
|
||||
import DebugPanel, { type DebugTab } from "./components/debug/DebugPanel";
|
||||
import SessionSidebar from "./components/SessionSidebar";
|
||||
|
|
@ -977,7 +977,7 @@ export default function App() {
|
|||
|
||||
// Build transcript entries from raw SessionEvents
|
||||
const transcriptEntries = useMemo(() => {
|
||||
const entries: TimelineEntry[] = [];
|
||||
const entries: TranscriptEntry[] = [];
|
||||
|
||||
// Accumulators for streaming chunks
|
||||
let assistantAccumId: string | null = null;
|
||||
|
|
@ -1010,7 +1010,7 @@ export default function App() {
|
|||
};
|
||||
|
||||
// Track tool calls by ID for updates
|
||||
const toolEntryMap = new Map<string, TimelineEntry>();
|
||||
const toolEntryMap = new Map<string, TranscriptEntry>();
|
||||
|
||||
for (const event of events) {
|
||||
const payload = event.payload as Record<string, unknown>;
|
||||
|
|
@ -1124,7 +1124,7 @@ export default function App() {
|
|||
if (update.title) existing.toolName = update.title as string;
|
||||
existing.time = time;
|
||||
} else {
|
||||
const entry: TimelineEntry = {
|
||||
const entry: TranscriptEntry = {
|
||||
id: `tool-${toolCallId}`,
|
||||
eventId: event.id,
|
||||
kind: "tool",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue