mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-16 16:01:05 +00:00
Improve Daytona sandbox provisioning and frontend UI
Refactor git clone script in Daytona provider to use cleaner shell logic for GitHub token authentication and branch checkout. Add support for private repository clones with token-based auth. Improve Daytona provider error handling and git configuration setup. Frontend improvements include enhanced dev panel, workspace dashboard, sidebar navigation, and UI components for better task/session management. Update interest manager and backend client to support improved session state handling. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
8fb19b50da
commit
098b8113f3
19 changed files with 394 additions and 130 deletions
|
|
@ -104,6 +104,14 @@ describe("RemoteInterestManager", () => {
|
|||
expect(backend.getWorkspaceSummary).toHaveBeenCalledTimes(1);
|
||||
expect(manager.getStatus("workspace", params)).toBe("connected");
|
||||
expect(manager.getSnapshot("workspace", params)?.taskSummaries[0]?.title).toBe("Initial task");
|
||||
expect(manager.listDebugTopics()).toEqual([
|
||||
expect.objectContaining({
|
||||
topicKey: "workspace",
|
||||
cacheKey: "workspace:ws-1",
|
||||
listenerCount: 2,
|
||||
status: "connected",
|
||||
}),
|
||||
]);
|
||||
|
||||
conn.emit("workspaceUpdated", {
|
||||
type: "taskSummaryUpdated",
|
||||
|
|
@ -123,6 +131,7 @@ describe("RemoteInterestManager", () => {
|
|||
expect(manager.getSnapshot("workspace", params)?.taskSummaries[0]?.title).toBe("Updated task");
|
||||
expect(listenerA).toHaveBeenCalled();
|
||||
expect(listenerB).toHaveBeenCalled();
|
||||
expect(manager.listDebugTopics()[0]?.lastRefreshAt).toEqual(expect.any(Number));
|
||||
|
||||
unsubscribeA();
|
||||
unsubscribeB();
|
||||
|
|
@ -140,6 +149,7 @@ describe("RemoteInterestManager", () => {
|
|||
unsubscribeA();
|
||||
|
||||
vi.advanceTimersByTime(29_000);
|
||||
expect(manager.listDebugTopics()).toEqual([]);
|
||||
|
||||
const unsubscribeB = manager.subscribe("workspace", params, () => {});
|
||||
await flushAsyncWork();
|
||||
|
|
@ -148,6 +158,7 @@ describe("RemoteInterestManager", () => {
|
|||
expect(conn.disposeCount).toBe(0);
|
||||
|
||||
unsubscribeB();
|
||||
expect(manager.listDebugTopics()).toEqual([]);
|
||||
vi.advanceTimersByTime(30_000);
|
||||
|
||||
expect(conn.disposeCount).toBe(1);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue