Commit Graph

1298 Commits

Author SHA1 Message Date
can1357 a8beb8ffbf chore: bump version to 6.8.2 2026-01-21 02:02:11 +01:00
can1357 ff3203ce90 feat(pi-utils): added occurrence previews for ambiguous patch matches
- Enhanced patch application to handle duplicate content with occurrence previews.
- Added AsyncQueue class for improved async stream management in ptree.
- Improved error messages with line previews for ambiguous text matches.
- Added occurrence tracking properties to MatchOutcome interface.
2026-01-21 02:00:17 +01:00
can1357 87c1de9fab fix(ai): corrected OAuth callback flows and hardened credential storage permissions
- Fixed OAuth callback flows for GitHub Copilot and Google Gemini to handle cancellation and manual input errors.
- Hardened database file permissions to 0o600 and directory creation to 0o700 to prevent credential leakage.
- Fixed cache invalidation for streaming edits and file existence checks for prompt templates.
- Fixed bash output streaming to prevent premature closure and LSP client request handling for aborted signals.
2026-01-21 01:44:31 +01:00
can1357 698751e7fe chore: bump version to 6.8.1 2026-01-20 19:51:22 +01:00
can1357 21af96d890 fix: added Cursor OAuth provider and fixed authentication flow race conditions
- Added Cursor OAuth provider support to CLI authentication flow.
- Fixed race conditions in OAuth callback handling and session picker cleanup.
- Improved JWT token parsing and error handling across OAuth providers.
- Replaced Bun.sleep() with abortable sleep for proper cancellation support.
- Enhanced process execution with concurrent stream reading and better timeout handling.
- Added cache cleanup mechanism for auth storage with 5-minute intervals.
2026-01-20 19:50:50 +01:00
can1357 94f406d4f0 chore: bump version to 6.8.0 2026-01-20 16:30:47 +01:00
can1357 b2c94bef1a refactor(deps): restructured codebase to use centralized pi-utils package
- Created new @oh-my-pi/pi-utils workspace package with shared utilities for logging, process management, stream handling, and temporary directory management.
- Migrated all packages to use centralized logger from @oh-my-pi/pi-utils instead of local winston implementations.
- Replaced custom process spawning and stream reading implementations with standardized cspawn and readLines utilities across all modules.
- Converted synchronous file operations and process spawning to async patterns using Bun shell syntax and fs/promises.
- Added streaming edit abort functionality with configurable setting to abort on patch preview failures.
- Updated test framework from vitest to bun:test across all test suites.
2026-01-20 05:33:21 +01:00
can1357 030b812624 feat(ai): implemented OAuth authentication with SQLite storage and callback server
- Added OAuth callback server with automatic port fallback and CSRF protection.
- Added persistent SQLite-based credential storage replacing auth.json file system.
- Added logout and status CLI commands for OAuth provider management.
- Refactored all OAuth flows to use common OAuthCallbackFlow base class.
- Added automatic regex pattern validation with fallback to literal mode in grep tool.
2026-01-19 20:25:43 +01:00
can1357 5b15b17587 chore: bump version to 6.7.670 2026-01-19 18:55:12 +01:00
can1357 174288b8f6 feat(ai/providers): enhanced OAuth flow with state validation and cache control
- Enhanced OAuth authentication flow with proper state generation and validation.
- Added configurable cache control support for tool blocks and user text messages.
- Improved security with increased PKCE verifier size and better token handling.
- Simplified OAuth tool name handling and unified client creation flows.
2026-01-19 18:54:56 +01:00
can1357 43885b6b9a chore: bump version to 6.7.67 2026-01-19 17:32:39 +01:00
can1357 dac7202d30 feat(coding-agent): added normative rewrite settings and streaming preview to tools
- Added normative rewrite and read line numbers settings for tool configuration.
- Enhanced edit and write tools with streaming preview and spinner animation.
- Improved normative patch tool to auto-derive anchors from diff hunks.
- Updated read tool to respect default line numbers setting.
2026-01-19 17:32:24 +01:00
can1357 e01d08be07 chore: bump version to 6.7.0 2026-01-19 16:33:17 +01:00
can1357 440ac33dbf style: reformatted TypeScript code formatting and added benchmark reports
- Reformatted code indentation and spacing across multiple TypeScript files.
- Standardized export statements to single-line format in various modules.
- Fixed async/await precedence and corrected indentation in benchmark files.
- Added benchmark report files for GPT-5.1-codex-mini model performance.
2026-01-19 16:22:47 +01:00
can1357 f06d289338 feat(coding-agent): added normative patch generation for edit tool canonicalization
- Added normative patch generation for canonicalizing edit tool output.
- Implemented tool call argument rewriting for session history persistence.
- Enhanced patch applicator to support normalized patch input processing.
- Updated agent and AI types to include normative input parameters.
- Removed tar-stream dependency and replaced with Bun.Archive for benchmark package.
2026-01-19 16:16:55 +01:00
can1357 5ae70ed2dd feat: enhanced patch applicator with fallback variants and fuzzy matching
- Enhanced patch applicator with fallback variant generation and improved fuzzy matching.
- Added support for ellipsis placeholders, top-of-file anchors, and comment-prefix normalization.
- Renamed operation and moveTo parameters to op and rename across patch tool interfaces.
- Added batch processing system to benchmark runner for parallel task execution.
- Added comprehensive benchmark reports for Claude Haiku and GPT-5.1-codex-mini models.
2026-01-19 16:16:55 +01:00
can1357 7a081e1c7c feat: added React mutation testing package and coding-agent improvements
- Added new @oh-my-pi/react-edit-benchmark package for React source code mutation testing.
- Added --no-title flag to disable automatic session title generation in coding-agent.
- Changed default behavior of read tool to omit line numbers by default.
- Added environment variable support for edit tool configuration and fuzzy matching.
- Updated test files to use import.meta.dir for ES module compatibility.
- Added Prettier configuration and CI improvements for private package handling.
2026-01-19 16:16:55 +01:00
can1357 5f8b80c5a8 fix(coding-agent): flushed lsp batch on delete 2026-01-19 16:16:55 +01:00
can1357 50e3d73b65 feat(coding-agent): added allowFuzzy option to control patch matching behavior
- Added allowFuzzy option to control fuzzy matching behavior in patch operations.
- Added validation for line numbers to ensure they are >= 1 in patch headers and hints.
- Enhanced fuzzy matching algorithms to respect the allowFuzzy setting for precise control.
- Fixed patch application to prefer actual diff over cached preview when displaying results.
2026-01-19 16:16:55 +01:00
can1357 e22d74b8bb fix(coding-agent/patch): accept unique substring matches regardless of line length ratio
Previously, substring context matching required the pattern to be at least
30% of the line length to prevent ambiguous matches. This caused failures
when matching short identifiers like 'class EditTool' against long export
lines with generics and implements clauses.

Now, if exactly one substring match exists in the file, it is accepted
regardless of the ratio threshold - uniqueness alone is sufficient for
disambiguation. The ratio filter is only applied when multiple substring
matches exist.

Added regression tests for model edit attempts from session analysis.
2026-01-19 16:16:54 +01:00
can1357 df2745e6f5 feat(coding-agent): added OMP_NO_PATCH env var and simplified diff formatting
- Added OMP_NO_PATCH environment variable to control patch mode behavior.
- Simplified function call formatting in diff rendering.
2026-01-19 16:16:54 +01:00
can1357 2b103bf9ad feat(coding-agent/core): added nested @@ context anchors and hierarchical matching
- Added support for nested @@ context anchors and hierarchical context matching.
- Enhanced patch parser to handle @@ line N syntax and multiple context accumulation.
- Improved diff rendering and error messages with hierarchical context display.
- Added comprehensive regression tests for model-generated patch formats.
2026-01-19 16:16:54 +01:00
can1357 fc1ae8dc72 refactor(coding-agent): migrated to class-based architecture for tool implementations
- Refactored output sanitization logic into centralized streaming-output module.
- Converted tool implementations from factory functions to class-based architecture.
- Updated SSH executor to use shared output streaming infrastructure.
- Moved voice recording logic from function to class-based implementation.
2026-01-19 16:16:54 +01:00
can1357 76c5ac23b9 feat(coding-agent/core): changed default edit tool to apply-patch format
- Changed default edit tool mode to use apply-patch format instead of oldText/newText.
2026-01-19 16:16:54 +01:00
can1357 fa2261002d refactor(coding-agent/core): migrated tool implementations from factory functions to class-based architecture
- Converted all tool implementations from factory functions to class-based architecture.
- Updated SDK exports to expose tool classes instead of create*Tool factory functions.
- Refactored tool instantiation patterns across all built-in tools and test files.
- Added proper TypeScript typing with AgentToolResult and AgentToolUpdateCallback interfaces.
2026-01-19 16:16:54 +01:00
can1357 a3ef35d83e feat(coding-agent/core): added configurable fuzzy matching and binary file support to patch operations
- Added configurable fuzzy matching threshold for edit operations with 0.85-0.98 range.
- Added binary file reading support for improved BOM detection in patch operations.
- Enhanced patch application with better ambiguity detection and clearer error messages.
- Improved diff truncation algorithm to preserve context around changes more intelligently.
- Fixed BOM detection to check binary content when text-based detection fails.
2026-01-19 16:16:53 +01:00
can1357 f8787648c1 feat(coding-agent/core): added comprehensive apply-patch mode with create/update/delete/rename operations
- Added comprehensive apply-patch mode for edit tool with create, update, delete, rename operations.
- Converted edit tool from factory function to class-based implementation with improved API.
- Enhanced patch application with ambiguity detection, fuzzy matching, and better error handling.
- Added line ending preservation, BOM handling, and trailing newline policy for file formatting.
- Added validation for empty oldText and multi-file patch rejection to improve reliability.
2026-01-19 16:16:53 +01:00
can1357 c014c309d6 refactor(coding-agent/core): restructured edit tool into modular patch architecture
- Refactored edit tool implementation with modular patch architecture.
- Moved edit tool implementation from edit/ to patch/ module.
- Updated import paths for EditToolDetails across core modules.
- Enhanced patch parsing with unified diff and Codex-style patch support.
- Improved fuzzy matching algorithms for more robust text location.
2026-01-19 16:16:53 +01:00
can1357 436a0065df fix(coding-agent): corrected tool completion logic to prevent premature marking
- Fixed tool completion logic to only mark tools as complete when streaming is not aborted or in error state.
2026-01-19 16:16:53 +01:00
can1357 232dbc1ea7 feat(coding-agent): added apply-patch mode to edit tool with create update delete rename operations
- Added comprehensive apply-patch mode for edit tool with create, update, delete, rename operations.
- Added MCP tool caching and deferred loading for faster startup performance.
- Improved edit tool architecture with modular diff and apply-patch implementations.
- Enhanced MCP connection handling with waitForConnection for better reliability.
- Fixed MCP tool path formatting to correctly display provider information.
2026-01-19 16:16:53 +01:00
can1357 44a32e6031 chore: bump version to 6.2.0 2026-01-19 05:29:37 +01:00
can1357 5e2d1fa603 feat(coding-agent): added ToolCallContext interface for batch execution metadata
- Added ToolCallContext interface with batch execution metadata including batchId, index, and total.
- Enhanced getToolContext() to accept optional ToolCallContext parameter for batch-aware tool execution.
- Implemented LSP batching support to coalesce formatting and diagnostics operations on parallel edits.
- Added comprehensive tests for tool call batch context and LSP writethrough batching functionality.
2026-01-19 05:28:28 +01:00
can1357 8fc853a5c2 chore: bump version to 6.1.0 2026-01-19 04:33:27 +01:00
can1357 a605108d14 feat(coding-agent/core): added lspmux integration for LSP server multiplexing
- Added lspmux integration for LSP server multiplexing to reduce startup time and memory usage.
- Added LSP tool proxy support for subagent workers with async request handling.
- Updated LSP status command to show lspmux connection state and availability.
- Simplified rust-analyzer default configuration by removing custom initOptions and settings.
2026-01-19 04:32:37 +01:00
can1357 53541b110b feat(coding-agent/core): added depth-controlled search and path utilities
- Added maxdepth and mindepth parameters to find function for depth-controlled file search.
- Added counter function to count occurrences and sort by frequency.
- Added basenames function to extract base names from paths.
- Fixed biome.json configuration to remove invalid double negation pattern.
2026-01-19 03:20:22 +01:00
can1357 34f2fc0854 chore: bump version to 6.0.0 2026-01-19 01:38:04 +01:00
can1357 e496de869a feat(coding-agent): added support for new providers and updated keyboard shortcuts
- Updated keyboard shortcuts: Ctrl+P/Shift+Ctrl+P now cycle role models instead of models.
- Changed Ctrl+T to toggle todo list expansion instead of thinking block.
- Added support for openai-codex-responses, google-vertex, cursor providers.
- Updated settings structure to use modelRoles object and removed deprecated options.
- Removed WASM base64 generation script and simplified postinstall process.
- Updated SDK documentation to reflect async auth/model discovery and new auth storage path.
2026-01-19 01:32:04 +01:00
can1357 5a601bb0c0 feat: added Windows ARM64 support and streaming WASM loading with base64 fallback
- Added Windows ARM64 binary support and architecture detection in installers.
- Updated WASM loading to use streaming with base64 fallback for binary compatibility.
- Moved TTSR settings to dedicated tab and expanded abbreviation to Time Traveling Stream Rules.
- Added comprehensive install testing infrastructure with Docker validation.
- Updated package name from @oh-my-pi/omp-coding-agent to @oh-my-pi/pi-coding-agent.
2026-01-19 01:23:27 +01:00
can1357 9b3cf35630 docs(readme): added docs for Python tool, Todo tool, CLI subcommands, and Bedrock provider
- Added documentation for Python tool with IPython kernel integration.
- Added documentation for Todo tool with task tracking capabilities.
- Added documentation for new CLI subcommands (config, setup) and xhigh thinking level.
- Updated AI package description to include Bedrock provider.
2026-01-19 00:17:11 +01:00
can1357 92ec2550d2 refactor(coding-agent): reorganized test files to proper test directory structure
- Moved test files from src/core to test/core directory.
- Moved test files from src/core/tools to test/tools directory.
- Moved test files from src/discovery to test/discovery directory.
- Updated import paths to reflect new test file locations.
2026-01-19 00:07:23 +01:00
can1357 ffe79ab5b9 chore: bump version to 5.7.67 2026-01-19 00:04:19 +01:00
can1357 03cfbd81d4 feat(coding-agent): added vendored photon WASM for image processing
- Replaced external photon-node dependency with vendored WebAssembly implementation.
- Added local photon library with 200+ image processing functions and WASM bindings.
- Updated image conversion and resize utilities to use local photon implementation.
- Added error handling for unknown OAuth providers in AI package.
2026-01-19 00:02:12 +01:00
can1357 768c0afcb2 chore: bump version to 5.6.77 2026-01-18 22:24:40 +01:00
can1357 7469166ad1 chore: cleaned historical changelog entries and added validation to release script
- Removed historical version entries from multiple package CHANGELOG files.
- Added changelog validation functions to release script.
- Prevented creation of empty version entries in changelog generation.
2026-01-18 21:50:00 +01:00
can1357 0c86c38d4d chore: bump version to 5.6.70 2026-01-18 21:37:18 +01:00
can1357 53e75e33c5 feat(coding-agent/core): loaded Python modules from user and project directories with priority
- Added Python prelude extension module loading from user and project directories.
- Implemented automatic discovery of Python modules from `.omp/modules` and `.pi/modules` directories.
- Added prioritized module loading with project-level modules overriding user-level modules.
- Updated kernel initialization methods to load Python modules during startup.
2026-01-18 21:36:44 +01:00
can1357 a9ca7365ac chore: bump version to 5.6.7 2026-01-18 21:11:16 +01:00
can1357 aac8187e05 feat(coding-agent): implemented shared Python gateway for efficient kernel reuse
- Added Python shared gateway setting for resource-efficient kernel reuse across sessions.
- Enhanced Python tool with session-scoped kernel isolation and workdir-aware session IDs.
- Added Python tool cancellation support with timeout handling and proper cleanup.
- Expanded Python prelude with enhanced file operations, git utilities, and improved output handling.
- Fixed AI provider message transformation for proper tool call handling and error recovery.
2026-01-18 21:07:02 +01:00
can1357 b40d2db72e feat(coding-agent/core): added structured status events for Python prelude with TUI rendering
- Added structured status events for Python prelude functions with TUI rendering.
- Implemented status event parsing and display system with operation icons.
- Enhanced Python tool renderer to display status events alongside output.
- Added support for rich output using IPython.display.display() in Python tool.
2026-01-18 20:17:37 +01:00
can1357 27a64294b1 fix(coding-agent/core): fixed Python prelude sh() and cleaned up shell output 2026-01-18 20:07:01 +01:00