Create a product-focused README for people using Kopaya, keep the copy high-level, and feature the app logo prominently at the top.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update the Electron icon wiring to use the new assets/icons layout, remove the old app-icon files, and keep Windows packaging pointed at the new platform-specific ico.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the root logo into app assets, wire the Electron main window to use the branded icon, and stamp the packaged Windows executable icon with rcedit.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add GitContextBadge to sidebar ProjectGroup showing branch name,
dirty indicator, and ahead/behind counts for real projects
- Show git-missing and error states with subtle warning badges
- Add hover-reveal refresh button per project to re-scan git status
- Show branch/dirty/ahead/behind inline in ChatPane header subtitle
- Wire refreshProjectGitContext callback from App through Sidebar
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace rounded-full pill buttons with subtle text toggles that use
a small colored dot indicator when active. Blends better with the
sidebar aesthetic.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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>
Clarify in the agent guidelines that experiments, workarounds, helpers, and test paths that do not end up in the final correct solution must be removed before handoff.
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>
Redirect and immediately close stdin for sidecar-spawned CLI subprocesses so they do not inherit the long-lived stdio pipe from the Electron/Node host. This fixes the Copilot version probe timing out under the actual app runtime while preserving the direct CLI and account diagnostics behavior.
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>
Run the Copilot CLI version probe through the resolved launch path and args instead of invoking the Windows shim directly. This keeps the version check aligned with the SDK launch strategy and avoids false 'Version unknown' results from the Winget-installed Copilot executable.
Add a regression test covering the constructed launch command.
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>
- record shipped Copilot connection diagnostics and settings UI
- split the roadmap item into implemented foundation vs remaining work
- update sequencing and shortlist to focus on the unfinished pieces
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>
Update ROADMAP.md so the auth-related roadmap language matches the current architecture: Kopaya relies on the system-installed GitHub Copilot CLI rather than owning provider credentials directly.
Reframe the near-term product need as Copilot connection and account-status management, while keeping broader credential management as a future capability for direct provider auth, MCP, or team-managed secrets.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document a forward-looking roadmap for Kopaya based on the current architecture, existing UX, and opportunities from modern AI chat and orchestration products.
The roadmap covers baseline chat-app expectations, project-aware workflows, orchestration control-plane improvements, advanced workflow capabilities, evaluation, collaboration, and product differentiators.
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>