8 Commits

Author SHA1 Message Date
Nico
409d873aa0 Toolbar is now view-provided via useToolbar composable
Each view declares its toolbar groups and connection via provideToolbar().
AppToolbar injects and renders only what the active view needs.

- AgentsView: quad-view + themes + panels + chat connection
- TestsView: themes + test SSE connection (replaces raw EventSource)
- ViewerView: themes only
- Home/Login: no provide → toolbar hidden

useConnection() manages any SSE endpoint: connect, reconnect, state.
Tenant feature gating follows naturally — routes that don't exist
contribute no toolbar config.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 22:52:28 +02:00
Nico
4abbe86963 Group toolbar items into visual pill containers
Four groups: connection, quad view, themes, panel config.
Each group shares one background pill. Bigger icons (w-6 h-6),
36px hit area with minimal padding.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 22:39:44 +02:00
Nico
8996e553e1 Port artifact renderers from cog frontend into Display/Konsole panes
- Rename DashboardPane → DisplayPane, ArtifactsPane → KonsolePane
- Remove WorkspacePane (superseded by ContentLayout)
- DisplayPane: renders data_table, entity_detail, document_page artifacts
- KonsolePane: renders machine, action_bar, status artifacts
- chat store: add artifacts ref, displayArtifacts/konsoleArtifacts computed,
  setArtifacts(), clearArtifacts(), sendAction()
- useAgentSocket: wire artifacts event → chatStore.setArtifacts()
- AppToolbar: update labels to Chat/Display/Files/Konsole

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:44:02 +02:00
Nico
60029f1863 Add ContentLayout with auto-direction + Dashboard/Files/Artifacts panes
- ContentLayout: ResizeObserver-based row/col direction (flips at 1.5× aspect ratio),
  flex weights 40/40/10 for chat/dashboard/thin, files+artifacts share thin slot
- DashboardPane: placeholder page (agent artifacts will render here)
- FilesPane / ArtifactsPane: dummy panels with vertical/horizontal orientation toggle
- usePanels: replace 'workspace' PaneId with 'dashboard' | 'files' | 'artifacts'
- AgentsView: wire ContentLayout, remove WorkspacePane, clean up pane-layout styles
- AppToolbar: replace workspace toggle with dashboard/files/artifacts buttons

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:00:49 +02:00
Nico
4607a73d67 Refactor: naming, type safety, consistency across panel system
- AppToolbar: rename togglePanel→toggleDropdown to avoid collision with
  debug panel toggle from usePanels
- ChatPane: computed()→toRef() for props passed to composables (consistent)
- ChatPane: add console.warn on session history fetch failure
- DebugColumn: skip object spread when no new panels resolved (perf)
- AgentsView: remove unused wsSwitchAgent, annotate disabled picker

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 20:21:20 +02:00
Nico
e948caf132 3-column layout: extract ChatPane, add WorkspacePane + DebugColumn
- Extract ChatPane.vue from AgentsView (messages, input, scroll, attachments, audio)
- Create WorkspacePane.vue placeholder (dashboard, files, artifacts)
- Create DebugColumn.vue (replaces PanelShell side panels)
- AgentsView.vue reduced from 1062 to ~140 lines (thin orchestrator)
- usePanels: add pane toggles (chat, workspace) alongside debug panel toggles
- AppToolbar: chat + workspace toggle buttons with divider
- Delete PanelShell.vue (replaced by DebugColumn)
- Any combo of columns works: chat|workspace|debug, all toggleable

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 20:12:59 +02:00
Nico
4d4e1e198c Panel system: replace quad DevPanel with composable panel architecture
- PanelShell layout: main content + stacked side panels (320px)
- usePanels composable: role-based registry, localStorage persistence
- Lazy-loaded panels: Graph (Cytoscape+Cola), Trace, Nodes, State
- Fix HUD protocol: map assay node-level events to nyx tree format
- Graph: edge filtering for missing nodes, Tailwind canvas opacity fix
- Remove FramesPanel and TaskPanel (data merged into State panel)
- Toolbar panel toggles with heroicon badges

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 19:08:50 +02:00
Nico
db10ab93fd Production-ready sidebar, toolbar, auth, and routing for loop42.de
Slim sidebar (Home, nyx, Impressum, Datenschutz, Sign-in/User), global
AppToolbar for system features, /agents→/nyx rename, agent auto-select,
OIDC user name extraction from id_token, theme-consistent content pages,
removed DevView and old system panel.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 16:14:24 +02:00