Commit Graph

1410 Commits

Author SHA1 Message Date
can1357 6c1804e73b chore: bump version to 8.4.5 2026-01-26 15:12:13 +01:00
can1357 8351ccd74a fix(coding-agent/tools): fixed .gitignore rule handling in find tool glob filtering
- Refactored glob pattern handling to create Bun.Glob matcher inline for cleaner implementation.
- Improved empty result detection to return early with appropriate message when no files match.
2026-01-26 15:11:35 +01:00
can1357 db8089cc23 refactor(coding-agent/tools): standardized search tool parameters across find and grep
- Renamed `head_limit` to `limit` in grep and find tools for consistency.
- Added `context` as optional alias for the `c` parameter in grep.
- Made hidden files inclusion configurable in find with `hidden` parameter.
- Integrated .gitignore and .ignore file support in find tool.
- Updated plan mode documentation for self-contained plan files.
2026-01-25 22:38:06 +01:00
can1357 d606ce3a1a refactor(coding-agent): use rg everywhere 2026-01-25 21:59:36 +01:00
can1357 3078a412e5 feat(coding-agent): implemented model usage tracking and sorting
- Added model_usage table to persist most-recently-used model timestamps across sessions.
- Model selector now sorts fuzzy-matched results by usage recency.
- Schema version bumped to 3 for model_usage table.
- Removed unused currentModel field from ModelSelectorComponent.
2026-01-25 21:06:08 +01:00
can1357 2d075c3059 chore: bump version to 8.4.3 2026-01-25 19:53:31 +01:00
can1357 6b595a1cad fix(coding-agent): exports 2026-01-25 19:53:14 +01:00
can1357 2abe271d50 chore: bump version to 8.4.2 2026-01-25 19:41:24 +01:00
can1357 4dd3e17c5a docs(coding-agent/prompts): clarified and condensed plan mode prompts
- Refined descriptions to be more concise and focused.
- Restructured content for improved clarity and consistency across all plan mode prompts.
- Tightened critical sections with more direct language.
- Improved plan mode prompt clarity and organization.
2026-01-25 19:41:14 +01:00
can1357 6ef1f4510b chore: bump version to 8.4.1 2026-01-25 19:35:49 +01:00
can1357 79079e6ecd feat(coding-agent): added plan mode with approval workflow and tool gating
- Plan mode provides structured workflow where agents propose plans for user approval before execution.
- Added plan:// internal URL protocol for accessing plan files and injecting plan-mode context into subagent prompts.
- Added plan mode toggle shortcut and paused status indicator in status line.
- Fixed plan reference injection to properly pass workflow state to plan-mode system prompts.
- Improved autocomplete fuzzy matching to support subsequence matching for skill suggestions.
2026-01-25 19:35:26 +01:00
can1357 d26f759b80 chore: bump version to 8.4.0 2026-01-25 14:13:26 +01:00
can1357 7745206ebc feat(coding-agent/task): added support for comma-separated model lists
- Model field now accepts string arrays for fallback model prioritization.
- Extracted model list parsing into dedicated parseModelList helper function.
- Extended default model alias detection to validate all entries in comma-separated lists.
2026-01-25 14:05:45 +01:00
can1357 b9dfcb2890 refactor(coding-agent/modes): consolidated color conversion logic in theme module
- Removed duplicate hexToRgb and rgbToAnsi functions that were only used in foreground color conversion.
- Reused colorToAnsi for background colors by applying ANSI code substitution instead of reimplementing the full logic.
2026-01-25 14:01:45 +01:00
can1357 7bb2e1aa58 feat(port): ported pi-mono improvements + worker & patch improvements
- added Azure OpenAI Responses support and OpenRouter routing compat
- improved patch applicator diagnostics and subagent context propagation
- updated editor cursor handling, keybindings, and working message API
- refreshed porting sync metadata
2026-01-25 13:50:08 +01:00
can1357 551e4521af chore: bump version to 8.3.0 2026-01-25 10:37:56 +01:00
can1357 d1832246a1 feat(coding-agent): exposed tool rendering options and added timeout validation
- Exposed mergeCallAndResult and inline rendering options from tools to their wrappers.
- Added normalizeTimeoutSeconds helper to validate and clamp timeout values with flexible unit support.
- Updated buildRenderContext JSDoc to include python tool in list requiring extra state.
2026-01-25 10:37:45 +01:00
can1357 c96481b446 refactor(coding-agent): enhanced tool rendering and patch application
- Added request parameter tracking to LSP tool rendering for better diagnostics visibility.
- Enhanced tool execution rendering with async diff computation and Kitty protocol support.
- Refactored patch applicator with 7-pass fuzzy matching and indentation adjustment.
- Added inline rendering flag to bash and fetch tool renderers.
- Fixed output block border rendering and added background control parameter.
- Extracted constants for preview formatting to improve maintainability.
2026-01-25 06:52:16 +01:00
can1357 c482d74f63 chore: bump version to 8.2.2 2026-01-24 04:54:14 +01:00
can1357 6afa313d35 chore(coding-agent/ipy): removed git utility functions from prelude
- Removed 7 git utility functions and internal _git() wrapper from IPython prelude.
2026-01-24 04:52:09 +01:00
can1357 ddbc46482e chore: bump version to 8.2.1 2026-01-24 04:35:34 +01:00
can1357 bdeefa6caa chore: bump version to 8.2.0 2026-01-24 04:29:25 +01:00
can1357 779ca4872b style(deps): migrated from Prettier to Biome and updated formatting rules
- Removed Prettier configuration files (.prettierignore and .prettierrc) and migrated formatting to Biome.
- Updated Biome configuration from version 2.3.11 to 2.3.12 and changed arrowParentheses rule from 'always' to 'asNeeded'.
- Pinned @biomejs/biome dependency to exact version 2.3.12 in package.json and bun.lock.
- Applied consistent arrow function formatting across 489 files by removing unnecessary parentheses around single parameters.
- Removed blank lines after comment blocks and reorganized imports for consistency across the codebase.
2026-01-24 04:20:19 +01:00
can1357 f901befd19 refactor(model-discovery): converted model discovery to synchronous file operations
- Changed loadCustomModels from async to sync using fs.readFileSync for immediate resolution.
- Updated discoverModels to return synchronously, removing await from main.ts, pipeline.ts, and commit index.ts.
- Migrated sdk.ts to use node:fs instead of node:fs/promises for synchronous operations.
- Refactored scanDirectoryForSkills to use recursive traversal instead of batch Promise.all.
- Added tarball Dockerfile for testing npm publish/install flow with verdaccio registry.
2026-01-24 04:00:12 +01:00
can1357 51d39e7eea refactor(imports): migrated node module imports to namespace imports
- Converted named imports from node modules (fs, path, os) to namespace imports across all packages.
- Extended extension loader error handling with isEacces and hasFsCode type guards.
2026-01-24 03:37:59 +01:00
can1357 fc3dd7e569 fix(tui): fixed race conditions and null reference errors
- Fixed autocomplete race condition in editor by tracking request ID to discard stale results.
- Added guard clause in plugin-settings to prevent null reference when settings list is undefined.
- Added branch change callbacks in footer to update state after git head resolution.
- Added timing instrumentation to Python kernel startup and gateway acquisition.
- Improved error logging in settings manager for config file access failures.
- Fixed model discovery to re-check file existence after JSON to YAML migration and improved file access error handling.
2026-01-24 03:23:02 +01:00
can1357 e22d123009 refactor(fs): migrated remaining sync file operations to async
- Converted readdirSync, readFileSync, and statSync to async readdir, readFile, stat across skills and agent discovery.
- Made scanDirectoryForSkills async and refactored custom directory scanning to use Promise.all for concurrent processing.
- Updated agent discovery to use fs/promises for async file reading and refactored helper patterns.
- Added AgentParsingError exception class for better error handling during agent parsing.
- Added filesystem error type guards (isEnoent, isEacces, isPerm, etc.) to pi-utils for safe error checking.
- Added color manipulation utilities to pi-utils for accessibility features.
- Added color-blind mode setting to settings manager.
- Migrated plugins, settings, and config modules from sync to async file operations.
- Updated error handling to use new pi-utils type guards for type-safe checking.
2026-01-24 03:18:03 +01:00
can1357 f66e5dba9b build(config): refactored build and TypeScript configuration with Bun loaders
- Removed WASM generation script; use Bun `wasm?raw` loader for imports.
- Added bunfig.toml with loaders for `.md`, `.py`, and `.wasm?raw` text imports.
- Added types/assets/index.d.ts for global TypeScript module declarations.
- Unified TypeScript configuration with tsgo-based checking across monorepo.
- Removed build and WASM steps from install and publish pipelines.
2026-01-24 00:03:52 +01:00
can1357 237b8f8c99 feat(coding-agent/web): upgraded Perplexity search model to sonar-pro with high context size
- Upgraded Perplexity search model from 'sonar' to 'sonar-pro' for improved search quality.
- Added 'high' search context size configuration to Perplexity API requests for enhanced context awareness.
2026-01-23 22:50:51 +01:00
can1357 fcbfab765b refactor: consolidated module import paths
- Removed custom TypeScript path aliases and the associated transformation script.
- Replaced aliased imports with direct `@oh-my-pi` package imports for improved clarity.
- Simplified internal module references by removing explicit `/index` suffixes.
2026-01-23 21:01:13 +01:00
can1357 0cab1fbce9 fix(ai/providers): fixed orphaned tool result handling in message conversion
- Track skipped tool call IDs to prevent dangling tool results when assistant messages are omitted.
- Fixed indentation in Python tool output renderer.
2026-01-23 12:48:06 +00:00
can1357 0fe761dc4b build(deps): refactored TypeScript and package configuration across monorepo
- Added tsconfig.publish.json files to all packages with optimized publish-time configuration.
- Updated all package.json scripts with prepublishOnly hooks for correct type checking during publish.
- Added @oh-my-pi/omp-stats path mappings to root tsconfig.json for consistent imports.
- Added WASM generation script for photon module and integrated into install:dev script.
2026-01-23 13:46:06 +01:00
can1357 d672458138 feat(coding-agent): added mermaid rendering and Python kernel session pooling
- Added mermaid rendering with terminal graphics for markdown output in iTerm2 and Kitty terminals.
- Implemented two-level mermaid caching with deduplication by content hash.
- Added background mermaid pre-rendering in assistant messages for responsive display.
- Implemented Python kernel session pooling with MAX_KERNEL_SESSIONS limit and idle cleanup timer.
- Refactored commit agent to remove unused FileObservation type and improve prompts.
- Updated test utilities to use AuthStorage.create() async factory method.
2026-01-23 13:46:06 +01:00
can1357 ef4077c597 feat(coding-agent/commit): added existing changelog entries display and optional analyze_files
- Added ExistingChangelogEntries interface to pass existing unreleased changelog entries for deletion support.
- Agent prompts now display existing unreleased changelog entries organized by path for potential removal.
- Made analyze_files tool conditional on enableAnalyzeFiles flag when pre-computed observations are available.
- Fixed changelog application to process proposals with only deletions without new entries.
2026-01-23 13:46:06 +01:00
can1357 d78c18d755 feat(coding-agent/commit): added robust fallback and performance optimizations to commit agent
- Added fallback commit generation using file pattern analysis when agentic mode fails, enabling graceful degradation.
- Added trivial change detection to automatically classify whitespace-only and import-reorganization commits.
- Added support for pre-computed file observations to skip redundant agent analysis calls.
- Added diff caching with file prioritization to optimize token usage and respect budget limits in large changesets.
- Added changelog deletion support for removing outdated entries via the proposal interface.
- Optimized git-file-diff and git-overview tools with prioritization logic and smart truncation.
2026-01-23 13:46:06 +01:00
can1357 682308cc56 fix(coding-agent/tui): added nullish coalescing for undefined code parameter
- Prevents errors when code is not provided to the code cell renderer.
2026-01-23 13:46:06 +01:00
can1357 357df166ae style(coding-agent): normalized code formatting across tool renderers
- Fixed indentation and line breaks in nested code blocks (lsp/render.ts, patch/shared.ts).
- Collapsed overlong function arguments and ternary expressions to standard line length.
- Reorganized import statements for consistency (ask.ts).
- Improved readability of conditional expressions (output-block.ts, web/search/render.ts, python.ts).
2026-01-23 13:46:06 +01:00
can1357 cf25fc5398 refactor(coding-agent/commit): resolved smaller model for commit agent execution
- Resolved a dedicated smaller model for the commit agent instead of reusing the primary model.
- Exit commit command with code 0 on successful completion.
2026-01-23 13:46:06 +01:00
can1357 920c5db547 fix(coding-agent/tools): Added timeout and root directory guard to find tool
- Prevented searches from root directory by throwing ToolError when searchPath is '/'.
- Added 5-second timeout to fd operations for both gitignore detection and main file search.
2026-01-23 13:46:06 +01:00
can1357 dcad0b5f46 feat(coding-agent/commit): Added propose_changelog tool for agent-provided changelog entries
- The commit agent now proposes changelog entries via a dedicated tool instead of auto-generation.
- Added retry logic that reminds the agent to call missing tools before session completion.
- Split commit validation now allows changelog target files in change sets.
2026-01-23 13:46:06 +01:00
can1357 f985c1ad69 feat: added retry utilities and improved async error handling for database and terminal operations
- Added retry utility functions `isRetryableError` and `extractHttpStatusFromError` to the @ai package for identifying transient errors suitable for retry operations.
- Made `AgentStorage.open()` asynchronous with exponential backoff retry logic to handle SQLITE_BUSY errors during concurrent database access.
- Refactored `AuthStorage` to use async factory pattern with `create()` method instead of synchronous constructor for proper async initialization.
- Added graceful error handling in terminal operations to exit cleanly when terminal becomes unavailable due to EIO errors instead of crashing.
- Added error handling during emergency terminal restore to prevent errors when terminal is already dead during crash cleanup.
2026-01-23 13:46:06 +01:00
can1357 f10ffbb394 feat(coding-agent/commit): Added hunk-level staging and dependency ordering for split commits
- Added hunk selectors (all, indices, or line ranges) to split commits for partial file staging.
- Added topological sort via Kahn's algorithm to execute commits in correct dependency order.
- Added circular dependency detection with validation errors for split commit plans.
- Changed analyze_file tool to analyze_files for parallel batch analysis with cross-file context.
- Added stageHunks() git helper for fine-grained partial file staging by hunk index or line range.
2026-01-23 13:46:06 +01:00
can1357 ab869e7828 refactor(coding-agent): Standardized tool output rendering with centralized TUI components
- Output block border color now reflects state (error, success, warning) for visual feedback.
- Tools use renderStatusLine, renderTreeList, renderFileList, renderCodeCell for unified formatting.
- Write tool shows streaming preview of content being written with syntax highlighting.
- Read tool displays resolved path information when reading from URLs or symlinks.
- Calculator shows expression and output (e.g., `2+2 = 4`) instead of just the result.
- Empty and error states render consistently with status headers across Find, Grep, Ls, Notebook, Ask.
2026-01-23 13:46:06 +01:00
can1357 0a1610ce71 feat(coding-agent/commit): Added Markdown rendering with word wrapping to agentic commit output
- Assistant messages now render as formatted Markdown using the TUI Markdown component.
- Word wrapping respects terminal width with a minimum of 40 columns.
2026-01-23 13:46:06 +01:00
can1357 5f506088f8 refactor(coding-agent/commit): Switched to full multi-line messages and tree-style tool arg rendering
- Added extractMessageText and writeAssistantMessage for full multi-line assistant output.
- Rewrote formatToolArgs to recursively traverse nested objects and arrays.
- Changed formatToolArgsBlock to use branch characters for tree-style visual hierarchy.
2026-01-23 13:46:06 +01:00
can1357 333422fec8 refactor(coding-agent/commit): Restructured progress output with thinking previews and tool arg blocks
- Added real-time thinking line that updates with streaming message preview during agent processing.
- Changed tool execution output to display name and formatted argument block separately.
- Replaced generic message labels with content previews extracted from assistant responses.
2026-01-23 13:46:06 +01:00
can1357 8668e92021 feat(coding-agent/commit): Added real-time progress output to agentic commit mode
- Subscribes to agent session events to display thinking status, tool calls, and message counts.
- Formats tool call labels with primary argument (path, file, query, etc.) truncated to 40 chars.
- Displays completion summary with total message and tool call counts.
2026-01-23 13:46:06 +01:00
can1357 db57eb8e62 feat(coding-agent/commit): Added agentic commit mode with tool-based git inspection
- Replaced deterministic pipeline with agent session using specialized git tools for diff analysis.
- Introduced git-overview, git-file-diff, git-hunk, and analyze-file tools for fine-grained inspection.
- Added split-commit support to create multiple atomic commits for unrelated changes.
- Added commit message validation with filler word detection, meta phrase filtering, and unicode normalization.
- Added --legacy flag to use the deterministic pipeline when preferred.
- Extracted formatCommitMessage and model selection logic into dedicated modules.
2026-01-23 13:46:06 +01:00
can1357 0a9dd1612c feat(coding-agent/config): added file locking mechanism to prevent concurrent write races in settings persistence
- Added file locking mechanism to prevent concurrent write races in settings persistence.
- Exported `withFileLock` utility function for coordinating file access across processes.
- Integrated file locking into SettingsManager.save() to ensure atomic config updates.
2026-01-23 13:46:06 +01:00
can1357 068aa50e28 refactor(coding-agent/commit): enhanced scope candidate extraction with distinct root tracking for wide change detection
- Added distinct root tracking to scope candidate extraction for improved wide change detection.
- Introduced extractTopLevelRoot() helper function to identify top-level directory roots in file paths.
- Enhanced isWideChange() function to consider number of distinct roots (3+) as a wide change indicator.
2026-01-23 13:46:06 +01:00