genoma-evolution 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.brv/.obsidian/app.json +1 -0
- package/.brv/.obsidian/appearance.json +1 -0
- package/.brv/.obsidian/core-plugins.json +33 -0
- package/.brv/.obsidian/graph.json +22 -0
- package/.brv/.obsidian/workspace.json +195 -0
- package/.brv/Sin ti/314/201tulo 1.canvas" +1 -0
- package/.brv/Sin ti/314/201tulo 2.canvas" +1 -0
- package/.brv/Sin ti/314/201tulo.canvas" +1 -0
- package/.brv/_queue_status.json +1 -0
- package/.brv/config.json +5 -0
- package/.brv/context-tree/_index.md +60 -0
- package/.brv/context-tree/_manifest.json +165 -0
- package/.brv/context-tree/backend/_index.md +24 -0
- package/.brv/context-tree/backend/backend/_index.md +40 -0
- package/.brv/context-tree/backend/backend/init.abstract.md +0 -0
- package/.brv/context-tree/backend/backend/init.md +27 -0
- package/.brv/context-tree/backend/backend/init.overview.md +29 -0
- package/.brv/context-tree/backend/backend/job_tracker.abstract.md +1 -0
- package/.brv/context-tree/backend/backend/job_tracker.md +273 -0
- package/.brv/context-tree/backend/backend/job_tracker.overview.md +31 -0
- package/.brv/context-tree/backend/backend/main.abstract.md +0 -0
- package/.brv/context-tree/backend/backend/main.md +1292 -0
- package/.brv/context-tree/backend/backend/main.overview.md +30 -0
- package/.brv/context-tree/backend/backend/requirements.abstract.md +1 -0
- package/.brv/context-tree/backend/backend/requirements.md +37 -0
- package/.brv/context-tree/backend/backend/requirements.overview.md +28 -0
- package/.brv/context-tree/docs/_index.md +37 -0
- package/.brv/context-tree/docs/api/_index.md +54 -0
- package/.brv/context-tree/docs/api/context.md +11 -0
- package/.brv/context-tree/docs/api/hermes_api_openapi_specification.abstract.md +0 -0
- package/.brv/context-tree/docs/api/hermes_api_openapi_specification.md +468 -0
- package/.brv/context-tree/docs/api/hermes_api_openapi_specification.overview.md +44 -0
- package/.brv/context-tree/frontend/_index.md +48 -0
- package/.brv/context-tree/frontend/hermes_dashboard/_index.md +31 -0
- package/.brv/context-tree/frontend/hermes_dashboard/architecture_overview.abstract.md +0 -0
- package/.brv/context-tree/frontend/hermes_dashboard/architecture_overview.md +41 -0
- package/.brv/context-tree/frontend/hermes_dashboard/architecture_overview.overview.md +34 -0
- package/.brv/context-tree/frontend/src/_index.md +53 -0
- package/.brv/context-tree/frontend/src/components/_index.md +52 -0
- package/.brv/context-tree/frontend/src/components/sidebar_navigation_component.abstract.md +0 -0
- package/.brv/context-tree/frontend/src/components/sidebar_navigation_component.md +161 -0
- package/.brv/context-tree/frontend/src/components/sidebar_navigation_component.overview.md +32 -0
- package/.brv/context-tree/frontend/src/context.md +10 -0
- package/.brv/context-tree/frontend/src/functioncallingpage.abstract.md +0 -0
- package/.brv/context-tree/frontend/src/functioncallingpage.md +34 -0
- package/.brv/context-tree/frontend/src/functioncallingpage.overview.md +26 -0
- package/.brv/context-tree/frontend/src/lib/_index.md +48 -0
- package/.brv/context-tree/frontend/src/lib/api_client_library.abstract.md +1 -0
- package/.brv/context-tree/frontend/src/lib/api_client_library.md +403 -0
- package/.brv/context-tree/frontend/src/lib/api_client_library.overview.md +69 -0
- package/.brv/context-tree/frontend/src/page.abstract.md +0 -0
- package/.brv/context-tree/frontend/src/page.md +103 -0
- package/.brv/context-tree/frontend/src/page.overview.md +7 -0
- package/.brv/context-tree/frontend/src/settingspage.abstract.md +0 -0
- package/.brv/context-tree/frontend/src/settingspage.md +124 -0
- package/.brv/context-tree/frontend/src/settingspage.overview.md +34 -0
- package/.brv/context-tree/frontend/src/sidebar.abstract.md +0 -0
- package/.brv/context-tree/frontend/src/sidebar.md +170 -0
- package/.brv/context-tree/frontend/src/sidebar.overview.md +25 -0
- package/.brv/context-tree/meta/_index.md +24 -0
- package/.brv/context-tree/meta/curation_context/_index.md +24 -0
- package/.brv/context-tree/meta/curation_context/empty_context.abstract.md +4 -0
- package/.brv/context-tree/meta/curation_context/empty_context.md +35 -0
- package/.brv/context-tree/meta/curation_context/empty_context.overview.md +20 -0
- package/.brv/dream-log/drm-1777341062653.json +33 -0
- package/.brv/dream-state.json +8 -0
- package/.brv/dream.lock +0 -0
- package/.brv/review-backups/docs/api/hermes_api_openapi_specification.md +468 -0
- package/.claude/settings.local.json +7 -0
- package/.claude/worktrees/phase-2-mcp/.brv/.obsidian/app.json +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/.obsidian/appearance.json +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/.obsidian/core-plugins.json +33 -0
- package/.claude/worktrees/phase-2-mcp/.brv/.obsidian/graph.json +22 -0
- package/.claude/worktrees/phase-2-mcp/.brv/.obsidian/workspace.json +195 -0
- package/.claude/worktrees/phase-2-mcp/.brv/Sin t/303/255tulo 1.canvas" +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/Sin t/303/255tulo 2.canvas" +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/Sin t/303/255tulo.canvas" +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/_queue_status.json +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/config.json +5 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/_index.md +60 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/_manifest.json +165 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/_index.md +24 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/_index.md +40 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/init.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/init.md +27 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/init.overview.md +29 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/job_tracker.abstract.md +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/job_tracker.md +273 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/job_tracker.overview.md +31 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/main.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/main.md +1292 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/main.overview.md +30 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/requirements.abstract.md +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/requirements.md +37 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/backend/backend/requirements.overview.md +28 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/docs/_index.md +37 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/docs/api/_index.md +54 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/docs/api/context.md +11 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/docs/api/hermes_api_openapi_specification.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/docs/api/hermes_api_openapi_specification.md +468 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/docs/api/hermes_api_openapi_specification.overview.md +44 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/_index.md +48 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/hermes_dashboard/_index.md +31 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/hermes_dashboard/architecture_overview.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/hermes_dashboard/architecture_overview.md +41 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/hermes_dashboard/architecture_overview.overview.md +34 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/_index.md +53 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/components/_index.md +52 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/components/sidebar_navigation_component.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/components/sidebar_navigation_component.md +161 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/components/sidebar_navigation_component.overview.md +32 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/context.md +10 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/functioncallingpage.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/functioncallingpage.md +34 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/functioncallingpage.overview.md +26 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/lib/_index.md +48 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/lib/api_client_library.abstract.md +1 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/lib/api_client_library.md +403 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/lib/api_client_library.overview.md +69 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/page.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/page.md +103 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/page.overview.md +7 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/settingspage.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/settingspage.md +124 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/settingspage.overview.md +34 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/sidebar.abstract.md +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/sidebar.md +170 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/frontend/src/sidebar.overview.md +25 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/meta/_index.md +24 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/meta/curation_context/_index.md +24 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/meta/curation_context/empty_context.abstract.md +4 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/meta/curation_context/empty_context.md +35 -0
- package/.claude/worktrees/phase-2-mcp/.brv/context-tree/meta/curation_context/empty_context.overview.md +20 -0
- package/.claude/worktrees/phase-2-mcp/.brv/dream-log/drm-1777341062653.json +33 -0
- package/.claude/worktrees/phase-2-mcp/.brv/dream-state.json +8 -0
- package/.claude/worktrees/phase-2-mcp/.brv/dream.lock +0 -0
- package/.claude/worktrees/phase-2-mcp/.brv/review-backups/docs/api/hermes_api_openapi_specification.md +468 -0
- package/.claude/worktrees/phase-2-mcp/.claude/settings.local.json +13 -0
- package/.claude/worktrees/phase-2-mcp/.kilocode/package-lock.json +378 -0
- package/.claude/worktrees/phase-2-mcp/.kilocode/package.json +5 -0
- package/.claude/worktrees/phase-2-mcp/AGENTS.md +5 -0
- package/.claude/worktrees/phase-2-mcp/CLAUDE.md +29 -0
- package/.claude/worktrees/phase-2-mcp/QA_AUDIT_PLAN.md +156 -0
- package/.claude/worktrees/phase-2-mcp/README.md +316 -0
- package/.claude/worktrees/phase-2-mcp/agent-agnostic-evolution-dashboard.md +405 -0
- package/.claude/worktrees/phase-2-mcp/backend/__init__.py +0 -0
- package/.claude/worktrees/phase-2-mcp/backend/collectors/__init__.py +0 -0
- package/.claude/worktrees/phase-2-mcp/backend/collectors/claude_code_collector.py +277 -0
- package/.claude/worktrees/phase-2-mcp/backend/collectors/hermes_collector.py +68 -0
- package/.claude/worktrees/phase-2-mcp/backend/curator.py +512 -0
- package/.claude/worktrees/phase-2-mcp/backend/eval/__init__.py +19 -0
- package/.claude/worktrees/phase-2-mcp/backend/eval/engine.py +116 -0
- package/.claude/worktrees/phase-2-mcp/backend/eval/scorers.py +201 -0
- package/.claude/worktrees/phase-2-mcp/backend/generate_dataset.py +86 -0
- package/.claude/worktrees/phase-2-mcp/backend/job_tracker.py +232 -0
- package/.claude/worktrees/phase-2-mcp/backend/main.py +1746 -0
- package/.claude/worktrees/phase-2-mcp/backend/mcp_server.py +250 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/__init__.py +24 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/cycle_orchestrator.py +270 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/delta_validator.py +191 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/dspy_compiler.py +315 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/gepa_strategist.py +213 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/models.py +260 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/skill_deployer.py +195 -0
- package/.claude/worktrees/phase-2-mcp/backend/promethean/trace_ingestion.py +142 -0
- package/.claude/worktrees/phase-2-mcp/backend/requirements.txt +6 -0
- package/.claude/worktrees/phase-2-mcp/backend/sdd_evolve.py +459 -0
- package/.claude/worktrees/phase-2-mcp/backend/skill_detector.py +227 -0
- package/.claude/worktrees/phase-2-mcp/backend/skill_registry.py +289 -0
- package/.claude/worktrees/phase-2-mcp/backend/storage/__init__.py +5 -0
- package/.claude/worktrees/phase-2-mcp/backend/storage/run_store.py +393 -0
- package/.claude/worktrees/phase-2-mcp/backend/storage/schema.sql +99 -0
- package/.claude/worktrees/phase-2-mcp/backend/validate_evolution.py +267 -0
- package/.claude/worktrees/phase-2-mcp/components.json +28 -0
- package/.claude/worktrees/phase-2-mcp/docs/api/hermes-api.openapi.yaml +438 -0
- package/.claude/worktrees/phase-2-mcp/docs/hero.svg +148 -0
- package/.claude/worktrees/phase-2-mcp/eslint.config.mjs +18 -0
- package/.claude/worktrees/phase-2-mcp/install.sh +245 -0
- package/.claude/worktrees/phase-2-mcp/next-env.d.ts +6 -0
- package/.claude/worktrees/phase-2-mcp/next.config.ts +32 -0
- package/.claude/worktrees/phase-2-mcp/package-lock.json +11936 -0
- package/.claude/worktrees/phase-2-mcp/package.json +41 -0
- package/.claude/worktrees/phase-2-mcp/pnpm-workspace.yaml +4 -0
- package/.claude/worktrees/phase-2-mcp/postcss.config.mjs +7 -0
- package/.claude/worktrees/phase-2-mcp/public/file.svg +1 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Display-Bold.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Display-Heavy.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Display-Medium.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Display-Regular.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Display-Semibold.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Text-Bold.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Text-Heavy.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Text-Medium.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Text-Regular.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/fonts/SF-Pro-Text-Semibold.otf +0 -0
- package/.claude/worktrees/phase-2-mcp/public/globe.svg +1 -0
- package/.claude/worktrees/phase-2-mcp/public/next.svg +1 -0
- package/.claude/worktrees/phase-2-mcp/public/theme-preview.html +257 -0
- package/.claude/worktrees/phase-2-mcp/public/vercel.svg +1 -0
- package/.claude/worktrees/phase-2-mcp/public/window.svg +1 -0
- package/.claude/worktrees/phase-2-mcp/run.sh +26 -0
- package/.claude/worktrees/phase-2-mcp/skills-lock.json +10 -0
- package/.claude/worktrees/phase-2-mcp/specs/event-schema.md +223 -0
- package/.claude/worktrees/phase-2-mcp/specs/examples/run.jsonl +3 -0
- package/.claude/worktrees/phase-2-mcp/src/app/api/[...path]/route.ts +55 -0
- package/.claude/worktrees/phase-2-mcp/src/app/api/auth/token/route.ts +22 -0
- package/.claude/worktrees/phase-2-mcp/src/app/evolution/page.tsx +589 -0
- package/.claude/worktrees/phase-2-mcp/src/app/favicon.ico +0 -0
- package/.claude/worktrees/phase-2-mcp/src/app/globals.css +321 -0
- package/.claude/worktrees/phase-2-mcp/src/app/layout.tsx +63 -0
- package/.claude/worktrees/phase-2-mcp/src/app/page.tsx +70 -0
- package/.claude/worktrees/phase-2-mcp/src/app/skills/page.tsx +369 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ApiConfigCard.tsx +199 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ColorBends.css +1 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ColorBends.d.ts +1 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ColorBends.jsx +1 -0
- package/.claude/worktrees/phase-2-mcp/src/components/CoreLoopToggle.tsx +111 -0
- package/.claude/worktrees/phase-2-mcp/src/components/EnvironmentStatus.tsx +176 -0
- package/.claude/worktrees/phase-2-mcp/src/components/EvolutionBackground.tsx +1 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ReactQueryProvider.tsx +24 -0
- package/.claude/worktrees/phase-2-mcp/src/components/Sidebar.tsx +247 -0
- package/.claude/worktrees/phase-2-mcp/src/components/SkillDiffViewer.tsx +154 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ThemeAwareBackground.tsx +67 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ThemeToggle.tsx +54 -0
- package/.claude/worktrees/phase-2-mcp/src/components/WelcomeHero.tsx +77 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/ClickSpark.tsx +116 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/CountUp.tsx +98 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/DarkSelect.tsx +95 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/DecryptedText.tsx +161 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/ElectricBorder.tsx +184 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/GlitchText.tsx +34 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/ShinyText.tsx +55 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/SpotlightCard.tsx +42 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/TextType.tsx +95 -0
- package/.claude/worktrees/phase-2-mcp/src/components/bits/index.ts +9 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/CuratorPage.tsx +632 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/DatasetPage.tsx +271 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/EvolutionPage.tsx +676 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/FunctionCallingPage.tsx +1 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/LogsPage.tsx +272 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/MetricsPage.tsx +246 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/OverviewPage.tsx +420 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/SettingsPage.tsx +88 -0
- package/.claude/worktrees/phase-2-mcp/src/components/pages/SkillStudioPage.tsx +376 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/animated-theme-toggler.tsx +97 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/button.tsx +67 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/card.tsx +103 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/input.tsx +19 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/separator.tsx +28 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/sheet.tsx +147 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/sidebar.tsx +702 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/skeleton.tsx +13 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/theme-toggle.tsx +272 -0
- package/.claude/worktrees/phase-2-mcp/src/components/ui/tooltip.tsx +57 -0
- package/.claude/worktrees/phase-2-mcp/src/hooks/use-mobile.ts +19 -0
- package/.claude/worktrees/phase-2-mcp/src/lib/api.ts +455 -0
- package/.claude/worktrees/phase-2-mcp/src/lib/queryClient.ts +12 -0
- package/.claude/worktrees/phase-2-mcp/src/lib/utils.ts +6 -0
- package/.claude/worktrees/phase-2-mcp/stitch/agent_dashboard/DESIGN_SPEC.md +521 -0
- package/.claude/worktrees/phase-2-mcp/stitch/agent_dashboard/prototype.html +676 -0
- package/.claude/worktrees/phase-2-mcp/stitch/curator_workspace/code.html +448 -0
- package/.claude/worktrees/phase-2-mcp/stitch/curator_workspace/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/stitch/datasets/code.html +479 -0
- package/.claude/worktrees/phase-2-mcp/stitch/datasets/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/stitch/evolution_history/code.html +461 -0
- package/.claude/worktrees/phase-2-mcp/stitch/evolution_history/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/stitch/hermes_dashboard/DESIGN.md +192 -0
- package/.claude/worktrees/phase-2-mcp/stitch/hermes_dashboard/DESIGN_SPEC.md +455 -0
- package/.claude/worktrees/phase-2-mcp/stitch/hermes_overview/code.html +399 -0
- package/.claude/worktrees/phase-2-mcp/stitch/hermes_overview/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/stitch/live_logs/code.html +324 -0
- package/.claude/worktrees/phase-2-mcp/stitch/live_logs/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/stitch/skill_hub/code.html +596 -0
- package/.claude/worktrees/phase-2-mcp/stitch/skill_hub/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/stitch/system_metrics/code.html +527 -0
- package/.claude/worktrees/phase-2-mcp/stitch/system_metrics/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/stitch/system_settings/code.html +257 -0
- package/.claude/worktrees/phase-2-mcp/stitch/system_settings/screen.png +0 -0
- package/.claude/worktrees/phase-2-mcp/test_dashboard.py +201 -0
- package/.claude/worktrees/phase-2-mcp/tests/collectors/__init__.py +0 -0
- package/.claude/worktrees/phase-2-mcp/tests/collectors/fixtures/sample_session.jsonl +7 -0
- package/.claude/worktrees/phase-2-mcp/tests/collectors/test_claude_code_collector.py +171 -0
- package/.claude/worktrees/phase-2-mcp/tests/collectors/test_hermes_collector.py +167 -0
- package/.claude/worktrees/phase-2-mcp/tests/eval/test_engine.py +234 -0
- package/.claude/worktrees/phase-2-mcp/tests/eval/test_scorers.py +249 -0
- package/.claude/worktrees/phase-2-mcp/tests/storage/__init__.py +0 -0
- package/.claude/worktrees/phase-2-mcp/tests/storage/test_run_store.py +359 -0
- package/.claude/worktrees/phase-2-mcp/tests/test_curator.py +559 -0
- package/.claude/worktrees/phase-2-mcp/tests/test_mcp_server.py +114 -0
- package/.claude/worktrees/phase-2-mcp/tsconfig.json +34 -0
- package/.env.example +72 -0
- package/.kilocode/package-lock.json +378 -0
- package/.kilocode/package.json +5 -0
- package/AGENTS.md +5 -0
- package/CLAUDE.md +29 -0
- package/QA_AUDIT_PLAN.md +156 -0
- package/README.md +355 -0
- package/agent-agnostic-evolution-dashboard.md +405 -0
- package/backend/__init__.py +0 -0
- package/backend/collectors/__init__.py +0 -0
- package/backend/collectors/claude_code_collector.py +277 -0
- package/backend/collectors/hermes_collector.py +68 -0
- package/backend/curator.py +512 -0
- package/backend/eval/__init__.py +19 -0
- package/backend/eval/engine.py +116 -0
- package/backend/eval/scorers.py +201 -0
- package/backend/generate_dataset.py +86 -0
- package/backend/job_tracker.py +232 -0
- package/backend/main.py +1746 -0
- package/backend/mcp_server.py +250 -0
- package/backend/promethean/__init__.py +24 -0
- package/backend/promethean/cycle_orchestrator.py +270 -0
- package/backend/promethean/delta_validator.py +191 -0
- package/backend/promethean/dspy_compiler.py +315 -0
- package/backend/promethean/gepa_strategist.py +213 -0
- package/backend/promethean/models.py +260 -0
- package/backend/promethean/skill_deployer.py +195 -0
- package/backend/promethean/trace_ingestion.py +142 -0
- package/backend/requirements.txt +6 -0
- package/backend/sdd_evolve.py +459 -0
- package/backend/skill_detector.py +227 -0
- package/backend/skill_registry.py +289 -0
- package/backend/storage/__init__.py +5 -0
- package/backend/storage/run_store.py +393 -0
- package/backend/storage/schema.sql +99 -0
- package/backend/validate_evolution.py +267 -0
- package/bin/genoma.js +250 -0
- package/components.json +28 -0
- package/docs/api/hermes-api.openapi.yaml +438 -0
- package/docs/hero.svg +148 -0
- package/eslint.config.mjs +18 -0
- package/install.sh +245 -0
- package/next-env.d.ts +6 -0
- package/next.config.ts +32 -0
- package/package.json +46 -0
- package/pnpm-workspace.yaml +4 -0
- package/postcss.config.mjs +7 -0
- package/public/file.svg +1 -0
- package/public/fonts/SF-Pro-Display-Bold.otf +0 -0
- package/public/fonts/SF-Pro-Display-Heavy.otf +0 -0
- package/public/fonts/SF-Pro-Display-Medium.otf +0 -0
- package/public/fonts/SF-Pro-Display-Regular.otf +0 -0
- package/public/fonts/SF-Pro-Display-Semibold.otf +0 -0
- package/public/fonts/SF-Pro-Text-Bold.otf +0 -0
- package/public/fonts/SF-Pro-Text-Heavy.otf +0 -0
- package/public/fonts/SF-Pro-Text-Medium.otf +0 -0
- package/public/fonts/SF-Pro-Text-Regular.otf +0 -0
- package/public/fonts/SF-Pro-Text-Semibold.otf +0 -0
- package/public/globe.svg +1 -0
- package/public/next.svg +1 -0
- package/public/theme-preview.html +257 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
- package/run.sh +26 -0
- package/scripts/postinstall.js +50 -0
- package/skills-lock.json +10 -0
- package/specs/event-schema.md +223 -0
- package/specs/examples/run.jsonl +3 -0
- package/src/app/api/[...path]/route.ts +55 -0
- package/src/app/api/auth/token/route.ts +22 -0
- package/src/app/evolution/page.tsx +589 -0
- package/src/app/favicon.ico +0 -0
- package/src/app/globals.css +321 -0
- package/src/app/layout.tsx +63 -0
- package/src/app/page.tsx +70 -0
- package/src/app/skills/page.tsx +369 -0
- package/src/components/ApiConfigCard.tsx +199 -0
- package/src/components/ColorBends.css +1 -0
- package/src/components/ColorBends.d.ts +1 -0
- package/src/components/ColorBends.jsx +1 -0
- package/src/components/CoreLoopToggle.tsx +111 -0
- package/src/components/EnvironmentStatus.tsx +176 -0
- package/src/components/EvolutionBackground.tsx +1 -0
- package/src/components/ReactQueryProvider.tsx +24 -0
- package/src/components/Sidebar.tsx +247 -0
- package/src/components/SkillDiffViewer.tsx +154 -0
- package/src/components/ThemeAwareBackground.tsx +67 -0
- package/src/components/ThemeToggle.tsx +54 -0
- package/src/components/WelcomeHero.tsx +77 -0
- package/src/components/bits/ClickSpark.tsx +116 -0
- package/src/components/bits/CountUp.tsx +98 -0
- package/src/components/bits/DarkSelect.tsx +95 -0
- package/src/components/bits/DecryptedText.tsx +161 -0
- package/src/components/bits/ElectricBorder.tsx +184 -0
- package/src/components/bits/GlitchText.tsx +34 -0
- package/src/components/bits/ShinyText.tsx +55 -0
- package/src/components/bits/SpotlightCard.tsx +42 -0
- package/src/components/bits/TextType.tsx +95 -0
- package/src/components/bits/index.ts +9 -0
- package/src/components/pages/CuratorPage.tsx +632 -0
- package/src/components/pages/DatasetPage.tsx +271 -0
- package/src/components/pages/EvolutionPage.tsx +676 -0
- package/src/components/pages/FunctionCallingPage.tsx +1 -0
- package/src/components/pages/LogsPage.tsx +272 -0
- package/src/components/pages/MetricsPage.tsx +246 -0
- package/src/components/pages/OverviewPage.tsx +420 -0
- package/src/components/pages/SettingsPage.tsx +88 -0
- package/src/components/pages/SkillStudioPage.tsx +376 -0
- package/src/components/ui/animated-theme-toggler.tsx +97 -0
- package/src/components/ui/button.tsx +67 -0
- package/src/components/ui/card.tsx +103 -0
- package/src/components/ui/input.tsx +19 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/sheet.tsx +147 -0
- package/src/components/ui/sidebar.tsx +702 -0
- package/src/components/ui/skeleton.tsx +13 -0
- package/src/components/ui/theme-toggle.tsx +272 -0
- package/src/components/ui/tooltip.tsx +57 -0
- package/src/hooks/use-mobile.ts +19 -0
- package/src/lib/api.ts +455 -0
- package/src/lib/queryClient.ts +12 -0
- package/src/lib/utils.ts +6 -0
- package/stitch/agent_dashboard/DESIGN_SPEC.md +521 -0
- package/stitch/agent_dashboard/prototype.html +676 -0
- package/stitch/curator_workspace/code.html +448 -0
- package/stitch/curator_workspace/screen.png +0 -0
- package/stitch/datasets/code.html +479 -0
- package/stitch/datasets/screen.png +0 -0
- package/stitch/evolution_history/code.html +461 -0
- package/stitch/evolution_history/screen.png +0 -0
- package/stitch/hermes_dashboard/DESIGN.md +192 -0
- package/stitch/hermes_dashboard/DESIGN_SPEC.md +455 -0
- package/stitch/hermes_overview/code.html +399 -0
- package/stitch/hermes_overview/screen.png +0 -0
- package/stitch/live_logs/code.html +324 -0
- package/stitch/live_logs/screen.png +0 -0
- package/stitch/skill_hub/code.html +596 -0
- package/stitch/skill_hub/screen.png +0 -0
- package/stitch/system_metrics/code.html +527 -0
- package/stitch/system_metrics/screen.png +0 -0
- package/stitch/system_settings/code.html +257 -0
- package/stitch/system_settings/screen.png +0 -0
- package/test_dashboard.py +201 -0
- package/tests/collectors/__init__.py +0 -0
- package/tests/collectors/fixtures/sample_session.jsonl +7 -0
- package/tests/collectors/test_claude_code_collector.py +171 -0
- package/tests/collectors/test_hermes_collector.py +167 -0
- package/tests/eval/test_engine.py +234 -0
- package/tests/eval/test_scorers.py +249 -0
- package/tests/storage/__init__.py +0 -0
- package/tests/storage/test_run_store.py +359 -0
- package/tests/test_curator.py +559 -0
- package/tests/test_e2e_npm.py +621 -0
- package/tests/test_mcp_server.py +114 -0
- package/tsconfig.json +34 -0
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
|
|
3
|
+
<html lang="en"><head>
|
|
4
|
+
<meta charset="utf-8"/>
|
|
5
|
+
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
|
6
|
+
<title>Hermes Control - Overview</title>
|
|
7
|
+
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
|
|
8
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;900&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"/>
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/>
|
|
11
|
+
<script id="tailwind-config">
|
|
12
|
+
tailwind.config = {
|
|
13
|
+
darkMode: "class",
|
|
14
|
+
theme: {
|
|
15
|
+
extend: {
|
|
16
|
+
"colors": {
|
|
17
|
+
"error-container": "#ffdad6",
|
|
18
|
+
"on-primary": "#ffffff",
|
|
19
|
+
"secondary-fixed-dim": "#ffb59b",
|
|
20
|
+
"secondary-container": "#fe753f",
|
|
21
|
+
"on-background": "#1a1c1e",
|
|
22
|
+
"tertiary-fixed-dim": "#c8c6c5",
|
|
23
|
+
"secondary-fixed": "#ffdbcf",
|
|
24
|
+
"primary-container": "#002444",
|
|
25
|
+
"surface-container-lowest": "#ffffff",
|
|
26
|
+
"inverse-on-surface": "#f1f0f3",
|
|
27
|
+
"background": "#faf9fc",
|
|
28
|
+
"inverse-surface": "#2f3033",
|
|
29
|
+
"surface-container-highest": "#e3e2e5",
|
|
30
|
+
"error": "#ba1a1a",
|
|
31
|
+
"surface-container-high": "#e9e8eb",
|
|
32
|
+
"on-tertiary-fixed": "#1b1c1b",
|
|
33
|
+
"on-error-container": "#93000a",
|
|
34
|
+
"on-tertiary": "#ffffff",
|
|
35
|
+
"surface-dim": "#dad9dd",
|
|
36
|
+
"secondary": "#a93800",
|
|
37
|
+
"primary-fixed": "#d2e4ff",
|
|
38
|
+
"surface": "#faf9fc",
|
|
39
|
+
"on-secondary-container": "#631d00",
|
|
40
|
+
"on-primary-fixed-variant": "#2c486a",
|
|
41
|
+
"surface-container-low": "#f4f3f6",
|
|
42
|
+
"on-secondary-fixed": "#380d00",
|
|
43
|
+
"tertiary": "#0d0d0d",
|
|
44
|
+
"primary-fixed-dim": "#acc9f1",
|
|
45
|
+
"on-secondary-fixed-variant": "#812900",
|
|
46
|
+
"inverse-primary": "#acc9f1",
|
|
47
|
+
"surface-container": "#eeedf1",
|
|
48
|
+
"tertiary-container": "#232323",
|
|
49
|
+
"surface-tint": "#446083",
|
|
50
|
+
"on-secondary": "#ffffff",
|
|
51
|
+
"surface-bright": "#faf9fc",
|
|
52
|
+
"on-tertiary-container": "#8b8a89",
|
|
53
|
+
"tertiary-fixed": "#e4e2e1",
|
|
54
|
+
"outline": "#73777f",
|
|
55
|
+
"on-error": "#ffffff",
|
|
56
|
+
"on-surface-variant": "#43474e",
|
|
57
|
+
"outline-variant": "#c3c6cf",
|
|
58
|
+
"primary": "#000e20",
|
|
59
|
+
"on-surface": "#1a1c1e",
|
|
60
|
+
"on-primary-container": "#708cb2",
|
|
61
|
+
"on-tertiary-fixed-variant": "#474746",
|
|
62
|
+
"surface-variant": "#e3e2e5",
|
|
63
|
+
"on-primary-fixed": "#001c37"
|
|
64
|
+
},
|
|
65
|
+
"borderRadius": {
|
|
66
|
+
"DEFAULT": "0.125rem",
|
|
67
|
+
"lg": "0.25rem",
|
|
68
|
+
"xl": "0.5rem",
|
|
69
|
+
"full": "0.75rem"
|
|
70
|
+
},
|
|
71
|
+
"spacing": {
|
|
72
|
+
"component-gap": "8px",
|
|
73
|
+
"gutter": "16px",
|
|
74
|
+
"unit": "8px",
|
|
75
|
+
"container-padding": "24px",
|
|
76
|
+
"max-width": "1440px",
|
|
77
|
+
"stack-tight": "4px"
|
|
78
|
+
},
|
|
79
|
+
"fontFamily": {
|
|
80
|
+
"headline-md": ["Inter"],
|
|
81
|
+
"body-lg": ["Inter"],
|
|
82
|
+
"mono-label": ["JetBrains Mono"],
|
|
83
|
+
"label-caps": ["Inter"],
|
|
84
|
+
"headline-lg": ["Inter"],
|
|
85
|
+
"body-sm": ["Inter"],
|
|
86
|
+
"body-md": ["Inter"],
|
|
87
|
+
"mono-data": ["JetBrains Mono"],
|
|
88
|
+
"headline-sm": ["Inter"]
|
|
89
|
+
},
|
|
90
|
+
"fontSize": {
|
|
91
|
+
"headline-md": ["24px", { "lineHeight": "32px", "letterSpacing": "-0.01em", "fontWeight": "600" }],
|
|
92
|
+
"body-lg": ["16px", { "lineHeight": "24px", "fontWeight": "400" }],
|
|
93
|
+
"mono-label": ["13px", { "lineHeight": "16px", "letterSpacing": "0.02em", "fontWeight": "500" }],
|
|
94
|
+
"label-caps": ["11px", { "lineHeight": "16px", "letterSpacing": "0.05em", "fontWeight": "700" }],
|
|
95
|
+
"headline-lg": ["32px", { "lineHeight": "40px", "letterSpacing": "-0.02em", "fontWeight": "600" }],
|
|
96
|
+
"body-sm": ["12px", { "lineHeight": "16px", "fontWeight": "400" }],
|
|
97
|
+
"body-md": ["14px", { "lineHeight": "20px", "fontWeight": "400" }],
|
|
98
|
+
"mono-data": ["12px", { "lineHeight": "18px", "fontWeight": "400" }],
|
|
99
|
+
"headline-sm": ["20px", { "lineHeight": "28px", "fontWeight": "600" }]
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
</script>
|
|
105
|
+
<style>
|
|
106
|
+
.shimmer {
|
|
107
|
+
background: linear-gradient(90deg, theme('colors.surface-container-high') 0%, theme('colors.surface-container-highest') 50%, theme('colors.surface-container-high') 100%);
|
|
108
|
+
background-size: 200% 100%;
|
|
109
|
+
animation: shimmer 1.5s infinite linear;
|
|
110
|
+
}
|
|
111
|
+
@keyframes shimmer {
|
|
112
|
+
0% { background-position: -200% 0; }
|
|
113
|
+
100% { background-position: 200% 0; }
|
|
114
|
+
}
|
|
115
|
+
</style>
|
|
116
|
+
</head>
|
|
117
|
+
<body class="bg-surface text-on-surface flex h-screen overflow-hidden antialiased">
|
|
118
|
+
<!-- SideNavBar -->
|
|
119
|
+
<nav class="bg-surface-container-low dark:bg-primary-container font-label-caps text-label-caps tracking-widest text-on-surface-variant dark:text-on-primary-container docked left-0 w-64 h-screen border-r border-outline-variant/30 dark:border-outline/20 flat no shadows flex flex-col py-container-padding gap-component-gap hidden md:flex shrink-0">
|
|
120
|
+
<div class="px-container-padding mb-8">
|
|
121
|
+
<div class="flex items-center gap-3 mb-6">
|
|
122
|
+
<div class="w-8 h-8 rounded bg-primary-container text-on-primary flex items-center justify-center">
|
|
123
|
+
<span class="material-symbols-outlined" style="font-variation-settings: 'FILL' 1;">terminal</span>
|
|
124
|
+
</div>
|
|
125
|
+
<div>
|
|
126
|
+
<h1 class="font-headline-sm text-headline-sm font-black text-primary dark:text-primary-fixed-dim tracking-tighter">Hermes Control</h1>
|
|
127
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant block">v4.2.0-Alpha</span>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
<button class="w-full bg-primary-container text-on-primary h-10 rounded font-label-caps text-label-caps flex items-center justify-center gap-2 hover:opacity-90 transition-opacity">
|
|
131
|
+
<span class="material-symbols-outlined text-[18px]">add</span>
|
|
132
|
+
New Experiment
|
|
133
|
+
</button>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="flex-1 overflow-y-auto px-unit flex flex-col gap-unit">
|
|
136
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-primary dark:text-on-primary border-r-4 border-secondary dark:border-secondary-fixed bg-surface-container-highest dark:bg-primary-fixed-dim/10 hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
137
|
+
<span class="material-symbols-outlined text-[20px]">dashboard</span>
|
|
138
|
+
<span>Overview</span>
|
|
139
|
+
</a>
|
|
140
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-on-surface-variant dark:text-on-tertiary-fixed-variant hover:text-primary dark:hover:text-primary-fixed hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
141
|
+
<span class="material-symbols-outlined text-[20px]">extension</span>
|
|
142
|
+
<span>Skill Hub</span>
|
|
143
|
+
</a>
|
|
144
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-on-surface-variant dark:text-on-tertiary-fixed-variant hover:text-primary dark:hover:text-primary-fixed hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
145
|
+
<span class="material-symbols-outlined text-[20px]">auto_awesome</span>
|
|
146
|
+
<span>Evolution</span>
|
|
147
|
+
</a>
|
|
148
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-on-surface-variant dark:text-on-tertiary-fixed-variant hover:text-primary dark:hover:text-primary-fixed hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
149
|
+
<span class="material-symbols-outlined text-[20px]">database</span>
|
|
150
|
+
<span>Datasets</span>
|
|
151
|
+
</a>
|
|
152
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-on-surface-variant dark:text-on-tertiary-fixed-variant hover:text-primary dark:hover:text-primary-fixed hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
153
|
+
<span class="material-symbols-outlined text-[20px]">monitoring</span>
|
|
154
|
+
<span>Metrics</span>
|
|
155
|
+
</a>
|
|
156
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-on-surface-variant dark:text-on-tertiary-fixed-variant hover:text-primary dark:hover:text-primary-fixed hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
157
|
+
<span class="material-symbols-outlined text-[20px]">terminal</span>
|
|
158
|
+
<span>Live Logs</span>
|
|
159
|
+
</a>
|
|
160
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-on-surface-variant dark:text-on-tertiary-fixed-variant hover:text-primary dark:hover:text-primary-fixed hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
161
|
+
<span class="material-symbols-outlined text-[20px]">inventory_2</span>
|
|
162
|
+
<span>Curator</span>
|
|
163
|
+
</a>
|
|
164
|
+
<a class="flex items-center gap-3 px-3 py-2 rounded text-on-surface-variant dark:text-on-tertiary-fixed-variant hover:text-primary dark:hover:text-primary-fixed hover:bg-surface-container dark:hover:bg-tertiary-container transition-all" href="#">
|
|
165
|
+
<span class="material-symbols-outlined text-[20px]">settings</span>
|
|
166
|
+
<span>Settings</span>
|
|
167
|
+
</a>
|
|
168
|
+
</div>
|
|
169
|
+
</nav>
|
|
170
|
+
<!-- Main Content Area -->
|
|
171
|
+
<div class="flex-1 flex flex-col h-screen overflow-hidden bg-background">
|
|
172
|
+
<!-- TopAppBar (Mobile & Global Header context) -->
|
|
173
|
+
<header class="bg-surface dark:bg-on-background font-headline-sm text-headline-sm text-on-surface dark:text-on-background docked full-width top-0 border-b border-outline-variant/30 dark:border-outline/20 flat no shadows flex justify-between items-center w-full px-gutter h-16 z-50 shrink-0 md:hidden">
|
|
174
|
+
<div class="font-headline-sm text-headline-sm font-bold tracking-tighter text-primary dark:text-primary-fixed">Hermes</div>
|
|
175
|
+
<div class="flex items-center gap-4">
|
|
176
|
+
<div class="flex items-center gap-2 text-on-surface-variant">
|
|
177
|
+
<span class="material-symbols-outlined">sync</span>
|
|
178
|
+
<span class="font-label-caps text-label-caps">Syncing</span>
|
|
179
|
+
</div>
|
|
180
|
+
<button class="text-on-surface-variant hover:bg-surface-container-high dark:hover:bg-tertiary-container transition-colors p-2 rounded-full">
|
|
181
|
+
<span class="material-symbols-outlined">notifications</span>
|
|
182
|
+
</button>
|
|
183
|
+
<div class="w-8 h-8 rounded-full bg-surface-container-high overflow-hidden">
|
|
184
|
+
<img alt="User Profile Avatar" class="w-full h-full object-cover" src="https://lh3.googleusercontent.com/aida-public/AB6AXuClWDxOVDsSM42kMQTLYUY3HLOIQzU5P_RfKqh5JDdjuw0WD-ztAGoqspEfOKxZ0Rk9UvOLeldLhbd9ZfAxj0m5Gs8akL0d7alcKSYsSUIb0pAZOJEHki4HM6qzl-ZH6_gFAs_GPx3MwPW8LuQks4OReJhH-XZwftaDQQIBd0bnEkKxm58aJVxZzJUwp5FNIF9S9iDuF06tXU14MWiBq15DELM4cVFhJL6A1r7ldC-MAyDVAKAAYsDwNrASB7u9ykOiSj2_KuOb8fhW"/>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
</header>
|
|
188
|
+
<!-- Canvas -->
|
|
189
|
+
<main class="flex-1 overflow-y-auto p-gutter md:p-container-padding">
|
|
190
|
+
<div class="max-w-[1440px] mx-auto">
|
|
191
|
+
<header class="mb-8 flex justify-between items-end">
|
|
192
|
+
<div>
|
|
193
|
+
<h2 class="font-headline-lg text-headline-lg text-on-surface">Command Center</h2>
|
|
194
|
+
<p class="font-body-md text-body-md text-on-surface-variant mt-2">Executive summary of the Hermes system performance and active tasks.</p>
|
|
195
|
+
</div>
|
|
196
|
+
<div class="hidden md:flex items-center gap-4">
|
|
197
|
+
<div class="flex items-center gap-2 px-3 py-1.5 rounded-full border border-outline-variant/30 bg-surface">
|
|
198
|
+
<span class="w-2 h-2 rounded-full bg-[#10b981]"></span>
|
|
199
|
+
<span class="font-mono-label text-mono-label text-on-surface-variant">Sys: Online</span>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
</header>
|
|
203
|
+
<!-- Metric Cards Bento Grid -->
|
|
204
|
+
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-gutter mb-gutter">
|
|
205
|
+
<div class="col-span-2 md:col-span-1 lg:col-span-2 bg-surface border border-primary-container/10 rounded p-gutter flex flex-col justify-between">
|
|
206
|
+
<div class="flex justify-between items-start mb-4">
|
|
207
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant">System Health</span>
|
|
208
|
+
<span class="material-symbols-outlined text-[18px] text-[#10b981]">check_circle</span>
|
|
209
|
+
</div>
|
|
210
|
+
<div>
|
|
211
|
+
<div class="font-mono-data text-[32px] leading-tight text-primary">99.8%</div>
|
|
212
|
+
<div class="w-full h-1 bg-surface-container mt-3 rounded-full overflow-hidden">
|
|
213
|
+
<div class="h-full bg-[#10b981] w-[99.8%]"></div>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
<div class="bg-surface border border-primary-container/10 rounded p-gutter flex flex-col justify-between">
|
|
218
|
+
<div class="flex justify-between items-start mb-4">
|
|
219
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant">Active Skills</span>
|
|
220
|
+
<span class="material-symbols-outlined text-[18px] text-primary-container">extension</span>
|
|
221
|
+
</div>
|
|
222
|
+
<div class="font-mono-data text-[24px] leading-tight text-primary">42</div>
|
|
223
|
+
</div>
|
|
224
|
+
<div class="bg-surface border border-primary-container/10 rounded p-gutter flex flex-col justify-between">
|
|
225
|
+
<div class="flex justify-between items-start mb-4">
|
|
226
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant">Recent Imprv.</span>
|
|
227
|
+
<span class="material-symbols-outlined text-[18px] text-primary-container">trending_up</span>
|
|
228
|
+
</div>
|
|
229
|
+
<div class="font-mono-data text-[24px] leading-tight text-primary">12 <span class="text-body-sm text-on-surface-variant ml-1 font-body-sm">today</span></div>
|
|
230
|
+
</div>
|
|
231
|
+
<div class="bg-surface border border-secondary/20 rounded p-gutter flex flex-col justify-between relative overflow-hidden">
|
|
232
|
+
<div class="absolute top-0 right-0 w-16 h-16 bg-error-container/30 rounded-bl-full -mr-8 -mt-8"></div>
|
|
233
|
+
<div class="flex justify-between items-start mb-4 relative z-10">
|
|
234
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant">Failed Runs</span>
|
|
235
|
+
<span class="material-symbols-outlined text-[18px] text-secondary">warning</span>
|
|
236
|
+
</div>
|
|
237
|
+
<div class="font-mono-data text-[24px] leading-tight text-secondary relative z-10">2</div>
|
|
238
|
+
</div>
|
|
239
|
+
<div class="bg-surface border border-primary-container/10 rounded p-gutter flex flex-col justify-between">
|
|
240
|
+
<div class="flex justify-between items-start mb-4">
|
|
241
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant">Pending Reviews</span>
|
|
242
|
+
<span class="material-symbols-outlined text-[18px] text-primary-container">rate_review</span>
|
|
243
|
+
</div>
|
|
244
|
+
<div class="font-mono-data text-[24px] leading-tight text-primary">5</div>
|
|
245
|
+
</div>
|
|
246
|
+
<div class="col-span-2 md:col-span-3 lg:col-span-2 bg-surface border border-primary-container/10 rounded p-gutter flex flex-col justify-between">
|
|
247
|
+
<div class="flex justify-between items-start mb-4">
|
|
248
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant">Dataset Freshness</span>
|
|
249
|
+
<span class="material-symbols-outlined text-[18px] text-primary-container">update</span>
|
|
250
|
+
</div>
|
|
251
|
+
<div>
|
|
252
|
+
<div class="font-mono-data text-[24px] leading-tight text-primary">5m ago</div>
|
|
253
|
+
<span class="font-body-sm text-body-sm text-on-surface-variant mt-1 block">Last full sync completed</span>
|
|
254
|
+
</div>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
<!-- Secondary Grid -->
|
|
258
|
+
<div class="grid grid-cols-1 lg:grid-cols-3 gap-gutter">
|
|
259
|
+
<!-- Activity Summary -->
|
|
260
|
+
<div class="lg:col-span-2 bg-surface border border-primary-container/10 rounded flex flex-col">
|
|
261
|
+
<div class="p-gutter border-b border-outline-variant/30 flex justify-between items-center">
|
|
262
|
+
<h3 class="font-headline-sm text-headline-sm text-on-surface">Activity Log</h3>
|
|
263
|
+
<button class="font-label-caps text-label-caps text-primary hover:underline">View All</button>
|
|
264
|
+
</div>
|
|
265
|
+
<div class="p-0">
|
|
266
|
+
<table class="w-full text-left border-collapse">
|
|
267
|
+
<thead>
|
|
268
|
+
<tr class="border-b border-outline-variant/30 bg-surface-container-lowest">
|
|
269
|
+
<th class="font-label-caps text-label-caps text-on-surface-variant py-2 px-gutter font-medium w-32">Timestamp</th>
|
|
270
|
+
<th class="font-label-caps text-label-caps text-on-surface-variant py-2 px-gutter font-medium">Event</th>
|
|
271
|
+
<th class="font-label-caps text-label-caps text-on-surface-variant py-2 px-gutter font-medium w-24">Status</th>
|
|
272
|
+
</tr>
|
|
273
|
+
</thead>
|
|
274
|
+
<tbody>
|
|
275
|
+
<tr class="border-b border-outline-variant/10 hover:bg-surface-container-lowest transition-colors">
|
|
276
|
+
<td class="py-3 px-gutter font-mono-data text-mono-data text-on-surface-variant">10:42:01</td>
|
|
277
|
+
<td class="py-3 px-gutter font-body-sm text-body-sm text-on-surface">Skill 'DataParse_v2' successfully deployed.</td>
|
|
278
|
+
<td class="py-3 px-gutter">
|
|
279
|
+
<div class="flex items-center gap-1.5 text-[#10b981]">
|
|
280
|
+
<span class="material-symbols-outlined text-[14px]">check_circle</span>
|
|
281
|
+
<span class="font-mono-label text-[10px]">OK</span>
|
|
282
|
+
</div>
|
|
283
|
+
</td>
|
|
284
|
+
</tr>
|
|
285
|
+
<tr class="border-b border-outline-variant/10 hover:bg-surface-container-lowest transition-colors">
|
|
286
|
+
<td class="py-3 px-gutter font-mono-data text-mono-data text-on-surface-variant">10:35:15</td>
|
|
287
|
+
<td class="py-3 px-gutter font-body-sm text-body-sm text-on-surface">Dataset 'Customer_Q3' ingestion started.</td>
|
|
288
|
+
<td class="py-3 px-gutter">
|
|
289
|
+
<div class="flex items-center gap-1.5 text-primary-container">
|
|
290
|
+
<span class="material-symbols-outlined text-[14px]">sync</span>
|
|
291
|
+
<span class="font-mono-label text-[10px]">SYNC</span>
|
|
292
|
+
</div>
|
|
293
|
+
</td>
|
|
294
|
+
</tr>
|
|
295
|
+
<tr class="border-b border-outline-variant/10 hover:bg-surface-container-lowest transition-colors bg-error-container/10">
|
|
296
|
+
<td class="py-3 px-gutter font-mono-data text-mono-data text-on-surface-variant">10:12:59</td>
|
|
297
|
+
<td class="py-3 px-gutter font-body-sm text-body-sm text-on-surface">Evolution run #4092 terminated unexpectedly.</td>
|
|
298
|
+
<td class="py-3 px-gutter">
|
|
299
|
+
<div class="flex items-center gap-1.5 text-secondary">
|
|
300
|
+
<span class="material-symbols-outlined text-[14px]">error</span>
|
|
301
|
+
<span class="font-mono-label text-[10px]">FAIL</span>
|
|
302
|
+
</div>
|
|
303
|
+
</td>
|
|
304
|
+
</tr>
|
|
305
|
+
<tr class="hover:bg-surface-container-lowest transition-colors">
|
|
306
|
+
<td class="py-3 px-gutter font-mono-data text-mono-data text-on-surface-variant">09:55:00</td>
|
|
307
|
+
<td class="py-3 px-gutter font-body-sm text-body-sm text-on-surface">Scheduled backup completed.</td>
|
|
308
|
+
<td class="py-3 px-gutter">
|
|
309
|
+
<div class="flex items-center gap-1.5 text-[#10b981]">
|
|
310
|
+
<span class="material-symbols-outlined text-[14px]">check_circle</span>
|
|
311
|
+
<span class="font-mono-label text-[10px]">OK</span>
|
|
312
|
+
</div>
|
|
313
|
+
</td>
|
|
314
|
+
</tr>
|
|
315
|
+
</tbody>
|
|
316
|
+
</table>
|
|
317
|
+
</div>
|
|
318
|
+
</div>
|
|
319
|
+
<!-- System Pulse Area -->
|
|
320
|
+
<div class="bg-primary-container text-on-primary rounded p-gutter flex flex-col relative overflow-hidden">
|
|
321
|
+
<div class="absolute inset-0 opacity-10" style="background-image: radial-gradient(circle at 100% 0%, theme('colors.primary-fixed') 0%, transparent 50%);"></div>
|
|
322
|
+
<h3 class="font-headline-sm text-headline-sm mb-6 relative z-10">System Pulse</h3>
|
|
323
|
+
<div class="flex-1 flex flex-col gap-6 relative z-10">
|
|
324
|
+
<div>
|
|
325
|
+
<span class="font-label-caps text-label-caps text-on-primary-container block mb-1">Model Version</span>
|
|
326
|
+
<div class="font-mono-data text-body-lg text-primary-fixed">Hermes-Core-4.2</div>
|
|
327
|
+
</div>
|
|
328
|
+
<div>
|
|
329
|
+
<span class="font-label-caps text-label-caps text-on-primary-container block mb-1">Uptime</span>
|
|
330
|
+
<div class="font-mono-data text-body-lg text-primary-fixed">45d 12h 30m</div>
|
|
331
|
+
</div>
|
|
332
|
+
<div>
|
|
333
|
+
<span class="font-label-caps text-label-caps text-on-primary-container block mb-1">Compute Load</span>
|
|
334
|
+
<div class="w-full h-2 bg-primary mt-2 rounded-full overflow-hidden">
|
|
335
|
+
<div class="h-full bg-secondary w-[65%]"></div>
|
|
336
|
+
</div>
|
|
337
|
+
<div class="flex justify-between mt-1">
|
|
338
|
+
<span class="font-mono-data text-[10px] text-on-primary-container">0%</span>
|
|
339
|
+
<span class="font-mono-data text-[10px] text-on-primary-container">65%</span>
|
|
340
|
+
<span class="font-mono-data text-[10px] text-on-primary-container">100%</span>
|
|
341
|
+
</div>
|
|
342
|
+
</div>
|
|
343
|
+
</div>
|
|
344
|
+
<div class="mt-6 pt-4 border-t border-on-primary-container/20 relative z-10 flex justify-between items-center">
|
|
345
|
+
<span class="font-body-sm text-body-sm text-on-primary-container">All systems nominal</span>
|
|
346
|
+
<span class="w-2 h-2 rounded-full bg-[#10b981] animate-pulse"></span>
|
|
347
|
+
</div>
|
|
348
|
+
</div>
|
|
349
|
+
</div>
|
|
350
|
+
<!-- Skeletons Section (Demonstrating Loading States) -->
|
|
351
|
+
<div class="mt-12">
|
|
352
|
+
<h3 class="font-headline-sm text-headline-sm text-on-surface mb-4">Upcoming Modules (Loading)</h3>
|
|
353
|
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-gutter">
|
|
354
|
+
<!-- Chart Skeleton -->
|
|
355
|
+
<div class="bg-surface border border-outline-variant/20 rounded p-gutter">
|
|
356
|
+
<div class="flex justify-between items-center mb-6">
|
|
357
|
+
<div class="w-32 h-4 rounded shimmer"></div>
|
|
358
|
+
<div class="w-8 h-4 rounded shimmer"></div>
|
|
359
|
+
</div>
|
|
360
|
+
<div class="h-40 flex items-end gap-2 px-2">
|
|
361
|
+
<div class="w-full bg-surface-container rounded-t h-[40%] shimmer"></div>
|
|
362
|
+
<div class="w-full bg-surface-container rounded-t h-[60%] shimmer" style="animation-delay: 0.1s"></div>
|
|
363
|
+
<div class="w-full bg-surface-container rounded-t h-[30%] shimmer" style="animation-delay: 0.2s"></div>
|
|
364
|
+
<div class="w-full bg-surface-container rounded-t h-[80%] shimmer" style="animation-delay: 0.3s"></div>
|
|
365
|
+
<div class="w-full bg-surface-container rounded-t h-[50%] shimmer" style="animation-delay: 0.4s"></div>
|
|
366
|
+
<div class="w-full bg-surface-container rounded-t h-[90%] shimmer" style="animation-delay: 0.5s"></div>
|
|
367
|
+
</div>
|
|
368
|
+
</div>
|
|
369
|
+
<!-- List Skeleton -->
|
|
370
|
+
<div class="bg-surface border border-outline-variant/20 rounded p-gutter flex flex-col gap-4">
|
|
371
|
+
<div class="w-48 h-4 rounded shimmer mb-2"></div>
|
|
372
|
+
<div class="flex gap-4 items-center">
|
|
373
|
+
<div class="w-10 h-10 rounded-full shimmer shrink-0"></div>
|
|
374
|
+
<div class="flex-1 space-y-2">
|
|
375
|
+
<div class="w-3/4 h-3 rounded shimmer"></div>
|
|
376
|
+
<div class="w-1/2 h-3 rounded shimmer"></div>
|
|
377
|
+
</div>
|
|
378
|
+
</div>
|
|
379
|
+
<div class="flex gap-4 items-center">
|
|
380
|
+
<div class="w-10 h-10 rounded-full shimmer shrink-0"></div>
|
|
381
|
+
<div class="flex-1 space-y-2">
|
|
382
|
+
<div class="w-2/3 h-3 rounded shimmer" style="animation-delay: 0.2s"></div>
|
|
383
|
+
<div class="w-1/3 h-3 rounded shimmer" style="animation-delay: 0.2s"></div>
|
|
384
|
+
</div>
|
|
385
|
+
</div>
|
|
386
|
+
<div class="flex gap-4 items-center">
|
|
387
|
+
<div class="w-10 h-10 rounded-full shimmer shrink-0"></div>
|
|
388
|
+
<div class="flex-1 space-y-2">
|
|
389
|
+
<div class="w-4/5 h-3 rounded shimmer" style="animation-delay: 0.4s"></div>
|
|
390
|
+
<div class="w-1/4 h-3 rounded shimmer" style="animation-delay: 0.4s"></div>
|
|
391
|
+
</div>
|
|
392
|
+
</div>
|
|
393
|
+
</div>
|
|
394
|
+
</div>
|
|
395
|
+
</div>
|
|
396
|
+
</div>
|
|
397
|
+
</main>
|
|
398
|
+
</div>
|
|
399
|
+
</body></html>
|
|
Binary file
|