Commit Graph

3778 Commits

Author SHA1 Message Date
gsxdsm
c676a26854 feat(KB-081): add provider icons to model selector with custom dropdown
- Create ProviderIcon component with provider-to-icon mappings (OpenAI, Anthropic, Google, etc.)

- Build CustomModelDropdown with icon display, filtering, and keyboard navigation

- Integrate custom dropdown into ModelSelectorTab replacing native select element

- Add CSS styles for provider icons in dropdown items and model badges

- Add comprehensive tests for ProviderIcon, CustomModelDropdown, and ModelSelectorTab
2026-03-29 22:51:23 -07:00
gsxdsm
bdb4eb782d feat(KB-074): add quick task creation with QuickEntryBox and NewTaskModal
- Add QuickEntryBox component for inline quick task entry in columns
- Add NewTaskModal component with full-featured task creation UI
- Integrate quick create flow through Column → Board → App component hierarchy
- Add comprehensive tests for both new components and updated existing tests
- Add CSS styles for modal, form inputs, and quick entry UI
- Include changeset for @dustinbyrne/kb package release
2026-03-29 22:40:04 -07:00
gsxdsm
99fdc26760 fix(KB-095): make vitest worker count configurable 2026-03-29 22:32:15 -07:00
gsxdsm
bcbb22a6ca feat(KB-080): add combined model dropdown with combobox component
- Create new combobox component for model/provider selection
- Refactor ModelSelectorTab to use combined dropdown UI
- Add scrollIntoView null check for test environment compatibility
- Add changeset for combined model dropdown feature
- Clean up obsolete changeset and subtask-related code
2026-03-29 22:26:10 -07:00
gsxdsm
f99ae366f7 feat(KB-040): add break-into-subtasks toggle for task creation
- Add breakIntoSubtasks flag to core Task model and persist to store
- Plumb subtask flag through dashboard API routes with validation
- Add subtask toggle UI to inline task creation card
- Update triage agent to handle automatic subtask breakdown when enabled
- Add comprehensive tests for store, API routes, and UI components
- Include changeset for patch release documenting the new feature
2026-03-29 22:23:47 -07:00
gsxdsm
1b5511c968 feat(KB-095): add Hide Done toggle to List View
- Add Hide Done toggle that filters out both done and archived tasks
- Update ListView component with filter state and toggle UI
- Add comprehensive tests for toggle behavior including edge cases
- Document the Hide Done toggle behavior in README
2026-03-29 22:22:13 -07:00
gsxdsm
f7784a577a feat(KB-077): add file editor textarea styles
- Add .file-editor-textarea CSS class with styling for file editing UI
- Include font family, sizing, and layout properties for monospace editing
- Add focus states and border styling for improved UX
- Integrate styles into dashboard stylesheet
2026-03-29 22:05:50 -07:00
gsxdsm
e6f8269058 Merge remote-tracking branch 'origin/main' 2026-03-29 22:03:20 -07:00
gsxdsm
55ca4796e6 feat(KB-071): rebrand dashboard to Fusion
- Rename dashboard header to Fusion\n- Update page title to Fusion\n- Replace logo with geometric four-dot design\n- Update Header tests for new branding\n- Add changeset for dashboard rename
2026-03-29 21:58:04 -07:00
gsxdsm
98e2e5e3c6 docs(KB-039): complete Step 8 — Documentation and changeset for usage indicator 2026-03-29 21:51:54 -07:00
gsxdsm
0698697dea test(KB-039): complete Step 7 — All tests passing (60 tests for usage feature) 2026-03-29 21:51:49 -07:00
gsxdsm
cd17926e8a feat(KB-039): complete Step 6 — Add usage indicator styles to CSS 2026-03-29 21:51:27 -07:00
gsxdsm
cf520dd5f5 test(KB-082): assert execution failure error payloads
- Tighten executor failure assertions to expect exact error messages for rate-limit and other exceptions

- Verify non-usage-limit failures also preserve their original error text

- Align backward-compatibility coverage for execution failures without usage limit pauser
2026-03-29 21:51:06 -07:00
gsxdsm
fd33cb5ca0 feat(KB-039): complete Step 5 — App integration with UsageIndicator modal 2026-03-29 21:50:28 -07:00
gsxdsm
e8e8183ecb feat(KB-039): complete Step 2 — Usage Indicator Component 2026-03-29 21:49:58 -07:00
gsxdsm
4bafa5a076 feat(KB-039): restore deleted files — UsageIndicator, useUsageData hook and tests 2026-03-29 21:49:46 -07:00
gsxdsm
2a63e994de test(KB-082): update executor tests to expect error field 2026-03-29 21:49:07 -07:00
gsxdsm
cf1bdda87f feat(KB-088): clear failed status when moving tasks and improve error display
- Fix moveTask to clear status/error/worktree/blockedBy when moving from in-progress to todo/triage
- Add error message display in TaskCard for failed tasks with truncation
- Add prominent error alert in TaskDetailModal for failed tasks
- Refactor usage tracking: move from app/components to dashboard/src/
- Add usage.ts and usage.test.ts for centralized usage tracking
- Remove UsageIndicator and useUsageData from app/ directory
- Update styles.css for error display components
- Update executor tests for error handling
- Add changeset for patch release
2026-03-29 21:48:44 -07:00
gsxdsm
0ed1e160e5 chore(KB-088): add changeset for failed status fix
- Add changeset documenting the fix for failed status persistence
- moveTask now clears status/error/worktree/blockedBy when moving from in-progress to todo/triage
- Prevents failed badge from showing on retried tasks
2026-03-29 21:47:18 -07:00
gsxdsm
63f530aac3 feat(KB-039): complete Step 2 — frontend API client and hook for usage data 2026-03-29 21:46:09 -07:00
gsxdsm
81cf41ba50 test(KB-082): complete Step 6 — Add/update tests for error field and retry 2026-03-29 21:44:44 -07:00
gsxdsm
b3af346345 feat(KB-087): remove Created/Updated columns and clean up usage tracking
- Remove createdAt and updatedAt columns from ListView component
- Update TaskCard to remove date display and related styles
- Update TaskDetailModal to remove date fields
- Update ListView tests to reflect new column layout
- Fix column index in dependencies test after column removal
- Remove unused usage tracking module (usage.ts and usage.test.ts)
- Clean up related CSS styles for date columns
2026-03-29 21:43:56 -07:00
gsxdsm
7a4c5e803a feat(KB-082): complete Step 5 — Display failure prominently in TaskDetailModal 2026-03-29 21:43:25 -07:00
gsxdsm
9dfb851e70 feat(KB-082): complete Step 4 — Display failure in TaskCard 2026-03-29 21:42:54 -07:00
gsxdsm
9f5a171b24 feat(KB-082): complete Step 3 — Clear error on retry 2026-03-29 21:42:10 -07:00
gsxdsm
c330a62165 feat(KB-082): complete Step 2 — Record failure error in executor 2026-03-29 21:41:51 -07:00
gsxdsm
a2be60d8c9 feat(KB-082): complete Step 1 — Add error field to Task type and store 2026-03-29 21:41:28 -07:00
gsxdsm
385739ee2c feat(KB-032): add Planning Mode for AI-assisted task creation
- Add PlanningModeModal component with interactive task planning UI
- Implement backend planning API with /api/planning endpoints
- Add PlanningSession class for managing planning state
- Integrate planning mode into dashboard with header button
- Add comprehensive tests for planning components and API routes
- Include AI agent structure for future planning automation
- Update README with Planning Mode documentation
2026-03-29 21:40:14 -07:00
gsxdsm
27a18549b3 feat(KB-079): reverse agent log display order, remove auto-scroll
- Reverse log display to show newest entries first in AgentLogViewer
- Remove auto-scroll functionality from dashboard
- Update badge deduplication logic for reversed order display
- Clean up tests for reversed order and removed auto-scroll
- Remove obsolete changeset files
2026-03-29 21:39:51 -07:00
gsxdsm
25647b844d fix(KB-078): include skipped steps in TaskCard progress calculation
- Fix progress bar to count skipped steps toward completed total

- Add test coverage for skipped steps in progress calculation

- Create changeset for the progress bar fix
2026-03-29 21:38:53 -07:00
gsxdsm
03424127e7 feat(KB-073): add interactive port selection for dashboard command
- Add --interactive flag to CLI parser for kb dashboard\n- Implement promptForPort helper with port availability validation\n- Add comprehensive tests for interactive port prompting\n- Update help text, README, and STANDALONE.md documentation\n- Add changeset for the interactive port feature
2026-03-29 21:36:10 -07:00
gsxdsm
a2c4127da0 fix(KB-057): restore dashboard client stability 2026-03-29 21:24:55 -07:00
gsxdsm
ec8b0911c4 feat(KB-029): add file browser and editor with CodeMirror 6 integration
- Add server-side file service with list, read, and write operations

- Add file API routes with comprehensive tests

- Create useFileBrowser and useFileEditor hooks for state management

- Add FileBrowser, FileEditor, and FileBrowserModal components

- Integrate Files tab into TaskDetailModal for task worktree browsing

- Add CodeMirror 6 dependencies for syntax highlighting

- Include file browser styles with light/dark theme support
2026-03-29 21:18:49 -07:00
gsxdsm
de0e98f614 feat(KB-029): merge kb/kb-029 (auto-resolved)
- chore(KB-029): add changeset for file browser feature
- docs(KB-029): complete Step 13 — add file browser documentation to README
- feat(KB-029): complete Step 10 — add file browser and editor styles
- feat(KB-029): complete Steps 5-11 — hooks, components, styles, and integration
- feat(KB-029): complete Step 10 — integrate Files tab with TaskDetailModal
- fix(KB-029): restore file-service.test.ts
- feat(KB-029): complete Steps 7-9 — create FileBrowser, FileEditor, and FileBrowserModal components
- feat(KB-029): complete Steps 5-6 — create file browser and editor hooks
- feat(KB-029): complete Step 4 — add client-side file API functions
- fix(KB-029): restore accidentally deleted file-service.test.ts
- feat(KB-029): complete Step 3 — add file API routes with tests
- feat(KB-029): complete Step 3 — add file API routes with fixed tests
- feat(KB-029): complete Step 3 — add file API routes to routes.ts
- feat(KB-029): complete Step 2 — create server-side file service with tests
- feat(KB-029): complete Step 2 — create server-side file service (revised API)
- feat(KB-029): complete Step 2 — create server-side file service
- feat(KB-029): complete Step 1 — add CodeMirror 6 dependencies
2026-03-29 21:18:25 -07:00
gsxdsm
a299de8b0d feat(KB-029): add file browser for viewing and editing task files
- Add server-side file service with list, read, and write operations
- Add REST API endpoints for file operations with tests
- Add client-side API functions and React hooks for file browsing
- Create FileBrowser, FileEditor, and FileBrowserModal components
- Add CodeMirror 6 for syntax-highlighted file editing
- Integrate Files tab into TaskDetailModal
- Add comprehensive file browser styles and responsive design
2026-03-29 21:18:21 -07:00
gsxdsm
6393d74787 feat(KB-057): add interactive terminal to dashboard
- Add backend terminal API with session management and SSE streaming
- Create useTerminal hook for command execution and history navigation
- Implement interactive TerminalModal with real-time output display
- Add terminal button to Header for quick access
- Style terminal with CSS variables and responsive design
- Add keyboard shortcuts (Ctrl+C to kill, Ctrl+L to clear, arrow keys for history)
- Add security validation for shell commands
2026-03-29 21:11:08 -07:00
gsxdsm
bfd3343be4 feat(KB-057): add interactive terminal to dashboard
- Add backend terminal API with SSE streaming for real-time output
- Create useTerminal hook with command history and navigation
- Refactor TerminalModal into interactive shell component
- Update App and Header for standalone terminal button
- Add CSS styles for terminal UI (prompts, output, spinner, welcome screen)
- Update tests for new terminal behavior
2026-03-29 21:09:57 -07:00
gsxdsm
5b575923b5 feat(KB-057): complete Step 7 - Documentation & Delivery 2026-03-29 21:09:30 -07:00
gsxdsm
0cbba475c2 feat(KB-057): complete Step 4 - Update App Integration for interactive terminal 2026-03-29 21:08:43 -07:00
gsxdsm
1219d63b95 feat(KB-041): add task refine capability across core, API, UI, and CLI
- Add refineTask() to TaskStore with validation for feedback and requirements
- Add POST /tasks/:id/refine API endpoint with tests
- Add refine UI to TaskDetailModal for submitting feedback
- Add kb_task_refine tool to pi extension for AI-driven refinement
- Add 'kb task refine' CLI command for manual task refinement
- Include validation constraints: max 2000 chars feedback, max 5000 chars requirements
2026-03-29 21:05:57 -07:00
gsxdsm
61303f1438 docs(KB-041): complete Step 6 — add refine feature to README and create changeset 2026-03-29 21:05:19 -07:00
gsxdsm
b8de98cc6d feat(KB-057): complete Step 3 — TerminalModal component with interactive shell UI 2026-03-29 20:59:31 -07:00
gsxdsm
287ce1d6d2 feat(KB-057): complete Step 2 — useTerminal hook with history, SSE streaming, and command execution 2026-03-29 20:57:18 -07:00
gsxdsm
c5b09e1cb1 feat(KB-061): add model filter search to model selectors
- Add search input with clear button and results count to ModelSelectorTab
- Extract filterModels utility for shared filtering logic across components
- Apply filtering to SettingsModal model section
- Add CSS styles for filter UI components
- Add comprehensive tests for ModelSelectorTab and SettingsModal filtering
2026-03-29 20:55:01 -07:00
gsxdsm
0e26d1df30 feat(KB-052): refactor GitHub integration to use gh CLI
- Create gh-cli utility module with auth detection and command execution
- Refactor GitHubClient to use gh CLI commands with REST API fallback
- Refactor PR Monitor to use gh CLI for PR operations
- Add listIssues() and getIssue() methods to GitHubClient
- Remove in-app GitHubRateLimiter (gh CLI handles rate limiting)
- Update all tests for gh CLI implementation
- Update AGENTS.md and extension docs for gh CLI auth preference
2026-03-29 20:52:07 -07:00
gsxdsm
6f43bdcdf4 feat(KB-036): add worktreeNaming setting for configurable worktree directory names
- Add worktreeNaming setting type with 'random' | 'task-id' | 'task-title' options
- Update executor to generate worktree names based on setting value
- Create worktree-names.ts utility module with generateWorktreeName function
- Add comprehensive executor tests for all naming strategies
- Update AGENTS.md documentation with setting description and usage
- Include changeset for patch release
2026-03-29 20:48:50 -07:00
gsxdsm
1d2706351b feat(KB-057): complete Step 0 and 1 — backend API and frontend client for interactive terminal 2026-03-29 20:48:39 -07:00
gsxdsm
d288e158d5 feat(KB-024): add comprehensive theme system to dashboard
- Add ThemePreference type and useTheme hook for theme state management
- Create CSS theme architecture with 8 built-in color themes
- Build ThemeSelector component with live preview and keyboard navigation
- Add theme toggle to Header with quick-switch capability
- Integrate Appearance section into SettingsModal
- Wire theme system into App component with system preference detection
- Add comprehensive tests for useTheme, ThemeSelector, and Header
- Include theming documentation in dashboard README
- Add changeset for patch release
2026-03-29 20:22:00 -07:00
gsxdsm
b935f310ce feat(KB-022): add GitHub issue status badges to task cards
- Extend core types with GitHub issue tracking fields (issueNumber, issueStatus, lastIssueSync)
- Add TaskStore.getTaskGitHubIssueInfo() to fetch issue details from GitHub API
- Create server-side API endpoint for issue status lookup with caching
- Build GitHubBadge component with color-coded status indicators (open/closed)
- Integrate badges into TaskCard with hover state linking to GitHub issues
- Add CSS styles for badge positioning and visual polish
- Include comprehensive tests for GitHubBadge and TaskCard badge rendering
2026-03-29 20:12:13 -07:00
gsxdsm
37afb24d60 feat(KB-034): add task archive/unarchive functionality
- Add 'archived' column to task store with archiveTask and unarchiveTask methods
- Add CLI commands: kb task archive <id> and kb task unarchive <id>
- Add pi extension tools for archive and unarchive operations
- Add dashboard API endpoints POST /api/tasks/:id/archive and /unarchive
- Add Archived column to board UI with archive/unarchive buttons
- Prevent drag-drop into archived column, add visual distinction
- Include duplicateTask from concurrent branch in merge resolution
2026-03-29 20:03:43 -07:00