rowboat/apps/x/apps/renderer/vite.config.ts
Ramnique Singh 251a462686 feat(app): wire the new runtime into main + renderer
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>
2026-06-15 09:44:15 +05:30

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,
},
})