Commit Graph

7145 Commits

Author SHA1 Message Date
gsxdsm
d9bf790262 feat(KB-203): add git commands to CLI
- Add git command module with status, push, pull, and fetch subcommands

- Integrate git commands into CLI routing and help system

- Add comprehensive unit tests for all git commands (657 lines)

- Include changeset for the new CLI git operations
2026-03-30 17:46:51 -07:00
gsxdsm
533c4bb3df feat(KB-202): add kb task logs command for viewing agent execution logs
- Add runTaskLogs() with --follow, --limit, and --type filtering flags
- Implement colorized log output (text/thinking/tool/tool_result/tool_error)
- Add file watching support for real-time log streaming (--follow)
- Wire up kb task logs <id> CLI command in bin.ts
- Add comprehensive tests for log filtering, limiting, and follow mode
2026-03-30 17:40:34 -07:00
gsxdsm
045519fa8b feat(KB-163): add rich task creation UI to QuickEntryBox
- Update QuickEntryBox with rich creation UI including title, description, column selection, and dependency fields
- Add CSS styles for new QuickEntryBox components
- Update Column, Board, and ListView components with TaskCreateInput signature and allTasks prop
- Add comprehensive tests for QuickEntryBox rich creation features
- Remove settings CLI commands (no longer needed)
2026-03-30 17:38:24 -07:00
gsxdsm
1b532091ee feat(KB-201): add settings CLI commands
- Add 'kb settings' command with get, set, list, and unset subcommands
- Create settings.ts command module with full type validation
- Add comprehensive unit tests for settings commands (432 lines)
- Wire settings routing into CLI entry point (bin.ts)
- Add changeset for patch release of @dustinbyrne/kb package
2026-03-30 17:35:03 -07:00
gsxdsm
875c758110 test(KB-215): add pace integration tests for usage indicators
- Add backend tests verifying pace is attached to windows with valid timing data

- Add frontend test verifying UsageIndicator displays pace from backend data

- Test full data flow from backend calculation to UI display
2026-03-30 17:18:18 -07:00
gsxdsm
b7349a3f1f feat(KB-206): add stuck task detection and auto-recovery
- Add taskStuckTimeoutMs setting to detect tasks with no activity
- Create StuckTaskDetector to poll in-progress tasks every 30s
- Integrate heartbeat tracking into executor via step callbacks
- Implement recovery flow: abort stuck sessions, retry with preserved progress
- Export detector and wire into dashboard for real-time monitoring
- Add comprehensive tests and documentation to AGENTS.md
2026-03-30 17:16:35 -07:00
gsxdsm
f8622daee3 feat(KB-104): move file browser from task modal to toolbar
- Add backend API routes and file service for project-scoped file operations
- Create useProjectFileBrowser and useProjectFileEditor hooks with comprehensive tests
- Update FileBrowserModal to support both task and project modes via dualMode prop
- Add Files button to dashboard header toolbar
- Remove Files tab from TaskDetailModal
- Integrate project file browser into main App layout
- Include changeset for @dustinbyrne/kb package
2026-03-30 17:06:50 -07:00
gsxdsm
62b86c2894 feat(KB-101): add ntfy notification test button in settings
- Add /api/settings/test-ntfy endpoint for sending test notifications
- Add test notification button to SettingsModal when ntfy is enabled
- Display success/error feedback after test notification attempt
- Add comprehensive tests for test notification flow
- Include changeset for patch release
2026-03-30 16:54:01 -07:00
gsxdsm
360f3e03b3 feat(KB-069): add Archive All Done feature
- Add archiveAllDone method to TaskStore with filtering and batch archive
- Add POST /tasks/archive-all-done API endpoint with tests
- Add useTasks hook support and API function for archiveAllDone
- Add Archive All button to done column header in Board UI
- Wire up onArchiveAllDone through Board component hierarchy
2026-03-30 16:50:34 -07:00
gsxdsm
c71347930f feat(KB-179): reorder search bar left of view toggle
- Move search bar to the left of the view toggle in Header component
- Remove batch badge fetching implementation (useBatchBadgeFetch hook, tests, GitHub routes)
- Clean up associated types and API endpoints
- Add changeset for visual improvement
2026-03-30 16:41:37 -07:00
gsxdsm
b2c4293893 feat(KB-064): add batch GitHub badge status fetching
- Add batch status API types (BatchStatusRequest, BatchStatusResponse, etc.)

- Add batch GitHub client wrappers for efficient PR/issue status fetching

- Create useBatchBadgeFetch hook for coordinated dashboard fetching

- Update Board component to batch fetch badge statuses on mount

- Update TaskCard to merge batch, WebSocket, and task data with freshness comparison

- Add batch status REST endpoint at POST /api/tasks/batch/status
2026-03-30 16:41:24 -07:00
gsxdsm
b584f067e2 feat(KB-174): align search and board switcher with header icons
- Adjust CSS styling to vertically align search icon with header icons
- Align board switcher icon positioning for visual consistency
- Update spacing and alignment in dashboard header component
2026-03-30 16:39:02 -07:00
gsxdsm
e77f262e11 feat(KB-173): add Zen theme to dashboard
- Add Zen to COLOR_THEMES array in core types
- Add Zen theme CSS styles with dark and light variants
- Add Zen theme option to ThemeSelector component
- Add tests for Zen theme selection in ThemeSelector
- Update index.html theme initialization to include Zen
- Add changeset for the new theme
2026-03-30 16:34:49 -07:00
gsxdsm
4c38950e5e feat(KB-045): add scheduled tasks automation system
- Add AutomationStore and core automation types for cron-based scheduling
- Implement CronRunner engine for executing scheduled automations
- Add REST API routes for CRUD operations on automations
- Create UI components: ScheduleCard, ScheduleForm, and ScheduledTasksModal
- Integrate scheduled tasks into dashboard App.tsx and CLI dashboard command
- Add comprehensive tests for store, runner, API, and UI components
- Include changeset for the new scheduled tasks feature
2026-03-30 16:27:23 -07:00
gsxdsm
c492466232 test(KB-213): fix EventSource mock cleanup in useMultiAgentLogs tests
- Fix EventSource mock cleanup to prevent test interference
- Ensure proper cleanup after each test in useMultiAgentLogs test suite
- Add changeset for the test fix
2026-03-30 16:26:34 -07:00
gsxdsm
6dbedd8be8 feat(KB-211): fix TaskCard memoization test for React StrictMode
- Update TaskCard test to handle React StrictMode double-rendering behavior
- Fix memoization assertions that fail under StrictMode
- Ensure test correctly accounts for development mode re-renders
2026-03-30 16:19:30 -07:00
gsxdsm
a1888140c3 test(KB-210): fix mobile viewport test expectations
- Update test to expect terminal button in overflow menu on mobile
- Update test to expect usage button inline on all screen sizes
- Clarify pause controls remain inline on mobile
- Fix test descriptions to match actual UI behavior
2026-03-30 16:17:56 -07:00
gsxdsm
3d7ba96d8b fix(KB-209): fix infinite loop in useMultiAgentLogs hook
- Fix infinite loop in useMultiAgentLogs hook when handling task updates
- Correct cleanup logic to only close connections for removed tasks
- Add global EventSource mock infrastructure to vitest.setup.ts
- Refactor useMultiAgentLogs tests to use shared MockEventSource pattern
2026-03-30 16:15:17 -07:00
gsxdsm
337868e618 test(KB-208): fix EventSource mock cleanup in useTasks tests
- Fix EventSource mock cleanup to prevent test pollution between cases
- Improve test isolation for SSE event handling
- Refactor test setup and teardown for better reliability
2026-03-30 16:07:35 -07:00
gsxdsm
68ddaf5f00 feat(KB-207): reverse pace indicator colors
- Swap pace indicator colors in dashboard styles.css

- Add changeset for the pace color reversal

- Update pace color scheme for better visual clarity
2026-03-30 16:00:29 -07:00
gsxdsm
9dd594ec96 fix(KB-195): fix theme-aware styling for UsageIndicator toggle buttons
- Update UsageIndicator toggle active state to use var(--todo) and var(--bg)

- Add hover state styling for active toggle button

- Ensure consistent styling with Header view toggle across all themes

- Add changeset for patch release
2026-03-30 15:57:32 -07:00
gsxdsm
c151657bbf feat(KB-189): prevent mobile zoom on all quick entry inputs
- Extend mobile font size fix from textarea to all quick entry inputs (input, select)

- Update CSS selector to cover all quick entry form elements

- Add changeset for mobile zoom fix
2026-03-30 15:55:36 -07:00
gsxdsm
11307c7470 fix(KB-186): add pace indicators for Gemini provider
- Add windowDurationMs (24h) to Gemini usage windows for daily rate limits
- Track resetMs in Gemini usage data for pace calculation
- Update applyPaceToWindow to apply pace to any window with timing data
- Fix pace indicators not showing for Gemini provider
2026-03-30 15:52:21 -07:00
gsxdsm
767105b755 chore(KB-205): increase Vitest maxWorkers default from 8 to 16
- Update default VITEST_MAX_WORKERS from 8 to 16 in all packages
- Affects CLI, Core, Dashboard, and Engine vitest configs
- Improves test execution parallelism on multi-core machines
- Environment variable override still supported via VITEST_MAX_WORKERS
2026-03-30 15:40:45 -07:00
gsxdsm
2acfcb3db7 feat(KB-139): remove legacy terminal test and update README
- Remove skipped legacy useTerminal hook test file (498 lines)

- Update README theme count from 8 to 12 color themes

- Add contributor verification requirements section

- Document that terminal hook tests must remain active
2026-03-30 14:10:03 -07:00
gsxdsm
2eaf776ffb feat(KB-152): add Minimax and Zai providers with usage pace indicators
- Add Minimax provider backend with full test coverage
- Add Zai (Zhipu AI) provider backend for additional model options
- Implement pace calculation in UsageWindow with ahead/behind/on-pace detection
- Update UsageIndicator frontend component to consume backend pace data
- Fix pace indicator colors and icons to match design specification
- Resolve ListView QuickEntryBox type error for type safety
2026-03-30 13:45:52 -07:00
gsxdsm
c48c6aba66 feat(KB-137): add GitHub App webhooks for real-time badge updates
- Add verified POST /api/github/webhooks endpoint with signature verification
- Implement GitHub App installation token authentication for API calls
- Add webhook handlers for pull_request, issues, and issue_comment events
- Support multi-task resource matching by parsed badge URL
- Retire live GitHub polling service in favor of push-based updates
- Add comprehensive webhook integration and unit tests
- Keep 5-minute REST refresh endpoints as fallback
2026-03-30 13:37:33 -07:00
gsxdsm
9499954636 feat(KB-199): add retry CLI command and extension tool
- Add kb task retry command to CLI with --force and --all flags
- Implement runTaskRetry() to re-run failed or completed tasks
- Add kb_task_retry extension tool for Pi agent integration
- Update CLI help text and command registration
- Add comprehensive tests for retry command and extension tool
- Include changeset for patch release
2026-03-30 13:37:09 -07:00
gsxdsm
4ee7d0663b feat(KB-198): add task delete CLI command with --force flag
- Add `kb task delete` CLI command with required --force flag for safety
- Implement runTaskDelete function with task existence validation
- Register kb_task_delete tool in Pi extension for chat agent access
- Add comprehensive unit tests for runTaskDelete and extension registration
- Wire delete command in CLI bin.ts with proper argument parsing
2026-03-30 13:27:59 -07:00
gsxdsm
9e35c00a9c feat(KB-197): complete Step 4 — add changeset for size badge positioning fix 2026-03-30 13:19:59 -07:00
gsxdsm
03fc774fde test(KB-197): fix Pencil mock in TaskCard tests 2026-03-30 13:19:53 -07:00
gsxdsm
903ee96eae test(KB-197): complete Step 2 — add regression tests for size badge positioning 2026-03-30 13:17:36 -07:00
gsxdsm
d33b69a839 feat(KB-197): complete Step 1 — fix card header layout with actions wrapper 2026-03-30 13:17:00 -07:00
gsxdsm
e8bcd4d776 feat(KB-194): add collapsible sections to ListView with localStorage persistence
- Add collapse state management with localStorage persistence per section
- Update section headers with chevron icon and click handler
- Conditionally render task rows based on collapsed state
- Add aria-expanded attribute for accessibility
- Add comprehensive tests for collapsible section behavior
2026-03-30 13:15:59 -07:00
gsxdsm
4927346f57 feat(KB-136): add shared badge pub/sub for multi-instance deployments
- Add BadgePubSub interface with Redis and in-memory adapters

- Implement cross-instance badge snapshot delivery via Redis pub/sub

- Add message validation, echo loop prevention, and structured caching

- Support graceful fallback to in-memory mode when Redis unavailable

- Update ServerOptions for dependency injection and add documentation
2026-03-30 12:52:07 -07:00
gsxdsm
af11364cd9 feat(KB-193): auto-expand steps for in-progress task cards
- Auto-expand steps disclosure when task is in-progress
- Keep steps collapsed for todo/done/archived states
- Add comprehensive tests for auto-expand behavior in TaskCard
- Update TaskCard component with expanded state logic
2026-03-30 12:49:25 -07:00
gsxdsm
ace95ca9a8 feat(KB-192): move progress bars to top of definition tab
- Reposition progress indicator bars to the top of the definition tab in TaskDetailModal
- Add changeset for the UI improvement
2026-03-30 12:42:44 -07:00
gsxdsm
5facec46e1 feat(KB-191): change request refinement button to 'Refine'
- Update TaskDetailModal button text to 'Refine'

- Update test assertions in TaskDetailModal.test.tsx

- Add changeset for the UI text change

- Remove stale kb-100-header-test-branding changeset file
2026-03-30 12:39:38 -07:00
gsxdsm
c7dbccf48e chore(KB-100): add changeset for header test branding
- Add changeset file for Header component test update
2026-03-30 12:36:16 -07:00
gsxdsm
9c7278b5c7 fix(KB-190): prevent mobile zoom in dashboard
- Add user-scalable=no to viewport meta tag in index.html
- Include changeset for the mobile zoom prevention fix
2026-03-30 12:29:55 -07:00
gsxdsm
5c42b7d796 feat(KB-188): reorganize header button layout for mobile
- Reorganize Header component button layout for mobile view

- Update Header tests with mobile layout coverage

- Improve responsive button arrangement in mobile breakpoint
2026-03-30 12:26:33 -07:00
gsxdsm
14f9315c7c feat(KB-188): complete Step 4 — Documentation & Delivery
- Add changeset for header button layout improvement
2026-03-30 12:25:55 -07:00
gsxdsm
79e6657db9 feat(KB-183): replace native select with CustomModelDropdown in SettingsModal
- Replace native <select> with CustomModelDropdown for model selection
- Remove legacy option filtering and selection logic from SettingsModal
- Update SettingsModal tests to work with new dropdown component
- Add comprehensive test coverage for CustomModelDropdown interactions
2026-03-30 12:16:59 -07:00
gsxdsm
824799fadd fix(KB-172): fix terminal session leak with activity tracking and stale eviction
- Add session activity tracking (lastActivityAt) to TerminalService
- Implement stale session eviction when approaching session limits
- Fix WebSocket close handler to properly kill PTY sessions on disconnect
- Add lastActivityAt to session listing endpoint for observability
- Add comprehensive tests for activity tracking, eviction, and terminal routes
- Add changeset for patch release
2026-03-30 12:11:12 -07:00
gsxdsm
f9596d9642 feat(KB-181): add kb task plan command with planning mode
- Add kb task plan CLI command for interactive planning mode
- Create planTask tool in extension for LLM-initiated planning sessions
- Add comprehensive tests for task plan command with edge cases
- Update QuickEntryBox UI with planning mode button
- Add changeset for planning mode CLI feature
2026-03-30 11:53:16 -07:00
gsxdsm
f3d9bf6100 feat(KB-097): clean up type errors and remove obsolete code
- Remove stale changeset files (mobile touch fixes, subtask breakdown)
- Fix type errors in QuickEntryBox and TaskCard components
- Remove obsolete test files (TaskCard.test.tsx, triage.test.ts)
- Fix import issues in planning.ts
- Clean up triage.ts and useAgentLogs.ts
2026-03-30 11:47:37 -07:00
gsxdsm
fba739e21f fix(KB-167): prevent task modal from opening on mobile scroll
- Implement touch gesture detection to distinguish tap from scroll gestures
- Add CSS touch-action property for proper mobile scroll handling
- Add comprehensive tests for touch gesture behavior in TaskCard
- Include changeset for patch release
2026-03-30 11:42:56 -07:00
gsxdsm
b4631032f6 feat(KB-149): add mobile touch gesture support to TaskCard
- Implement touch gesture detection for swipe and tap interactions in TaskCard
- Add comprehensive tests for touch event handling (209 lines of test coverage)
- Include changeset for mobile touch sensitivity fix
- Enable smooth card interactions on mobile devices
2026-03-30 11:40:09 -07:00
gsxdsm
467f724a1b feat(KB-178): add proactive triage subtask guidance
- Add proactive subtask breakdown prompts to triage agent
- Update dashboard routes to support triage subtask operations
- Add comprehensive tests for triage subtask guidance logic
- Include changeset for @dustinbyrne/kb package release
2026-03-30 11:33:07 -07:00
gsxdsm
3fb3ca2fdf fix(KB-090): improve refinement route validation with trimmed feedback
- Trim whitespace from feedback before length validation
- Catch whitespace-only input at route level before store call
- Update test to verify route-level validation blocks empty feedback
- Use trimmed feedback for store operations and logging
2026-03-30 11:27:06 -07:00