Commit Graph
2890 Commits
Author SHA1 Message Date
can1357 386c4b2c8d fix(coding-agent): corrected context file preview to read from raw object
- Fixed context file preview in inspector panel to read content from raw object instead of async file reads.
- Added slash commands to extensions inspector panel for visibility and management.
- Extracted getContextFileContent helper method for type-safe content extraction.
2026-01-06 21:55:24 +00:00
can1357 15fbe228b3 feat(monorepo): merged codex providers and extensions 2026-01-05 15:37:44 +01:00
can1357 44b10b12d5 feat(coding-agent): added background execution with terminal notifications
- Added /background (or /bg) command to detach UI and continue agent execution in background.
- Added completion notification system with configurable methods (bell, osc99, osc9, auto, off).
- Added completionNotification setting and OMP_NOTIFICATIONS environment variable for notification control.
- Added terminal-notify module with protocol detection for terminal emulator notifications.
2026-01-05 15:37:44 +01:00
can1357 2baae16a34 fix(coding-agent): made browser opening cross-platform and non-failing
- Windows uses cmd /c start instead of raw start (shell builtin)
- macOS uses open, Linux uses xdg-open
- Wrapped in try-catch to fail silently when unavailable
2026-01-05 15:37:44 +01:00
can1357 8b38705146 feat(coding-agent): implemented OpenAI Realtime API voice mode
- Added VoiceSupervisor and VoiceController classes for realtime voice mode using OpenAI Realtime API.
- Added echo suppression, noise floor filtering, and fallback transcript handling for voice input.
- Changed voice mode toggle from Caps Lock to Ctrl+Y with auto-send on silence behavior.
- Changed default TTS model from gpt-4o-mini-tts to tts-1.
- Added kwaipilot/kat-coder-pro model and removed deprecated OpenRouter models.
2026-01-05 15:11:28 +01:00
can1357 f5251cce30 refactor(coding-agent): removed pendingVoiceResponses counter
- Removed pendingVoiceResponses counter to simplify voice response handling logic.
2026-01-05 08:12:58 +01:00
can1357 40586a8919 feat: added voice mode with push-to-talk for hands-free interaction
- Added voice mode with Caps Lock push-to-talk for speech-to-text and text-to-speech using OpenAI APIs.
- Added voice settings configuration for transcription model, TTS model, voice selection, and audio format.
- Added description field to task tool for user-facing progress summaries in subagent spawning.
- Added isCapsLock helper function to tui package for Kitty protocol key detection.
- Added getApiKeyForProvider() method to ModelRegistry for retrieving API keys by provider name.
2026-01-05 08:11:18 +01:00
can1357 0315cef75d refactor(coding-agent): extracted shared render-utils to eliminate duplication
- Added shared render-utils module with standardized formatting functions for truncation, bytes, tokens, duration, and tree rendering.
- Extracted resolveOmpCommand() helper to centralize cross-platform subprocess command resolution.
- Consolidated duplicate utility functions across grep, find, ls, notebook, ask, output, exa, lsp, and web search renderers.
- Updated web search tool to support 'auto' as explicit provider option for auto-detection.
2026-01-05 07:35:35 +01:00
can1357 b81869dc8d feat(coding-agent): added language-specific file icons to tool output
- Added language-specific file icons to LSP diagnostics output for improved file type recognition.
- Added language-specific file icon to edit tool header display for visual consistency.
2026-01-05 05:40:12 +01:00
can1357 e880eec447 fix(coding-agent): corrected status line end cap background and separator rendering
- Fixed status line end cap rendering to apply background colors and use correct powerline separator characters.
2026-01-05 05:20:14 +01:00
can1357 36db3ff6fc feat(tui): added hardware cursor support for native terminal blinking
- Added terminal cursor mode support to Editor component with setUseTerminalCursor() and getCursorPosition() methods.
- Added getCursorPosition() method to Component interface and Container class for cursor position aggregation.
- Added hardware cursor positioning and visibility management to TUI class with change detection.
- Enabled terminal cursor mode in HookEditorComponent and CustomEditor for proper cursor blinking.
2026-01-05 05:16:39 +01:00
can1357 f26493824e feat(coding-agent): added 65 themes to expand user customization options
- Added 65 new built-in color themes including dark, light, and material variants.
- Added theme sync script to generate theme index from JSON files.
- Expanded default theme collection from approximately 30 to 96 themes.
2026-01-05 05:16:07 +01:00
can1357 21192e2056 refactor: consolidated tool execution params into details object
- Changed isError property from required to optional across ToolResultMessage and tool event interfaces.
- Added SpinnerType variants with distinct animation frames per symbol preset.
- Fixed spinner animation crash when frames array is empty by adding guard clause.
- Refactored agent-loop tool execution to consolidate toolCallId, toolName, and isError into details object.
2026-01-05 04:44:43 +01:00
can1357 7f68705afa fix(coding-agent): corrected bash spinner syntax and removed redundant metadata
- Fixed string interpolation syntax error in bash execution spinner text.
- Removed redundant line count display from file read tool output metadata.
2026-01-05 04:32:22 +01:00
can1357 fa726683b1 fix(coding-agent): used theme ellipsis in loading animation text
Replaced hardcoded "..." with theme.format.ellipsis in the "Working..."
loading message for consistent styling. Fixed template literal syntax.
2026-01-05 04:23:15 +01:00
can1357 d5dd582753 fix(coding-agent): used theme ellipsis in bash execution component
Replaced hardcoded "..." with theme.format.ellipsis for consistent styling.
2026-01-05 04:22:37 +01:00
can1357 58d9952f9b chore(coding-agent): added blank line before Theme class definition 2026-01-05 04:22:09 +01:00
can1357 f3bc4db78a feat(coding-agent): registered session flush in async cleanup registry
InteractiveMode now registers sessionManager.flush() with the async cleanup
registry, ensuring pending writes are flushed on SIGINT/SIGTERM/SIGHUP.
2026-01-05 04:22:00 +01:00
can1357 e7495a9b0e feat(coding-agent): added animated spinner and language icons for tool display
- Added animated spinner for task tool progress (spinnerFrame in render options)
- Added 35+ language/file type icons to theme (lang.* symbols for Unicode/Nerd/ASCII)
- Read tool now displays file type icons and metadata inline with path
- Added getFileType helper to detect image/binary/text files by extension
2026-01-05 04:21:18 +01:00
can1357 fef71188ff feat(coding-agent): added async cleanup registry for graceful signal handling
Introduced registerAsyncCleanup() for registering async callbacks that run
on SIGINT, SIGTERM, and SIGHUP. This enables proper session flushing before
exit without blocking synchronous signal handlers.
2026-01-05 04:20:22 +01:00
can1357 27d56f39f8 refactor(coding-agent): simplified tool output rendering with collapsible content
- Changed read tool result display to hide content by default with expand hint, showing only metadata until expanded.
- Changed diagnostics display to group messages by file with tree structure and severity icons.
- Changed diff stats formatting to use colored +/- indicators with slash separators.
- Removed custom renderers for ls, find, and grep tools in favor of generic tool display.
- Simplified truncation warning formatting for read tool output.
2026-01-05 03:13:24 +01:00
can1357 fd67003028 feat(coding-agent): added streaming persistence with backpressure control
- Added streaming NDJSON writer with backpressure handling for session persistence.
- Added SessionManager.flush() method for explicit write synchronization before session operations.
- Added content truncation for oversized blocks (500K char limit) to prevent memory exhaustion.
- Replaced synchronous file appends with streaming NDJSON writer in session persistence.
2026-01-05 02:23:36 +01:00
can1357 f693c285ef feat(coding-agent): added /exit command for interactive mode termination
- Added /exit slash command to exit the application from interactive mode.
2026-01-05 02:20:46 +01:00
can1357 ce4703905f feat(coding-agent): introduced structured tree layouts for tool results
- Enhanced tool result renderers to use structured tree layouts with expand hints and truncation indicators.
- Added detailed metadata fields to grep, find, ls, and output tools for richer TUI display.
- Improved web-search renderer with section-based layout including Answer, Sources, Related, and Meta sections.
- Added helper functions for tree-style list formatting, diagnostics rendering, and diff preview truncation.
2026-01-05 01:13:44 +01:00
can1357 d2b3b870e9 fix(coding-agent): corrected extension status symbols for shadowed state
- Added status.shadowed symbol key to theme system for proper shadowed extension state display.
- Fixed extension list and inspector panel to use correct disabled and shadowed status symbols.
- Changed tree.hook symbol from └ to ⎿ in UNICODE_SYMBOLS.
2026-01-05 01:08:15 +01:00
can1357 9b7596c4aa feat(coding-agent): added theme system with 30+ presets and status line editor
- Added 30+ built-in color themes and comprehensive symbol customization via theme presets and overrides.
- Added status line segment editor with presets, separators, and customizable left/right segments.
- Added Biome CLI-based linter client as alternative to LSP for diagnostics and formatting.
- Added 20MB file size limit for image files to prevent memory issues during serialization.
- Replaced hardcoded Unicode symbols throughout codebase with theme-configurable symbol system.
2026-01-05 00:57:16 +01:00
can1357 8ef2697f21 feat(coding-agent): added usage statistics API to centralize tracking
- Added getUsageStatistics() method to SessionManager for tracking token usage and costs.
- Added UsageStatistics interface and type export for session usage tracking.
- Replaced inline token/cost calculation with centralized getUsageStatistics() method in status line.
- Added Pi segment and updated model icon in status line display.
2026-01-04 19:16:54 +01:00
can1357 b0ce4696ae fix(coding-agent): resolved status line not updating after new session
- Fixed status line not updating token counts and cost after starting a new session.
2026-01-04 16:12:01 +01:00
can1357 4811403bed feat(tui): changed cursor to thin blinking bar, updated status line icons 2026-01-04 15:48:46 +01:00
can1357 eba38cfa6e feat(coding-agent): introduced powerline status bar with git integration
- Replaced FooterComponent with new StatusLineComponent featuring powerline-style segments and Nerd Font icons.
- Added git branch detection with file watching and status tracking with 1-second TTL cache.
- Added setTopBorder() method to Editor component for custom status content in top border.
- Changed Editor component to use rounded box-drawing characters for borders.
- Renamed footer theme properties to statusLine prefix across dark and light themes.
2026-01-04 15:24:39 +01:00
can1357 c711092c6f feat(coding-agent): added auto-open browser for HTML export and Gist sharing
- Added automatic browser opening after exporting session to HTML.
- Added automatic browser opening after sharing session as a Gist.
- Extracted browser-opening logic into reusable openInBrowser method.
2026-01-04 14:20:47 +01:00
can1357 47837a0fa7 feat(coding-agent): introduced LSP writethrough for unified file operations
- Added createLspWritethrough factory for unified LSP-aware file write operations with formatting and diagnostics.
- Added syncContent and notifySaved LSP client methods for in-memory content synchronization.
- Added EditMatchError class and utils module with once and untilAborted helper functions.
- Changed FileDiagnosticsResult interface: renamed diagnostics->messages, hasErrors->errored, serverName->server.
- Changed session title generation to trigger before first message instead of after agent work begins.
- Simplified edit and write tools by delegating to writethrough callback and removing manual abort handling.
2026-01-04 02:23:00 +01:00
can1357 f676ef0521 refactor(coding-agent): moved title generation to turn start for earlier feedback
- Moved session title generation to trigger at turn start instead of turn end for earlier feedback.
2026-01-03 23:37:39 +01:00
can1357 7904c7d33e perf(coding-agent): ~500x faster session parsing
- Replaced crypto.randomUUID() with nanoid() for ID generation across session-manager and rpc-mode.
- Added RecentSessionInfo class with lazy getters for fullName, name, and timeAgo properties.
- Simplified session retrieval by consolidating isValidSessionFile() into getSortedSessions() helper.
- Added nanoid ^5.1.6 dependency and removed duplicate safe-buffer entries from lockfile.
2026-01-03 23:24:59 +01:00
can1357 67ad18c4af chore: bump version to 3.5.1337 2026-01-03 21:53:56 +01:00
can1357 44ccf7c1cb feat(coding-agent): replaced 3-column layout with tabbed interface
- Redesigned Extension Control Center from 3-column layout to tabbed interface with provider tabs.
- Replaced sidebar tree navigation with horizontal tab bar supporting TAB/Shift+TAB cycling.
- Added session header/footer output in text mode showing version, model, provider, and thinking level.
- Removed HolyGrailLayout and SidebarTree components in favor of TwoColumnBody with tabs.
2026-01-03 21:53:01 +01:00
can1357 b7cf5a0296 feat(coding-agent): introduced extension control dashboard with search
- Added Extension Control Center dashboard with three-column layout, fuzzy search, and keyboard navigation.
- Added extension enable/disable functionality with persistent settings via SettingsManager.
- Renamed /status command to /extensions with /status as alias.
- Removed dynamic discovery settings from settings selector in favor of new extension dashboard.
2026-01-03 21:25:29 +01:00
can1357 d61a196864 fix: resolved title generation flag reset on new session start
- Fixed title generation flag reset when starting new sessions.
- Added localhost URL detection for OpenAI-compatible provider auto-configuration.
- Changed terminal title prefix from 'pi:' to 'omp:'.
- Added debug logging for title generation model lookup, API key retrieval, and request/response handling.
- Removed title length validation that rejected titles over 60 characters.
2026-01-03 21:04:13 +01:00
can1357 13f3eae8c0 feat: introduced TTSR for real-time pattern matching during streaming
- Added Time Traveling Streamed Rules (TTSR) feature for real-time pattern matching and rule injection during streaming.
- Added TtsrManager with configurable settings for context mode, repeat mode, and repeat gap.
- Added TTSR trigger support across all rule discovery sources (builtin, cline, cursor, windsurf).
- Added abort signal handling in agent loop to support stream interruption for TTSR.
- Added TtsrNotificationComponent for displaying rule violation notifications in interactive mode.
2026-01-03 19:43:17 +01:00
can1357 f8e642adce fix(coding-agent): added git status cache to prevent excessive spawns
- Added 1-second TTL cache for git status to prevent excessive subprocess spawns in footer component.
2026-01-03 19:13:22 +01:00
can1357 0654e5e477 fix(coding-agent): corrected /status column alignment across all sections
- Fixed /status command output to use consistent column alignment across all sections.
- Refactored status rendering to collect all line sections before calculating max width.
- Renamed dev:install script to install:dev for consistency.
2026-01-03 18:38:33 +01:00
can1357 f9f0e6385b docs(coding-agent): renamed CLI references from 'pi' to 'omp'
- Renamed CLI command references from 'pi' to 'omp' throughout documentation.
- Updated version update notification to suggest 'omp update' instead of npm install.
- Updated SDK and extension loading documentation with new command naming.
2026-01-03 18:37:07 +01:00
can1357 a135b65fe8 chore: bump version to 3.1.1337 2026-01-03 18:33:15 +01:00
can1357 bfb5cb13b7 chore: bump version to 3.0.1337 2026-01-03 18:27:32 +01:00
can1357 0438f01fd5 feat(coding-agent): added multi-tool config discovery across 8 AI IDEs
- Added unified capability-based discovery system for loading configuration from 8 AI coding tools (Cursor, Windsurf, Cline, GitHub Copilot, Gemini, Codex, Claude, VS Code).
- Added Discovery settings tab in interactive mode for enabling/disabling configuration providers.
- Added provider source attribution showing which tool contributed each configuration item.
- Added support for tool-specific rule formats including Cursor MDC, Windsurf global_rules, and Cline .clinerules.
- Changed MCP tool name parsing to use last underscore separator for improved server name handling.
- Refactored core loaders (skills, hooks, custom tools, slash commands) to use capability API instead of manual directory scanning.
2026-01-03 18:26:07 +01:00
can1357 790a5370bb feat: renamed binary from pi to omp with config migration support
- Renamed CLI binary and package from 'pi' to 'omp' across all platforms and installers.
- Changed environment variable prefix from PI_* to OMP_* with automatic migration support.
- Changed configuration directory from ~/.pi/ to ~/.omp/ with multi-path fallback discovery.
- Added getConfigDirPaths(), findConfigFile(), and readConfigFile() functions for config resolution across .omp, .pi, and .claude directories.
2026-01-03 15:54:45 +01:00
can1357 a42061d9ee feat(coding-agent): added self-update command with bundled templates
- Added `pi update` command for checking and installing CLI updates from GitHub releases or bun.
- Added cross-platform installer scripts (shell and PowerShell) with automatic PATH configuration.
- Changed HTML export to use compile-time bundled templates via Bun macros.
- Changed `exportToHtml` and `exportFromFile` functions to async operations.
2026-01-03 14:17:28 +01:00
can1357 a6715fb8f0 build(coding-agent): embedded assets into binary to eliminate runtime reads
- Embedded assets (themes, templates, agents, commands) directly into binary at compile time using Bun imports.
- Removed runtime filesystem reads for bundled assets in favor of static build-time imports.
- Simplified build scripts by removing copy-assets steps and compiling directly from TypeScript source.
- Updated publish workflow to use bun publish with NPM_CONFIG_TOKEN environment variable.
- Added TypeScript declarations for importing .md, .css, .html, and .js files as text strings.
2026-01-03 13:48:40 +01:00
can1357 43f427fecf feat(coding-agent): added provider filtering and LSP diagnostics
- Added provider tab bar for filtering models by provider with Tab/Arrow key navigation.
- Replaced single-key shortcuts (S/L) with context menu for model role assignment.
- Added LSP diagnostics display in tool execution results with error/warning indicators.
- Improved model list sorting to include secondary sort by model ID.
- Refactored role markers to use badge-style labels (DEFAULT, SMOL, SLOW).
2026-01-03 08:59:26 +01:00
can1357 4aaebfe5a8 fix: resolved race conditions and resource leaks with mutex locks
- Added mutex-based synchronization to prevent race conditions in LSP client, session context, and RPC mode.
- Fixed resource leaks by ensuring stream reader locks are released in try/finally blocks.
- Fixed duplicate processing issues by tracking in-flight operations in runner creation and message writes.
- Fixed event listener mutation during iteration by copying array before emitting.
- Added abort controller cleanup to prevent memory leaks in auto-compaction and retry logic.
2026-01-03 08:00:55 +01:00