mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-06-21 20:18:11 +02:00
shared/ipc.ts: add sessions:* channels (create / get / list / sendMessage / getHistory / listTurns / getTurn / respondToPermission / setToolResult / resumeTurn / stopTurn / delete) and the sessions:events feed; remove the runs:* channels. main: - register the sessions handlers and forward the turn event bus to renderer windows; getAgentRuntime() at startup - stop in-flight headless runs via stopTurn (live-note / bg-task) - drop the runs watcher, runs:* handlers, and the dev test-agent script renderer: - single global session-feed consumer; useSessionChat(sessionId) hook; pure turn -> chat-state mappers (agent-turn-view, session-chat-state); shared ChatConversation component - chat (main view + sidebar) renders from the session feed; per-turn model / permission mode; bg-task and live-note detail views load transcripts via sessions:getTurn; chat delete via sessions:delete - remove the dormant run-event path (handleRunEvent + runs:events) and its orphaned state - vitest + jsdom test setup Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
27 lines
612 B
TypeScript
27 lines
612 B
TypeScript
import path from "path"
|
|
import { defineConfig } from 'vitest/config'
|
|
import react from '@vitejs/plugin-react'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig({
|
|
base: './', // Use relative paths for assets (required for Electron custom protocol)
|
|
plugins: [
|
|
react(),
|
|
tailwindcss(),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
"@": path.resolve(__dirname, "./src"),
|
|
},
|
|
},
|
|
build: {
|
|
outDir: 'dist',
|
|
},
|
|
test: {
|
|
environment: 'jsdom',
|
|
setupFiles: ['./src/test/setup.ts'],
|
|
include: ['src/**/*.test.{ts,tsx}'],
|
|
css: false,
|
|
},
|
|
})
|