Authored
asta-nguyenParent014a6f4
92 files changed
- AGENTS.md+5−1
- ARCHITECTURE.md+157−0
- Cargo.lock+94−0
- apps/desktop/package.json+13−2
- apps/desktop/src-tauri/Cargo.toml+11−0
- apps/desktop/src-tauri/capabilities/default.json+1−1
- apps/desktop/src-tauri/src/bridge.rs+67−0
- apps/desktop/src-tauri/src/commands.rs+185−0
- apps/desktop/src-tauri/src/commands/tests.rs+162−0
- apps/desktop/src-tauri/src/daemon_client.rs+413−0
- apps/desktop/src-tauri/src/daemon_client/connect.rs+232−0
- apps/desktop/src-tauri/src/daemon_client/spawn.rs+122−0
- apps/desktop/src-tauri/src/error.rs+87−0
- apps/desktop/src-tauri/src/events.rs+76−0
- apps/desktop/src-tauri/src/events/tests.rs+131−0
- apps/desktop/src-tauri/src/lib.rs+44−0
- apps/desktop/src-tauri/src/terminal.rs+269−0
- apps/desktop/src-tauri/src/terminal/tests.rs+345−0
- apps/desktop/src-tauri/src/test_support.rs+196−0
- apps/desktop/src-tauri/src/wiring_tests.rs+140−0
- apps/desktop/src-tauri/tauri.conf.json+1−1
- apps/desktop/src/App.test.tsx+124−0
- apps/desktop/src/App.tsx+40−5
- apps/desktop/src/features/sessions/NewSessionForm.test.tsx+126−0
- apps/desktop/src/features/sessions/NewSessionForm.tsx+90−0
- apps/desktop/src/features/sessions/SessionControls.test.tsx+135−0
- apps/desktop/src/features/sessions/SessionControls.tsx+75−0
- apps/desktop/src/features/sessions/SessionList.test.tsx+59−0
- apps/desktop/src/features/sessions/SessionList.tsx+48−0
- apps/desktop/src/features/sessions/StateBadge.tsx+17−0
- apps/desktop/src/features/sessions/queries.test.tsx+133−0
- apps/desktop/src/features/sessions/queries.ts+43−0
- apps/desktop/src/features/terminal/TerminalController.test.ts+240−0
- apps/desktop/src/features/terminal/TerminalController.ts+88−0
- apps/desktop/src/features/terminal/TerminalView.test.tsx+90−0
- apps/desktop/src/features/terminal/TerminalView.tsx+44−0
- apps/desktop/src/main.tsx+5−1
- apps/desktop/src/queryClient.ts+31−0
- apps/desktop/src/services/errors.test.ts+33−0
- apps/desktop/src/services/errors.ts+41−0
- apps/desktop/src/services/session.test.ts+80−0
- apps/desktop/src/services/session.ts+48−0
- apps/desktop/src/services/sync.test.tsx+146−0
- apps/desktop/src/services/sync.ts+45−0
- apps/desktop/src/services/types.ts+33−0
- apps/desktop/src/stores/ui.test.tsx+60−0
- apps/desktop/src/stores/ui.ts+20−0
- apps/desktop/tsconfig.json+1−1
- apps/desktop/vite.config.ts+5−1
- crates/daemon/Cargo.toml+1−0
- crates/daemon/src/lib.rs+1−0
- crates/daemon/src/main.rs+6−2
- crates/daemon/src/paths.rs+7−10
- crates/daemon/src/pty.rs+101−11
- crates/daemon/src/server.rs+447−94
- crates/daemon/src/session.rs+379−0
- crates/daemon/tests/common/mod.rs+197−67
- crates/daemon/tests/dispatch.rs+8−3
- crates/daemon/tests/e2e.rs+133−0
- crates/daemon/tests/handshake.rs+3−2
- crates/daemon/tests/lagged.rs+85−0
- crates/daemon/tests/lifecycle.rs+3−57
- crates/daemon/tests/session_ipc.rs+164−0
- crates/daemon/tests/session_manager.rs+287−0
- crates/daemon/tests/subscribe.rs+170−0
- crates/daemon/tests/subscribe_ipc.rs+285−0
- crates/daemon/tests/terminal_io_ipc.rs+146−0
- docs/agent-devkit/INDEX.md+8−8
- docs/agent-devkit/changes/{ => archive}/s1-04-daemon-server/design.md+1−1
- docs/agent-devkit/changes/{ => archive}/s1-04-daemon-server/tasks.md+17−16
- docs/agent-devkit/changes/{ => archive}/s1-06-pty-streaming/design.md+1−1
- docs/agent-devkit/changes/archive/s1-06-pty-streaming/tasks.md+55−0
- docs/agent-devkit/changes/{ => archive}/s1-07-sessions/design.md+1−1
- docs/agent-devkit/changes/{ => archive}/s1-07-sessions/tasks.md+15−12
- docs/agent-devkit/changes/{ => archive}/s1-08-daemon-ipc/design.md+1−1
- docs/agent-devkit/changes/archive/s1-08-daemon-ipc/tasks.md+76−0
- docs/agent-devkit/changes/{ => archive}/s1-09-tauri-bridge/design.md+1−1
- docs/agent-devkit/changes/{ => archive}/s1-09-tauri-bridge/tasks.md+17−15
- docs/agent-devkit/changes/archive/s1-10-ui-state/decisions.md+6−0
- docs/agent-devkit/changes/{ => archive}/s1-10-ui-state/design.md+1−1
- docs/agent-devkit/changes/{ => archive}/s1-10-ui-state/tasks.md+15−13
- docs/agent-devkit/changes/{ => archive}/s1-11-ui-terminal/design.md+1−1
- docs/agent-devkit/changes/archive/s1-11-ui-terminal/tasks.md+58−0
- docs/agent-devkit/changes/{ => archive}/s1-12-ui-session/design.md+1−1
- docs/agent-devkit/changes/archive/s1-12-ui-session/tasks.md+67−0
- docs/agent-devkit/changes/s1-06-pty-streaming/tasks.md+0−55
- docs/agent-devkit/changes/s1-08-daemon-ipc/tasks.md+0−74
- docs/agent-devkit/changes/s1-11-ui-terminal/tasks.md+0−56
- docs/agent-devkit/changes/s1-12-ui-session/tasks.md+0−65
- docs/agent-devkit/changes/s1-13-acceptance/tasks.md+63−12
- docs/agent-devkit/roadmap.md+8−8
- pnpm-lock.yaml+696−0