Add persisted session and pattern metadata for pinning, archiving, manual titles, and favorite patterns. Expose backend query and mutation APIs for session library features, and cover the shared helpers with tests.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reduce chat header padding and tighten the title/subtitle line height so the border-bottom lines up with the activity side panel header.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop the refresh-time sidecar restart workaround and its helper/tests now that the verified fix is in the sidecar subprocess launcher itself. This keeps the runtime simpler and leaves only the changes required for correct Copilot version detection.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wait for an intentional sidecar dispose to exit before refreshing capabilities, and ignore exit events from stale sidecar processes. This prevents a refresh from killing the old process and then having that old exit reject the new capabilities request with an unexpected sidecar exit error.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Force-refreshing sidecar capabilities now disposes the idle sidecar process before re-querying capabilities, so Kopaya can pick up backend sidecar changes and refreshed Copilot connection state without a full app restart.
Add a small helper and regression tests for the refresh decision.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Extend CopilotStatusCard to surface the new backend diagnostics:
- Account identity row (login + host) when authenticated
- Organization pills with +N overflow
- CLI version freshness badge (latest/outdated/unknown)
- Latest-version hint in expandable details when outdated
- Mark version/account roadmap items as complete
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- report Copilot CLI version freshness as latest, outdated, or unknown
- expose active Copilot account metadata from the SDK auth status
- add best-effort GitHub organization context when gh is available
- document the frontend follow-up in HANDOVER.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds section headers to the left sidebar navigation so future
settings items slot naturally under the right category.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace single-scroll settings with two-column layout:
left sidebar nav (Connection, Patterns) + content area
- Consistent back arrow (←) on the left for all navigation levels:
settings → app, pattern editor → settings list
- Fix CopilotStatusCard path overflow: use break-all for long
Windows paths, structured detail sections with proper wrapping
- Simplify status card: cleaner status dot indicator, separated
detail sections with labeled fields and proper text overflow
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- New CopilotStatusCard component with status-specific visuals for
ready, cli-missing, auth-required, and error states
- Expandable technical details section with CLI path and timestamps
- Refresh button wired to refreshSidecarCapabilities IPC
- Integrated into SettingsPanel above orchestration patterns
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add backend support for Copilot connection and account-status UX without introducing raw provider credential management.
This change extends sidecar capabilities with explicit connection diagnostics, adds a refreshable capabilities IPC path, classifies common Copilot CLI failure modes, and includes a frontend handover document describing the new payload and expected UI states.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Re-apply the inline pill-button design for the scratchpad model and
thinking effort selectors that was overwritten by a concurrent agent.
- InlineModelPill: compact pill with provider icon, upward-opening
grouped dropdown with provider headers and tier badges; respects
the new availableModels prop for live model availability
- InlineThinkingPill: compact Sparkles pill with upward-opening
effort selector; shows N/A when model has no reasoning support
(respects supportedEfforts from per-model capabilities)
- Removes the large bordered card wrapper, replaces with subtle
inline row of pills sitting just above the composer textarea
- Preserves all new logic from the model-availability agent:
availableModels prop, resolveReasoningEffort, getSupportedEfforts
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the large bordered card with model/thinking dropdowns with
subtle inline pill-buttons that sit just above the composer textarea.
- Create InlineModelPill: compact pill showing provider icon + model
name with upward-opening grouped dropdown (same model catalog)
- Create InlineThinkingPill: compact pill with Sparkles icon and
effort label with upward-opening dropdown
- Both pills use minimal border styling that highlights on open/hover
- Dropdowns open upward (bottom-full) so they don't get clipped
- Add loading spinner next to pills while config is saving
- Remove the large 'Applies to future replies' card wrapper
Also fixes 'onUpdateScratchpadConfig is not a function' error:
- Make onUpdateScratchpadConfig optional in ChatPaneProps (only
relevant for scratchpad sessions, not regular project sessions)
- Guard the call with !onUpdateScratchpadConfig early return
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Session cards now show orchestration mode icon (colored per type:
indigo=single, amber=sequential, emerald=concurrent, sky=handoff,
violet=group-chat) giving at-a-glance pattern visibility
- Add relative timestamps (just now, 2m ago, yesterday, etc.)
- Running sessions show animated pulse on left accent bar and
text status label instead of static dot
- Multi-agent sessions display agent count badge (Users icon + count)
- Error sessions show explicit red Error label
- Project headers show running session count as live badge
and total count as pill; folder icon highlights on hover
- Upgrade Kopaya logo from letter badge to gradient icon with
Sparkles, add BETA tag
- Move New Session button to prominent dashed-border CTA below header
- Better empty state with composite folder+plus icon treatment
and indigo Add Project button
- Add sidebar-pulse CSS keyframe animation for running indicators
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace colored letter badges with official SVG icons sourced from
Simple Icons (Anthropic, Google Gemini) and Wikimedia Commons (OpenAI).
- Create shared ProviderIcons.tsx with OpenAI, Anthropic, and Gemini
SVG icon components using the official brand marks
- Update PatternEditor ModelSelect dropdown to use real provider icons
- Update ActivityPanel model badges to use real provider icons
- Remove duplicated providerStyles objects from both files
Icons are inline SVG using currentColor for theme-aware coloring.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Create model catalog (src/shared/domain/models.ts) with 12 models
from OpenAI, Anthropic, and Google including tier metadata
- Replace free-text model input with custom ModelSelect dropdown
grouped by provider with colored provider icons (green AI for
OpenAI, orange A for Anthropic, blue G for Google)
- Show tier badges (premium/standard/fast) on each model option
- Highlight currently selected model with indigo accent
- Update ActivityPanel to show provider icons on model badges
for visual consistency across the app
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix SettingsPanel and PatternEditor headers with pt-12 to clear
the title bar overlay zone
- Replace mode dropdown with visual mode selector cards showing
icon, description, and inline flow diagrams for each pattern
- Add flow pill diagrams (Single, Sequential, Concurrent, Handoff,
Group Chat, Magentic) illustrating how agents interact
- Add reasoning effort selector (Low/Medium/High/Maximum) to
agent cards — previously not exposed in the editor
- Improve agent cards with numbered badges and 3-column layout
for name, model, and reasoning fields
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Each agent now renders as a card with:
- Status dot and name
- Model badge (e.g. gpt-5.4) and reasoning effort badge
- Agent description text
- Live activity status label
Cards highlight with blue/emerald borders when active/completed.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add react-markdown and remark-gfm for markdown rendering
- Create MarkdownContent component with custom code block renderer
featuring language labels and copy-to-clipboard buttons
- Add full markdown prose styles (headings, lists, tables, links,
blockquotes, inline code) matching the dark zinc theme
- Replace plain-text message rendering in ChatPane with MarkdownContent
- Handle fenced code blocks with and without language specifiers
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Create ActivityPanel component showing per-agent status with
activity dots, agent names, and contextual status labels
- Add detailPanel slot to AppShell layout (right aside, w-64)
- Move agent activity display from inline ChatPane card to the
dedicated side panel
- Remove activity prop and inline panel from ChatPane
- Panel appears when a session is selected, hidden on WelcomePane
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Configure hidden title bar with titleBarOverlay matching dark theme
- Remove native menu bar via Menu.setApplicationMenu(null)
- Fix backgroundColor mismatch (#0f172a -> #09090b)
- Add full-width drag region in AppShell for window dragging
- Adjust sidebar and chat headers with top padding for overlay zone
- Add ThinkingDots component with animated dot sequence
- Show activity indicator in chat when agent is processing
- Replace 'Generating...' spinner with inline blinking cursor
- Refine header status badge to subtle pulsing dot
- Add BACKEND_UI_CHANGES.md documenting future sidecar protocol additions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Refined dark theme with zinc palette and indigo accents
- Clean sidebar showing only project/session tree
- Moved pattern management to full-screen settings panel
- New session modal with project + pattern picker
- Modern chat with avatar icons, inline send button, Enter-to-send
- Welcome pane when no session is selected
- Added lucide-react for consistent iconography
- Custom scrollbar styling and auto-resize textarea
- Removed clutter: no sidebar pattern list, no verbose headers
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>