Commit Graph

763 Commits

Author SHA1 Message Date
can1357 5280292306 docs: retrospective changelog maintenance for recent commits 2026-01-31 01:57:20 +01:00
can1357 f28d0bc507 chore: bump version to 9.0.0 2026-01-30 00:23:37 +01:00
can1357 bf891b329c fix: backport fixes from pi-mono (9f3eef65f..52532c7c0)
packages/ai:
- fix: handle "sensitive" stop reason from Anthropic API
- fix: normalize tool call IDs with special characters for Responses API
- fix: add overflow detection for Bedrock, MiniMax, Kimi providers
- fix: 429 status is rate limiting, not context overflow

packages/tui:
- fix: refactored autocomplete state tracking
- fix: file autocomplete should not trigger on empty text
- fix: configurable autocomplete max visible items
- fix: improved table column width calculation with word-aware wrapping

packages/coding-agent:
- fix: preserve external config.yml edits on save (#1046 by @nicobailonMD)
- fix: resolve macOS NFD and curly quote variants in file paths
2026-01-30 00:22:13 +01:00
can1357 fa68a6606b chore: bump version to 8.13.0 2026-01-29 23:35:38 +01:00
can1357 818ebc5d4e fix(coding-agent/lsp): exposed LSP server startup errors in session display and logs
- Added error field to LSP server status types throughout the mode context chain.
- Updated /session command to display the actual error message when an LSP server fails to start.
- Added logger.warn call during LSP warmup to log server startup failures to ~/.omp/logs/.
2026-01-29 23:16:41 +01:00
can1357 5503560d68 feat(coding-agent/debug): added interactive debug command with profiling and diagnostics
- Added interactive `/debug` command with menu-driven interface for bug report triage and system diagnostics.
- Implemented CPU profiling workflow allowing users to capture performance profiles during issue reproduction.
- Added heap snapshot generation for memory issue analysis and debugging.
- Implemented debug report bundle creation with session data, logs, system info, and optional profiling artifacts.
- Added system information collection and display including OS, CPU, memory, and version details.
- Implemented artifact cache management with size statistics and cleanup functionality.
2026-01-29 16:00:36 +01:00
can1357 2aa046c053 chore: bump version to 8.12.7 2026-01-29 11:03:59 +01:00
can1357 32bc2b8d02 fix: fixed LSP server display, file streaming, and slash command autocomplete; reorganized npm scripts
- Fixed LSP servers showing as 'unknown' in status display when server warmup fails by using index-based lookup to correctly extract server name and file types.
- Fixed Read tool loading entire file into memory when offset/limit was specified by implementing streaming line-by-line processing that only collects requested range.
- Fixed slash command autocomplete applying stale completions when typing quickly by adding staleness check before applying completion on Enter/Return.
- Reorganized npm scripts to follow consistent naming pattern with separate TypeScript and Rust variants for check, lint, fmt, and fix operations.
- Updated release script to properly handle Rust workspace version updates in Cargo.toml files and regenerate lockfiles.
2026-01-29 10:57:20 +01:00
can1357 38f0628496 chore: bump version to 8.12.2 2026-01-28 17:18:23 +01:00
can1357 4d66372720 feat(coding-agent): replaced ripgrep with glob-based file discovery and added outline UI components
- Added outline option to dialog and select UI components for rendering outlined lists in extension dialogs and ask tool.
- Replaced ripgrep-based file listing with fs.glob for project scans in system-prompt, find, and read tools.
- Added timeout tracking to ask tool multi-select flow to prevent hanging on selection operations.
- Created new OutlinedList component in hook-selector for rendering bordered list containers.
- Implemented globPaths utility function in pi-utils for glob-based file discovery with gitignore support.
2026-01-28 17:15:24 +01:00
can1357 41c852cbc8 chore: bump version to 8.11.14 2026-01-28 14:22:04 +01:00
can1357 7b510ee6e7 feat(coding-agent): added skill message component and custom message support to AgentSession
- Added SkillMessageComponent to render /skill command messages as compact skill entries with expandable/collapsible UI showing skill metadata and optional full prompt content.
- Added promptCustomMessage() public method to AgentSession to support custom message types with metadata and details properties.
- Added SKILL_PROMPT_MESSAGE_TYPE constant and SkillPromptDetails interface to support skill-specific message handling.
- Enhanced patch tool documentation with guidance on structured block editing, error recovery, and best practices for maintaining code integrity.
- Refactored message handling in AgentSession by extracting _promptWithMessage() private method to consolidate common logic between prompt() and promptCustomMessage().
2026-01-28 14:22:01 +01:00
can1357 1257dd8fac chore: bump version to 8.8.8 2026-01-28 04:01:10 +01:00
can1357 a4bfb5795c refactor(coding-agent): renamed 'complete' tool to 'submit_result' for clarity and consistency
- Renamed 'complete' tool to 'submit_result' throughout codebase for clarity and consistency.
- Updated all tool references, function names, and variable names from 'complete' to 'submit_result' in executor, render, and tools modules.
- Renamed CompleteTool class to SubmitResultTool and CompleteDetails interface to SubmitResultDetails.
- Updated agent prompts and documentation to reference the new 'submit_result' tool name.
- Reorganized task.md prompt to move critical guidance to the top and restructure instructions for better clarity.
2026-01-28 03:28:03 +01:00
can1357 b135c4567d feat(coding-agent): added /fork command to duplicate current session
Creates a new session file with the exact same state as the current session,
including all entries (messages, model changes, compactions, etc.) and
artifacts. The new session's parentSession field links to the original.

- Added fork() method to SessionManager that creates new session file with copied entries
- Added fork() method to AgentSession that handles artifact directory copying
- Added /fork command handler in input-controller and command-controller
- Extended session switch event reason type to include 'fork'
2026-01-28 01:17:58 +01:00
can1357 938beca49e chore: bump version to 8.6.0 2026-01-27 23:26:38 +01:00
can1357 91da560cc7 refactor(coding-agent/task): moved subagents in-process
- run subagent execution in-process and drop worker protocol

- align tool settings manager typing and docs

- queue skill follow-ups, dedupe review findings, restore MCP timeouts
2026-01-27 07:38:55 +01:00
can1357 a0b26fc1aa feat(coding-agent): added plan model role with parallel task execution and improved todo validation
- Added 'plan' model role option to support architectural planning with dedicated model selection via CLI argument (--plan), environment variable (OMP_PLAN_MODEL), and UI menu action.
- Updated model selector to display 'PLAN' badge for plan models and prioritize them in the model sorting order.
- Relaxed task management constraints to allow multiple tasks to be in_progress simultaneously, enabling parallel task execution instead of enforcing single-task-at-a-time workflow.
- Improved todo validation to check for blocking pending tasks before allowing a todo to be marked in_progress, with more specific error messages indicating which earlier tasks are blocking progress.
2026-01-27 06:35:33 +01:00
can1357 0c30ef4b9b chore: bump version to 8.5.0 2026-01-27 05:20:27 +01:00
can1357 34f03bc7fb feat(coding-agent): added subagent skill preloads
- Inline preloaded skill contents in system prompts and allow task-level skill selection.
- Record session init entries with system prompt, task, tools, and output schema.
- Fix session persistence to keep pre-assistant entries in subagent logs.
2026-01-27 05:18:30 +01:00
can1357 0f4829376f refactor(coding-agent/tools): removed enter-plan-mode tool
- Removed the enter-plan-mode tool, associated prompt, and all event handling code.
2026-01-27 04:15:32 +01:00
can1357 a8743c1f91 fix(coding-agent/task): reduced subagent progress overhead
- Throttled subagent progress emissions with a coalescing window and terminal flushes.
- Switched message_update handling to append text deltas into a bounded tail buffer for recent output.
- Removed deep cloning from TaskTool progress updates to keep progress rendering cheap.
2026-01-27 03:03:05 +01:00
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 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 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 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 bdeefa6caa chore: bump version to 8.2.0 2026-01-24 04:29:25 +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 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