Initial implementation of vault-os
Complete implementation across all 13 phases: - vault-core: types, YAML frontmatter parsing, entity classification, filesystem ops, config, prompt composition, validation, search - vault-watch: filesystem watcher with daemon write filtering, event classification - vault-scheduler: cron engine, process executor, task runner with retry logic and concurrency limiting - vault-api: Axum REST API (15 route modules), WebSocket with broadcast, AI assistant proxy, validation, templates - Dashboard: React + TypeScript + Tailwind v4 with kanban, CodeMirror editor, dynamic view system, AI chat sidebar - Nix flake with dev shell and NixOS module - Graceful shutdown, inotify overflow recovery, tracing instrumentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
f820a72b04
123 changed files with 18288 additions and 0 deletions
47
dashboard/src/App.tsx
Normal file
47
dashboard/src/App.tsx
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import { BrowserRouter, Routes, Route } from 'react-router-dom';
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
||||
import { Layout } from './components/Layout';
|
||||
import { TasksPage } from './pages/TasksPage';
|
||||
import { AgentsPage } from './pages/AgentsPage';
|
||||
import { CronsPage } from './pages/CronsPage';
|
||||
import { AgentQueuePage } from './pages/AgentQueuePage';
|
||||
import { KnowledgePage } from './pages/KnowledgePage';
|
||||
import { EditorPage } from './pages/EditorPage';
|
||||
import { ViewPage } from './pages/ViewPage';
|
||||
import { CommandPalette } from './components/CommandPalette';
|
||||
import { useWebSocket } from './hooks/useWebSocket';
|
||||
|
||||
const queryClient = new QueryClient({
|
||||
defaultOptions: {
|
||||
queries: { staleTime: 5000, retry: 1 },
|
||||
},
|
||||
});
|
||||
|
||||
function AppInner() {
|
||||
useWebSocket();
|
||||
|
||||
return (
|
||||
<BrowserRouter>
|
||||
<CommandPalette />
|
||||
<Routes>
|
||||
<Route element={<Layout />}>
|
||||
<Route path="/" element={<TasksPage />} />
|
||||
<Route path="/agents" element={<AgentsPage />} />
|
||||
<Route path="/crons" element={<CronsPage />} />
|
||||
<Route path="/queue" element={<AgentQueuePage />} />
|
||||
<Route path="/knowledge" element={<KnowledgePage />} />
|
||||
<Route path="/editor" element={<EditorPage />} />
|
||||
<Route path="/view/*" element={<ViewPage />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
</BrowserRouter>
|
||||
);
|
||||
}
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<AppInner />
|
||||
</QueryClientProvider>
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue