Commit Graph

500 Commits

Author SHA1 Message Date
gsxdsm
56a46092f7 fix(KB-259): update subtask button tooltip for live feature
- Update subtask button tooltip from "coming soon" to "Break down into AI-generated subtasks"

- Apply tooltip fix to both QuickEntryBox and InlineCreateCard components

- Add changeset for patch release
2026-03-31 05:52:29 -07:00
gsxdsm
34d47eddfd feat(KB-247): add subtask breakdown dialog for AI-assisted task creation
- Add backend subtask breakdown session management and API endpoints
- Create SubtaskBreakdownModal component for generating AI-suggested subtasks
- Integrate subtask breakdown into QuickEntryBox and NewTaskModal flows
- Add frontend API client functions for breakdown sessions and subtask creation
- Add tests for SubtaskBreakdownModal and backend routes
- Create changeset documenting the subtask breakdown feature
2026-03-31 05:48:30 -07:00
gsxdsm
243da605b1 fix(KB-241): use form values for ntfy test notifications
- Update frontend API client to accept config parameter for testNtfyNotification
- Modify SettingsModal to pass current form values when testing notifications
- Update SettingsModal test to expect config object in API call
- Add changeset documenting the test notification fix
2026-03-31 05:31:52 -07:00
gsxdsm
4be8306f7a feat(KB-229): add multi-step scheduled tasks
- Add Step types to core data model (command, validation, approval steps)
- Update AutomationStore CRUD operations for step management
- Refactor CronRunner for sequential step execution with per-step config
- Add Dashboard API routes for step CRUD and step-aware schedule updates
- Create ScheduleStepsEditor component for visual step configuration
- Add StepTypeBadge component for step type visualization
- Update ScheduleCard and ScheduleForm to display and manage steps
- Add comprehensive test coverage for stores, runner, and components
- Add changeset for patch release
2026-03-31 05:14:30 -07:00
gsxdsm
f1a849b6fa feat(KB-225): add AI text refinement feature to dashboard
- Add AI text refinement backend service with OpenAI/Anthropic integration
- Add /api/refine-text API endpoint with error handling
- Add QuickEntryBox AI refine button with style presets menu
- Add NewTaskModal AI refine feature for task description editing
- Add comprehensive tests for backend service, API, and components
- Add changeset for the new feature
2026-03-31 04:20:37 -07:00
gsxdsm
139fbb9f29 feat(KB-218): add workflow steps for post-implementation review
- Add core data model for workflow step definitions with AI-assisted prompt refinement
- Create API routes for CRUD operations and prompt refinement via /api/workflow-steps
- Add WorkflowStepManager dashboard UI for defining and managing workflow steps
- Integrate workflow step selection into NewTaskModal for per-task enablement
- Execute workflow steps sequentially in executor after task_done() with readonly tools
- Run workflow step agents before moving tasks to in-review, failing on step errors
- Add comprehensive tests for store, API routes, components, and executor integration
2026-03-31 03:55:01 -07:00
gsxdsm
d34951a913 feat(KB-196): load extension providers for dashboard model selector
- Load pi extensions on dashboard startup to register custom model providers
- Include extension-provided models in the dashboard model selector
- Add comprehensive tests for extension model loading and error handling
- Create changeset for patch release fixing model selector extensions
2026-03-31 03:21:16 -07:00
gsxdsm
2554904421 feat(KB-185): add global/project settings hierarchy with scope-aware UI
- Add GlobalSettingsStore with file-based storage in ~/.pi/kb/settings.json
- Implement two-tier hierarchy: global (user prefs) and project (.kb/config.json)
- Update TaskStore to merge settings with project overriding global
- Add API endpoints: GET/PUT /api/settings/global and GET /api/settings/scopes
- Add scope indicators (🌐 global, 📁 project) to settings modal sidebar
- Implement scope-aware save: only save active scope, reject global-only fields
- Add frontend API functions for global settings operations
- Add tests for GlobalSettingsStore, settings routes, and SettingsModal scopes
- Create changeset for the new settings hierarchy feature
- Update AGENTS.md with settings hierarchy documentation
2026-03-31 03:12:33 -07:00
gsxdsm
714f4bc415 feat(KB-184): add model presets for task creation
- Add model preset types and settings fields with API validation
- Create model preset utility helpers for size-based auto-selection
- Add settings UI for managing model presets (create, edit, delete)
- Integrate preset selection into NewTaskModal with custom override option
- Add inline preset selection to InlineCreateCard component
- Persist modelPresetId in task store and preserve through archive/unarchive
- Add changeset and update AGENTS.md with feature documentation
2026-03-31 02:04:45 -07:00
gsxdsm
82d8ebb82b feat(KB-266): overhaul GitManagerModal with new architecture and API
- Completely rewrite GitManagerModal with modern React architecture
- Add comprehensive CSS styling for git operations UI
- Implement new API endpoints for git management operations
- Add server-side routes for git command handling
- Fix shell injection vulnerability in git command execution
- Update tests with complete API mocking coverage
- Add changeset documenting the overhaul
2026-03-31 02:00:53 -07:00
gsxdsm
aef82c2df9 feat(KB-180): add planning route diagnostics and harden JSON error handling
- Add API diagnostics to planning routes for better debugging
- Harden API JSON error handling with improved validation
- Add comprehensive tests for planning route JSON responses
- Update server routes and API layer for robustness
2026-03-31 01:38:43 -07:00
gsxdsm
9e03c47b91 feat(KB-175): move file browser to header with workspace support
- Add workspace file APIs and hooks for session-scoped file browsing
- Create WorkspaceSelector component for switching between workspaces
- Update FileBrowserModal with workspace mode and improved UX
- Add files button to header with workspace-aware file browsing
- Add session files indicator to task cards for quick file access
- Include comprehensive tests for all new components and hooks
2026-03-31 01:26:57 -07:00
gsxdsm
18c4f0cb25 feat(KB-265): fix editor height layout and remove planning validator models
- Fix FileEditor height with flexbox constraints (flex-1/min-h-0 pattern)

- Add test for markdown preview scrollability (scrollable markdown body)

- Remove planning validator models feature from SettingsModal and engine

- Clean up related types in @kb/core and changeset files
2026-03-31 00:05:33 -07:00
gsxdsm
c71dba7908 feat(KB-147): add planning and validator model settings
- Extend core Settings types with planningProvider, planningModelId, validatorProvider, validatorModelId fields
- Add model selectors in Settings UI for planning and validator models
- Use planning model for triage task specification generation
- Use validator model for specification review in triage
- Use validator model for code reviews in executor agent
- Update AGENTS.md with model hierarchy documentation
2026-03-31 00:02:16 -07:00
gsxdsm
9e8cf21058 feat(KB-142): fix CLI native module packaging with lazy loading
- Implement lazy native module loading with graceful degradation for standalone CLI

- Align release workflows with executable payload structure

- Update macOS signing script for single-executable bundles

- Add documentation for standalone CLI packaging (STANDALONE.md)

- Create changeset for patch release
2026-03-30 23:56:01 -07:00
gsxdsm
7eb9bddfd4 feat(KB-264): add word wrap toggle and fix markdown preview scrolling
- Add word wrap toggle button with WrapText icon to FileEditor

- Fix markdown preview scrolling with height: 100% CSS

- Add comprehensive tests for word wrap toggle and scrollability
2026-03-30 23:39:40 -07:00
gsxdsm
2a222a2be6 fix(KB-263): fix text not being passed into Planning Mode from quick entry
- Fix stale closure bug in PlanningModeModal auto-start useEffect
- Move handleStartPlanning definition before the effect that references it
- Remove redundant handleStartPlanningWithPlan callback
- Add planOverride parameter to handleStartPlanning for proper prop passing
- Fix hasAutoStartedRef timing to prevent early triggering
2026-03-30 23:39:20 -07:00
gsxdsm
3c87514f95 fix(KB-140): fix standalone CLI native asset packaging for terminal support
- Stage node-pty native assets (pty.node, spawn-helper) alongside compiled binary

- Add runtime native-patch.ts to resolve native assets in Bun-compiled binaries

- Fix eager native module loading crash for non-terminal commands

- Enable terminal functionality in isolated standalone deployments

- Update release workflows and add STANDALONE.md documentation
2026-03-30 23:32:30 -07:00
gsxdsm
748f9440b9 feat(KB-251): complete Step 2 — engine title generator module 2026-03-30 23:30:39 -07:00
gsxdsm
ef4a74aa4c feat(KB-261): complete Step 3 — update README with Git Manager button placement 2026-03-30 23:30:09 -07:00
gsxdsm
35def6c1e5 feat(KB-251): complete Step 1 — core types and store updates for AI title generation 2026-03-30 23:28:48 -07:00
gsxdsm
1793ebf7dd feat(KB-261): complete Step 2 — wire up GitManagerModal in App.tsx 2026-03-30 23:28:29 -07:00
gsxdsm
25119673f3 feat(KB-261): complete Step 1 — add Git button to Header 2026-03-30 23:27:50 -07:00
gsxdsm
9235359d78 fix(KB-258): add overflow auto to file editor textarea
- Add overflow: auto to file-editor-textarea CSS class for scroll support
- Ensure long file content is scrollable within the editor viewport
2026-03-30 23:24:07 -07:00
gsxdsm
42375d2f4c feat(KB-257): add localStorage persistence for QuickEntryBox draft input
- Persist draft task input in localStorage to prevent data loss on refresh
- Restore saved draft when component mounts
- Clear localStorage entry when task is successfully created
- Add comprehensive tests for persistence behavior
- Remove fixed positioning styles from ListView component
2026-03-30 23:20:04 -07:00
gsxdsm
b139876e98 feat(KB-256): reposition QuickEntryBox above table headers in ListView
- Move QuickEntryBox from below headers to above the table in ListView
- Update CSS to support new positioning with sticky header layout
- Adjust ListView component structure for better visual hierarchy
- Update ListView tests to reflect new component ordering
2026-03-30 23:18:59 -07:00
gsxdsm
fb123f289d feat(KB-255): remove 60-character truncation from task descriptions in dashboard
- Remove 60-character truncation from ListView component task descriptions
- Remove 60-character truncation from TaskCard component task descriptions
- Update ListView tests to verify full description display
- Add TaskCard tests for description rendering without truncation
- Remove unused CSS styles related to description truncation
2026-03-30 21:40:25 -07:00
gsxdsm
6a62c3cac6 fix(KB-254): fix textarea height in file editor
- Add flex: 1 to allow textarea to fill available space in flex container
- Add min-height: 0 to prevent flexbox min-height constraints from limiting growth
2026-03-30 21:39:06 -07:00
gsxdsm
d070d13414 feat(KB-252): implement collapse-on-blur behavior for QuickEntryBox
- Collapse QuickEntryBox on blur regardless of content (only check dropdowns open state)
- Change expanded controls to show only when focused (isExpanded), not when content exists
- Remove dependency on text content for determining expanded state
- Update all QuickEntryBox tests to reflect new blur behavior and focus requirements
- Fix test async handling with act() for timer advancement
2026-03-30 20:18:06 -07:00
gsxdsm
c4ea1cdb24 feat(KB-253): reorder size badge to far right in done column cards
- Move size badge to the rightmost position in TaskCard for done column cards\n- Maintain left-side placement for other columns (todo, in-progress)\n- Add unit tests to verify badge positioning based on column\n- Update badge order logic to use flex row-reverse for done cards
2026-03-30 20:17:13 -07:00
gsxdsm
4c4c4123eb feat(KB-250): reduce task card ID/title spacing and fix mobile scrolling
- Decrease vertical spacing between task ID and title in task cards

- Fix horizontal scrolling overflow on mobile devices

- Update dashboard styles.css with compact layout adjustments
2026-03-30 20:07:20 -07:00
gsxdsm
153885705d feat(KB-248): replace checkbox with Plan and Subtask buttons in task creation UI
- Replace 'break into subtasks' checkbox with explicit Plan and Subtask buttons

- Update InlineCreateCard (Board view) and QuickEntryBox (List view) with new button layout

- Wire up button callbacks in App.tsx, Board, and ListView components

- Update and add tests for disabled button behavior when no description entered

- Document new Plan and Subtask button behavior in AGENTS.md
2026-03-30 19:53:45 -07:00
gsxdsm
168b5f4daf feat(KB-246): add mobile support to FileBrowserModal
- Add mobile view state and screen size detection in FileBrowserModal

- Add back button and conditional layout with CSS classes for mobile/desktop

- Add mobile CSS for two-state layout (file list and editor views)

- Add comprehensive tests for mobile view interactions and navigation

- Add changeset for release notes
2026-03-30 19:50:35 -07:00
gsxdsm
ef73616f9d feat(KB-244): add GitHub logo icon for import button
- Add custom GitHubLogo SVG component with Octocat mark
- Replace Download icon with GitHubLogo in desktop import button
- Replace Download icon with GitHubLogo in mobile overflow menu
- Use currentColor for automatic light/dark theme compatibility
2026-03-30 19:33:44 -07:00
gsxdsm
762b8d1107 feat(KB-243): fix loading state text and ensure thinking container visibility in PlanningModeModal
- Fix loading state text rendering in PlanningModeModal

- Ensure thinking container is always visible during planning operations

- Add comprehensive tests for loading state behavior and thinking container visibility
2026-03-30 19:26:38 -07:00
gsxdsm
aa488c613e feat(KB-240): move spec edit button to top of task detail modal
- Relocate Edit button from bottom to top of spec section
- Improves discoverability by showing edit action before prompt content
- Adjust margin from marginTop to marginBottom for proper spacing
2026-03-30 19:20:07 -07:00
gsxdsm
17baebe0fa feat(KB-238): remove "Using" prefix from pace indicator messages
- Remove "Using " prefix from pace calculation messages in usage.ts

- Update message format from "Using X% over/under pace" to "X% over/under pace"

- Update all UsageIndicator tests to match new message format

- Add changeset for patch release of @dustinbyrne/kb
2026-03-30 19:16:48 -07:00
gsxdsm
4215d9c81f fix(KB-239): resolve dropdown z-index stacking issue
- Increase dropdown z-index from 50 to 500 in dashboard styles
- Fixes dropdown being obscured by overlapping elements with higher z-index
- Ensures dropdown menu renders above all page content
2026-03-30 19:16:36 -07:00
gsxdsm
6e5befb73d feat(KB-234): add double-click edit and Escape key handling to SpecEditor
- Add double-click handler to SpecEditor for quick edit mode entry

- Implement Escape key handler to exit edit mode

- Add comprehensive double-click interaction tests

- Add CSS styles for improved editor UX
2026-03-30 19:09:52 -07:00
gsxdsm
3f2a86d4d5 feat(KB-233): change pace marker color to gray
- Update pace marker background from --in-progress to --text-muted
2026-03-30 19:06:32 -07:00
gsxdsm
b439ac32b1 feat(KB-176): complete Step 3 — add CSS styling for summary section 2026-03-30 19:00:28 -07:00
gsxdsm
dafced6e23 feat(KB-176): complete Step 2 — add Summary section to Definition tab 2026-03-30 18:59:57 -07:00
gsxdsm
99f99ca401 feat(KB-227): allow viewing binary files as read-only in file browser
- Remove binary file restrictions from file service backend

- Add visual read-only indicator for binary files in FileBrowserModal

- Add CSS styles for binary file indicators

- Update tests to expect binary files to be readable
2026-03-30 18:55:57 -07:00
gsxdsm
a253bb56af fix(KB-214): check content-type before JSON parsing in API error handling
- Add content-type check before attempting JSON parsing of error responses

- Fall back to text() for non-JSON error responses

- Add comprehensive test suite for API error handling scenarios

- Test coverage for JSON, text, and empty error response bodies
2026-03-30 18:54:39 -07:00
gsxdsm
97aa415378 feat(KB-232): swap pace indicator colors and icons in UsageIndicator
- Swap CSS color assignments for slow/fast pace indicators in styles.css
- Swap CheckCircle2 and AlertCircle icons in UsageIndicator component
- Add changeset for the pace indicator color/icon swap
- Remove 2 lines from dashboard README
2026-03-30 18:51:14 -07:00
gsxdsm
d4c4b5dadc docs(KB-130): document settings loading fix and API contract 2026-03-30 18:48:50 -07:00
gsxdsm
6036633490 feat(KB-231): add light mode support for dashboard UI
- Add CSS variables for light/dark theme support in global styles
- Remove hardcoded dark fallback colors from AgentLogViewer component
- Remove hardcoded dark fallback colors from SteeringTab comment bubbles and textarea
- Add changeset for patch release tracking
- Update ProviderIcon and NewTaskModal with proper theme-aware styling
- Clean up unused dashboard routes and tests
2026-03-30 18:47:07 -07:00
gsxdsm
bc12e690b6 feat(KB-230): add ProviderIcon with real icons and update NewTaskModal trigger
- Add ProviderIcon component using real provider brand icons
- Update NewTaskModal trigger button styling and behavior
- Refactor automation.ts for cleaner provider handling
- Remove deprecated ScheduleCard and ScheduleForm components
- Clean up orphaned test files (ScheduleForm.test.tsx, routes.test.ts)
- Update dashboard routes configuration
2026-03-30 18:45:39 -07:00
gsxdsm
e5499e4aef fix(KB-130): complete Step 1 — repair settings API/load contract
- Strip server-owned fields (githubTokenConfigured) from PUT /settings request
- Add tests for GET /settings and PUT /settings endpoints
- Add tests for fetchSettings and updateSettings in api.ts
2026-03-30 18:43:34 -07:00
gsxdsm
7fca1f7010 feat(KB-228): add schedule time presets
- Add morning, afternoon, evening, and night preset schedules to core automation types
- Update ScheduleForm with preset selection dropdown and time handling
- Add color coding for different schedule types in ScheduleCard
- Add tests for new schedule preset functionality
- Include changeset for release tracking
2026-03-30 18:42:04 -07:00