Commit Graph
1700 Commits
Author SHA1 Message Date
can1357 86ef2bd34b chore: bump version to 3.34.0 2026-01-09 12:17:04 +01:00
can1357 5a63120dd3 feat(ai): add @oh-my-pi/pi-ai package with tool name prefixing
- Port pi-ai from upstream with Bun-first approach (source files, no dist)
- Add cli_ prefix to tool names in OAuth mode to avoid collisions
- Improve beta header handling with proper deduplication
- Convert codex-instructions.md to Bun text embed
- Strip .js extensions from all imports
2026-01-09 12:10:03 +01:00
Can Bölük d934594aed feat(coding-agent/core): added system info caching for faster startup
- Added caching for system environment detection to improve startup performance.
- Changed GPU detection on Linux to prioritize discrete GPUs (NVIDIA, AMD) over integrated graphics and skip server management adapters.
- Implemented SystemInfoCache interface and file-based persistence in ~/.omp/system_info.json.
2026-01-08 17:43:41 +01:00
Can Bölük df6fca373b feat(coding-agent): added SSH shell detection and host info caching
- Added disk usage information to automatic environment detection.
- Added versioned SSH host info cache format for automatic schema refresh on version mismatch.
- Added SSH compat shell detection to probe for bash/sh on Windows hosts.
- Expanded SSH tool documentation with shell-specific command examples for Unix, PowerShell, and CMD.
- Refactored buildCompatCommand to sync function with explicit shell type parameter.
2026-01-08 17:41:24 +01:00
can1357 66a7255e1d feat(ssh): added automatic remote OS/shell detection with cross-platform support
- Added automatic remote host OS and shell detection with disk-based caching.
- Added compat mode option for SSH hosts to use POSIX shell compatibility wrapping.
- Added Windows shell support with PowerShell and CMD path escaping functions.
- Updated SSH tool description to display detected shell type per host.
- Simplified SSH tool documentation by removing OS-specific command examples.
2026-01-08 17:27:00 +01:00
can1357 09bba56fae feat(coding-agent/core): added cross-platform env detection for context-aware prompts
- Added automatic environment detection to system prompt including OS, distro, kernel, CPU, GPU, shell, terminal, desktop environment, and window manager information.
- Implemented cross-platform detection functions for Windows, macOS, and Linux environments.
2026-01-08 17:10:05 +01:00
can1357 008326b92e feat(coding-agent): added SSH tool with persistent connections and SSHFS mounts
- Added SSH tool for executing commands on remote hosts with project config discovery from ssh.json files.
- Added persistent SSH connection manager with master socket support and automatic cleanup.
- Added SSHFS mount utilities for mounting remote filesystems with automatic unmount on session end.
- Added SSH capability definition with host validation and discovery provider registration.
2026-01-08 16:47:15 +01:00
can1357 91e2d478fb chore: bump version to 3.33.0 2026-01-08 14:13:08 +01:00
can1357 7740b3ad47 feat(coding-agent): added env vars, file mention validation, and model fallback logic
- Added environment variable management via settings.json with applyEnvironmentVariables() and related methods.
- Enhanced file mentions to support directories, validate boundaries, and truncate large files.
- Added fallback model candidate logic in title generator to retry on model failures.
- Fixed bash output preview to minify JSON content and skip structural-only lines.
- Added Cerebras provider support with thinking block filtering and zai-glm-4.6 model priority.
- Refactored tree rendering to use consistent theme.tree properties instead of boxSharp.
2026-01-08 14:10:01 +01:00
can1357 0e09127492 chore: bump version to 3.32.0 2026-01-08 10:01:06 +01:00
can1357 b41e707a20 fix(tui): truncated long whitespace tokens in text wrapping
Long whitespace tokens (e.g., lines with many spaces) were not being
truncated when they exceeded the line width, causing rendered lines
to exceed terminal width and crash the TUI.
2026-01-08 09:34:48 +01:00
can1357 c865937c33 fix(coding-agent): propagated model override to subagents 2026-01-08 07:17:15 +01:00
can1357 8aeabdc797 feat(coding-agent): added LSP warmup timeout and bundled /init command
- Added progress indicator callback when starting LSP servers at session startup.
- Added bundled /init slash command available by default without requiring user configuration.
- Added 5-second timeout for LSP server warmup with lazy initialization fallback.
- Added configurable timeout parameters to LSP client initialization and request methods.
- Refactored slash command loading to use parseCommandTemplate helper and merge embedded commands.
2026-01-08 06:49:18 +01:00
can1357 14ceba6984 chore: bump version to 3.31.0 2026-01-08 02:51:34 +01:00
can1357 d11ccd2e93 feat(coding-agent): added temp model controls and auto-chdir 2026-01-08 02:51:29 +01:00
can1357 91a49e7178 feat(coding-agent): added diff-aware code review with auto-scaled reviewer agents
- Added upfront diff parsing and filtering in code review command with automatic reviewer agent count recommendation.
- Added fsync call before closing session writer to ensure data durability.
- Replaced Bun.Glob-based gitignore scanning with fd command execution in find tool.
- Fixed hasOverrides logic to only set true when parsed.servers has entries in LSP config.
- Replaced console.log/error/warn calls with structured logger across session manager and LSP modules.
2026-01-08 00:26:31 +01:00
can1357 02cae69bb5 feat: added session storage abstraction and configurable bash interceptor rules
- Added in-memory session storage abstraction with SessionStorage interface and MemorySessionStorage implementation.
- Added configurable bash interceptor rules with pattern-based command interception settings.
- Added AbortSignal support to 80+ web scrapers for request cancellation.
- Changed task tool to require explicit task `id` field and single `agent` parameter at top level.
- Removed `submit_review` tool - reviewers now use `complete` tool with structured output.
- Replaced Date.now() and crypto.randomUUID() with nanoid() for unique ID generation throughout codebase.
2026-01-07 23:17:09 +01:00
can1357 5a7cf77ba9 feat(web-scrapers): added 25+ specialized scrapers with modular architecture
- Added 25+ new specialized web scrapers for sites including MusicBrainz, Discourse, Lemmy, Sourcegraph, ORCID, and package registries.
- Refactored web-fetch-handlers module to web-scrapers with modular architecture and centralized handler exports.
- Added AbortSignal support throughout web-fetch tool and scraper utilities for improved request cancellation.
- Fixed npm license parsing to handle object format with type property.
- Fixed raw GitHub URL construction by removing refs/heads prefix from ref path.
2026-01-07 20:34:33 +01:00
can1357 d5530d428b chore: bump version to 3.30.0 2026-01-07 15:33:20 +01:00
can1357 10fb32842c fix(coding-agent): corrected Lobsters API endpoint to use /hottest.json
- Fixed Lobsters front page handler to use correct API endpoint (`/hottest.json` instead of invalid `.json`).
2026-01-07 15:33:01 +01:00
can1357 49e7091550 feat(coding-agent/core): added env vars for task limit configuration
- Added environment variable configuration for task limits (OMP_TASK_MAX_PARALLEL, OMP_TASK_MAX_CONCURRENCY, OMP_TASK_MAX_OUTPUT_BYTES, OMP_TASK_MAX_OUTPUT_LINES, OMP_TASK_MAX_AGENTS_IN_DESCRIPTION).
2026-01-07 15:31:24 +01:00
can1357 7380041c82 fix(coding-agent): resolved task executor hangs with graceful termination
- Added graceful termination with cleanup and timeout handling to task executor.
- Fixed task worker error handling to prevent hanging on crashes with global error handlers.
- Fixed double-stringified JSON output parsing from subagents.
- Fixed markitdown tool to use automatic installer via ensureTool() instead of Bun.which().
- Added abort reason tracking and centralized timer/listener cleanup in executor.
2026-01-07 15:29:46 +01:00
can1357 c45f513b6b feat(web-fetch-handlers): added 50+ platform-specific content extractors
- Added 50+ specialized web-fetch handlers for platform-specific content extraction including GitHub, GitLab, npm, PyPI, crates.io, and many more.
- Added automatic yt-dlp installation for YouTube transcript extraction with fallback support.
- Added handlers for social platforms including Twitter/X via Nitter, Reddit, Mastodon, Bluesky, and Hacker News.
- Added handlers for academic sources including arXiv, PubMed, Semantic Scholar, bioRxiv, and IACR ePrint.
- Added Python tool installation support via uv or pip fallback for markitdown and html2text.
- Extracted URL handlers from monolithic web-fetch.ts into modular handler files with shared utilities.
2026-01-07 15:29:17 +01:00
can1357 f3e568fa8d feat(coding-agent): added YouTube transcript extraction via yt-dlp
- Added YouTube video support with automatic transcript extraction via yt-dlp.
- Added parseYouTubeUrl function to extract video and playlist IDs from various URL formats.
- Added cleanVttToText function to convert VTT subtitle files to plain text.
- Reformatted indentation from spaces to tabs in jtd-to-json-schema.ts and name-generator.ts.
2026-01-07 14:34:31 +01:00
can1357 09c28bc15d chore: bump version to 3.25.0 2026-01-07 04:28:15 +01:00
can1357 ee70fc2ec0 feat(coding-agent): added structured output with JSON schema validation for subagents
- Added `complete` tool for structured subagent output with JSON schema validation and JTD support.
- Added `query` parameter to output tool for jq-like JSON querying of subagent results.
- Added `output_schema` parameter to task tool enabling structured completion from subagents.
- Replaced index-based agent identifiers with memorable two-word task names like SwiftFalcon.
- Added JTD-to-JSON-Schema converter module for schema format flexibility.
2026-01-07 04:26:49 +01:00
can1357 b9c33d0788 docs(coding-agent): expanded architecture docs for SDK wrapper and capability system
- Updated DEVELOPMENT.md architecture diagram to reflect SDK wrapper, capability system, and git-tool dependency.
- Expanded directory structure documentation to cover 40+ new files including capability, discovery, and extension systems.
- Revised development workflow instructions to use bun commands instead of npm/tsx.
- Added documentation sections for new extension sources and capability types.
- Updated AGENTS.md with simplified issue labeling, corrected repository URLs, and streamlined release commands.
- Consolidated README.md package table and removed redundant development/publishing sections.
2026-01-07 03:09:30 +01:00
can1357 5df742bf73 chore: bump version to 3.24.0 2026-01-07 03:04:34 +01:00
can1357 301f52c716 ci(publish): consolidated cross-platform build to single runner
- Removed matrix strategy; all binaries built on ubuntu-latest
- Added cross-platform native binding installation for bun
- Simplified artifact handling by building directly in packages/coding-agent/binaries
- Added tag input for workflow_dispatch
2026-01-07 03:04:25 +01:00
can1357 753be5d87f feat: introduced Worker-based subagent execution with BUILTIN_TOOLS registry
- Added ToolSession interface and Bun Worker-based subagent execution replacing subprocess spawning.
- Added BUILTIN_TOOLS registry and createTools factory function replacing individual tool exports.
- Added toolNames parameter for filtering which built-in tools to include in agent sessions.
- Removed deprecated tool exports (codingTools, readOnlyTools, createCodingTools, createReadOnlyTools).
- Removed subagent custom tool example and question custom tool example.
2026-01-07 03:03:34 +01:00
can1357 3d4ace30d8 fix(coding-agent): resolved memory leak by streaming events to disk
- Fixed memory accumulation by streaming events directly to disk instead of storing in memory.
- Changed subprocess usage tracking to accumulate incrementally from message_end events.
- Fixed session persistence to exclude transient streaming data (partialJson, jsonlEvents).
- Removed parseSubagentUsage() function in favor of pre-accumulated usage data.
2026-01-07 00:21:06 +01:00
can1357 839d9244e2 chore: bump version to 3.21.0 2026-01-06 23:35:36 +01:00
can1357 5919b0df94 refactor: switched to upstream @mariozechner/pi-ai and removed unused packages
- Replaced local @oh-my-pi/pi-ai with upstream @mariozechner/pi-ai@0.37.4
- Added sessionId support to agent for provider caching (OpenAI Codex)
- Deleted packages/ai (now using upstream)
- Deleted packages/mom (unused)
- Deleted packages/web-ui (unused)
2026-01-06 22:25:24 +00:00
can1357 34d534394d feat(ai/providers): added sessionId option for prompt caching in streams
- Added sessionId option to StreamOptions for session-based prompt caching in supported providers.
- Changed reasoning configuration to only apply when explicitly specified.
- Replaced static CODEX_PI_BRIDGE export with dynamic buildCodexPiBridge function that formats available tools.
- Added buildCodexSystemPrompt function to construct system prompts from codex instructions and user prompts.
2026-01-06 22:22:24 +00:00
can1357 96d676a5e5 refactor(coding-agent): migrated tool renderers to co-located modules
- Co-located tool renderers with their respective tool implementations across 14 tool modules.
- Added render-utils module with shared formatting helpers for diagnostics, diffs, paths, and metadata.
- Removed ~800 lines of inline renderer implementations from centralized renderers.ts file.
- Added Google Vertex AI provider with 11 Gemini model configurations.
- Added OpenAI Codex provider with 13 GPT-5 model configurations.
2026-01-06 22:19:24 +00:00
can1357 6f128238f3 feat(coding-agent): added configurable sub-providers and fixed a few
- Added webSearchProvider, imageProvider, and git.enabled settings for configurable provider selection and feature toggles.
- Added offset and limit parameters to Output tool for paginated reading of large outputs.
- Added provider fallback chain for web search with WebSearchProviderError class for graceful degradation.
- Changed generate_image tool to save images to temp files instead of inline base64 to reduce context bloat.
- Changed web search default model from claude-sonnet-4-5-20250514 to claude-haiku-4-5.
- Added git command interception in bash to redirect to dedicated git tool when enabled.
2026-01-06 22:16:24 +00:00
can1357 2e3de262fd feat(coding-agent): added bulk replace and OpenRouter image generation
- Added `all` parameter to edit tool for replacing all occurrences with fuzzy matching support.
- Added OpenRouter provider support for image generation when `OPENROUTER_API_KEY` is set.
- Renamed image tool from `gemini_image` to `generate_image` with updated default model.
- Added test cases for edit tool's `all: true` option covering multiple scenarios.
2026-01-06 22:13:24 +00:00
can1357 32fa68f17c feat(ai): enabled detailed reasoning summaries by default in OpenAI Codex
- Changed default reasoning summary from `auto` to `detailed` for OpenAI Codex provider.
2026-01-06 22:10:24 +00:00
can1357 64ade9866b feat(coding-agent): added toolLabel for readable names and fixed diff cache key
- Added toolLabel property to display human-readable tool names instead of internal identifiers.
- Included 'all' parameter in edit diff computation key to ensure correct cache invalidation.
2026-01-06 22:07:24 +00:00
can1357 ca03a5e075 feat(coding-agent): added ImageMagick fallback for image ops when sharp unavailable
- Added ImageMagick fallback for image processing when sharp is unavailable.
- Added image-magick utility module with detection, conversion, and resize functions.
- Changed web_fetch tool label from 'web_fetch' to 'Web Fetch'.
- Updated image-convert and image-resize to use ImageMagick fallback instead of failing or returning original.
2026-01-06 22:04:24 +00:00
can1357 5ec30e19f4 feat(scripts): added --ref flag for installing specific git refs
- Added --ref flag to install specific tags, branches, or commits from source or binary releases.
- Enabled source installation from git refs by cloning and checking out the specified reference.
- Added git availability check for source installations with --ref flag.
- Updated README with usage examples for --ref flag on both shell and PowerShell installers.
2026-01-06 22:01:24 +00:00
can1357 3536e2aaaa feat(coding-agent): added branch summaries setting to disable prompt
Branch summary prompts when navigating away from a branch are now
controlled by a setting (disabled by default). Enable in Settings →
Config → "Branch summaries" to restore the previous prompting behavior.
2026-01-06 21:58:24 +00:00
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 f224ecb72a fix(coding-agent): avoided sharp hard dependency 2026-01-06 21:52:24 +00:00
can1357 f991cfa54d feat(coding-agent): added file-based slash commands with $ARGUMENTS placeholder
- Added file-based slash commands discovery from commands/ directories.
- Added $ARGUMENTS placeholder support for slash command argument substitution.
- Changed argument substitution order to process positional args before wildcards to prevent re-substitution bugs.
- Integrated slash command expansion into AgentSession initialization flow.
2026-01-06 21:49:24 +00:00
can1357 1d36816a59 chore: bump version to 3.20.1 2026-01-06 13:35:55 +01:00
can1357 66223c557d feat(coding-agent): added relative modification times to ls tool
Shows human-readable ages like "2d ago", "just now" for each entry.
2026-01-06 13:23:23 +01:00
can1357 e561435991 fix(find): enabled full-path matching for patterns with path separators
fd's --glob mode matches against filenames only, not paths. Patterns
like `reports/**` were failing because fd looked for entries literally
named `reports/**`. Now detects path separators and adds --full-path
flag with `**/` prefix to match correctly.
2026-01-06 13:22:58 +01:00
can1357 be5d7dd3a9 feat(coding-agent): added task descriptions to multi-task display for clarity
- Changed multi-task display to show task descriptions instead of agent names when available.
- Fixed indentation in worktree constants module for consistency.
2026-01-06 13:15:54 +01:00
can1357 d883b84be6 chore: bump version to 3.20.0 2026-01-06 01:26:37 +01:00