Commit Graph

2565 Commits

Author SHA1 Message Date
Drazen Urch 79a8d224f0 fix(ai): always include reasoning.encrypted_content for reasoning models (#50)
When store is false, OpenAI does not persist response items server-side.
Previously, encrypted_content was only requested when reasoningEffort or
reasoningSummary options were explicitly set. Without it, reasoning items
are serialized with just their ID, causing 404 errors on subsequent turns
when OpenAI cannot resolve the ID reference.

Fixes #41
2026-02-13 09:33:47 +01:00
Chris Watson 71bde186f4 feat(coding-agent): default minimax providers to MiniMax M2.5 (#53) 2026-02-13 09:32:52 +01:00
can1357 3dbd6b6f02 fix(coding-agent): make tool tests format-agnostic for hashline output 2026-02-12 20:32:13 +01:00
can1357 787aac026b chore: bump version to 12.0.0 2026-02-12 20:30:39 +01:00
can1357 cae5aaa3cc feat(coding-agent): changed default edit mode to hashline and enabled hash line reading
- Changed default edit mode from `patch` to `hashline` for more precise code modifications.
- Changed `readHashLines` setting default from false to true to enable hash line reading by default.
2026-02-12 20:29:58 +01:00
can1357 5617184356 chore(react-edit-benchmark/runs): added GPT-5.3 Codex benchmark runs with three edit variants
- Added three new benchmark run reports for GPT-5.3 Codex model with different edit variants (hashline, patch, replace).
- Recorded performance metrics across 60 tasks per variant with success rates ranging from 80-83.3%.
2026-02-12 20:29:22 +01:00
can1357 3cc603a426 feat(ai): added GPT-5.3, MiniMax M2.5, Llama 3.1, and Qwen3 VL models
- Added GPT-5.3 Codex Spark model with 128K context window and extended reasoning capabilities.
- Added MiniMax M2.5 and M2.5 Lightning models via OpenAI-compatible API (minimax-code and minimax-code-cn providers).
- Added MiniMax M2.5 and M2.5 Lightning models via Anthropic API (minimax and minimax-cn providers).
- Added Llama 3.1 8B model via Cerebras API.
- Added MiniMax M2.5 model via OpenRouter and Vercel AI Gateway.
- Added Qwen3 VL 32B Instruct multimodal model via OpenRouter.
2026-02-12 20:29:06 +01:00
can1357 412ab9ea00 fix(coding-agent,ai): resolve issues #33, #34, #35, #37
- show help instead of crashing on `omp setup` with no args
- show runtime-discovered MCP servers in `/mcp list`
- remove deprecated Anthropic model entries from models.json
- sort models by recency in model selector
2026-02-12 20:29:06 +01:00
Bowen Dwelle 7a3f63eb4a fix(ai): Use glm-4.7 for Z.AI validation (#40)
The Z.AI login flow was hardcoded to validate API keys using the 'glm-5'
model. However, the Z.AI Coding Plan, which this login is for, currently
provides access to 'glm-4.7', with 'glm-5' being rolled out incrementally.

This caused login to fail for users who did not yet have 'glm-5' access.

This change updates the validation model to 'glm-4.7' to match the model
available in the Coding Plan.

Fixes #39
2026-02-12 18:59:05 +01:00
can1357 1587b4b880 chore: bump version to 11.14.5 2026-02-12 15:26:34 +01:00
can1357 c7c0a1e7b7 build: bumped @biomejs/biome from 2.3.14 to 2.3.15
- Bumped @biomejs/biome from 2.3.14 to 2.3.15.
2026-02-12 15:26:24 +01:00
can1357 95b05ca644 fix(coding-agent): add Bun runtime errata guard for OSC sequence width bug
Detects known Bun.stringWidth mishandling of OSC sequences at startup
and exits with a clear upgrade message instead of crashing in the TUI
render path.

Fixes #31
2026-02-12 15:25:13 +01:00
can1357 0b492d9fbb fix(react-edit-benchmark): fixed incorrect path resolution for CLI module using Bun.fileURLToPath()
- Fixed incorrect path resolution for CLI module by using Bun.fileURLToPath() to convert import.meta.resolve() result to a proper file path.
- Reordered constant declarations to ensure TMP_DIR is initialized before CLI_PATH which depends on it.
- Updated scripts/repro-stuck.ts to use consistent CLI path resolution with Bun.fileURLToPath().
2026-02-12 15:10:17 +01:00
can1357 35dd7b9060 chore: bump version to 11.14.4 2026-02-12 12:10:06 +01:00
can1357 c518e24678 fix(coding-agent/mcp): added type assertion to OAuth metadata response for type safety
- Added type assertion to OAuth metadata response to ensure proper type safety.
2026-02-12 12:09:48 +01:00
can1357 be89a26cb6 feat(coding-agent): replaced jsdom with linkedom for improved HTML parsing performance
- Replaced jsdom with linkedom for HTML parsing in browser tool, improving performance and reducing memory footprint.
- Removed @types/jsdom from devDependencies as jsdom is no longer used.
- Simplified HTML document parsing by removing VirtualConsole error handling and direct window cleanup.
2026-02-12 12:08:07 +01:00
can1357 7b6cb0b9f1 chore(swarm-extension): removed unused yaml dependency and updated pi-coding-agent constraints
- Removed unused yaml dependency from swarm-extension package.
- Updated pi-coding-agent peer dependency constraint from wildcard to ^11.
- Removed pi-coding-agent from devDependencies, keeping only in peerDependencies.
2026-02-12 09:46:32 +01:00
can1357 2dc1efad24 feat(coding-agent): exported utility functions and reorganized package structure for better module access
- Exported renderPromptTemplate function from config/prompt-templates module for programmatic prompt template rendering.
- Exported computeLineHash function from patch/hashline module for external patch utility access.
- Added ./cli export path in package.json for direct CLI module access.
2026-02-12 09:40:44 +01:00
can1357 94b6b40fb9 chore: bump version to 11.14.3 2026-02-12 09:27:01 +01:00
can1357 dd2a23ecf0 chore(swarm-extension): bumped version to 11.14.2 and relaxed peer dependency constraint
- Bumped version from 11.11.0 to 11.14.2.
- Relaxed peer dependency constraint for @oh-my-pi/pi-coding-agent from ^11.11.0 to * to allow any version.
2026-02-12 09:25:30 +01:00
can1357 3e18641a5f feat(swarm-extension): moved sources to src and added omp-swarm bin 2026-02-12 09:23:57 +01:00
can1357 b987f0ed75 refactor(coding-agent): moved swarm extension into workspace package 2026-02-12 09:23:57 +01:00
daaximus f26091f288 feat(coding-agent): add swarm extension for multi-agent pipeline orchestration
Adds a standalone extension that orchestrates multi-agent workflows
defined in YAML. Supports pipeline (iterative), parallel (fan-in/out),
sequential, and arbitrary DAG execution patterns.

Each agent runs as a full oh-my-pi subagent with complete tool access.
Agents communicate through the shared workspace filesystem. The
orchestrator handles lifecycle, dependency ordering, and state tracking.

Key components:
- YAML schema parser with validation and cycle detection
- DAG builder with topological sort into execution waves
- Pipeline controller with iteration loop and wave execution
- Filesystem state persistence for monitoring and resumability
- Standalone runner (run-pipeline.ts) for long-running unattended work
- TUI integration via /swarm command

Designed for any task type: research, coding, data processing, content
creation, analysis workflows, or any multi-step objective that benefits
from specialized agents working in coordination.
2026-02-12 09:23:57 +01:00
can1357 0caef39a0f chore: bump version to 11.14.2 2026-02-12 08:40:50 +01:00
can1357 a4b619bde4 feat(ai/providers): added claude-code-20250219 to Claude beta defaults configuration
- Added claude-code-20250219 to Claude beta defaults configuration.
2026-02-12 08:40:42 +01:00
can1357 da6558b13b chore: bump version to 11.14.1 2026-02-12 08:38:17 +01:00
can1357 531f8e7f4a chore: updated Claude Code to v2.1.39 with improved reliability and OAuth enhancements
- Updated Claude Code version header to 2.1.39 and runtime version to v24.13.1.
- Increased request timeout from 60s to 600s for improved reliability on slower connections.
- Reordered Accept-Encoding header values to prioritize Brotli compression.
- Updated OAuth endpoints to use platform.claude.com and expanded scopes to include user:sessions:claude_code and user:mcp_servers.
- Removed deprecated beta features claude-code-20250219 and fine-grained-tool-streaming-2025-05-14.
- Improved Bun binary detection and update process with version verification and environment variable checking.
2026-02-12 08:35:15 +01:00
can1357 857abcc321 chore: bump version to 11.14.0 2026-02-12 04:47:42 +01:00
can1357 af20324d62 feat(coding-agent/lsp): added SwiftLint linter client with JSON reporter and bash.virtualTerminal setting
- Added SwiftLint linter client with JSON reporter support for Swift file linting.
- Changed SwiftLint configuration to use 'lint' command with JSON reporter for structured output.
- Changed bash.virtualTerminal default setting from 'on' to 'off' for standard non-interactive execution.
- Implemented SwiftLintClient with lint() method that executes swiftlint with JSON output and converts violations to LSP diagnostics.
- Added bash.virtualTerminal settings option with 'on' (PTY-backed interactive) and 'off' (standard non-interactive) values.
2026-02-12 04:47:24 +01:00
can1357 3d29303296 refactor(coding-agent/modes): restructured tool argument cloning and preview diff injection logic
- Extracted tool arguments cloning logic into dedicated `cloneToolArgs` helper function to improve code reusability.
- Moved preview diff injection logic from `computeHashlineDiff` callback into new `#getCallArgsForRender` method to centralize argument transformation for rendering.
- Applied `cloneToolArgs` to constructor and `updateArgs` method to ensure tool arguments are properly cloned on assignment.
2026-02-12 04:37:25 +01:00
can1357 2c7a32f28c feat(pty): added PTY-backed interactive command execution with streaming output support
- Added PTY (pseudo-terminal) backed interactive command execution with streaming output support via PtySession class in pi-natives.
- Added PtyStartOptions and PtyRunResult types to configure and report PTY session execution status.
- Added write(), resize(), and kill() methods to PtySession for interactive control of running commands.
- Added interactive bash execution via PTY with real-time terminal rendering and input forwarding in bash-interactive tool.
- Added --no-pty CLI flag and PI_NO_PTY environment variable to disable PTY-based interactive bash execution.
- Added bash.virtualTerminal setting to control PTY-backed interactive execution behavior.
2026-02-12 04:34:24 +01:00
can1357 cf864bbf7e feat(coding-agent/lsp): added sourcekit-lsp language server support for Swift files
- Added sourcekit-lsp language server support for Swift files with configuration for command execution and root marker detection.
2026-02-12 03:21:46 +01:00
can1357 baa788879c chore(ai): updated model configurations and sorted Antigravity models alphabetically
- Sorted Antigravity models alphabetically in generated models.json and generation script.
- Updated Antigravity model configurations with corrected model IDs, names, and parameters.
- Fixed qwen/qwen3-max-thinking maxTokens from 4096 to 202752 to match context window.
2026-02-12 02:48:23 +01:00
can1357 e40dbc4892 chore: bump version to 11.13.1 2026-02-12 02:39:58 +01:00
can1357 df7a45b774 feat(coding-agent): added /move command to relocate sessions to different working directories
- Added /move slash command to allow users to relocate sessions to different working directories.
- Added moveTo() method to SessionManager for programmatic session relocation with file system operations and rollback support.
- Added refreshSlashCommandState() method to InteractiveMode for dynamic slash command reloading when changing directories.
- Added setSlashCommands() method to AgentSession to allow external management of file-based slash commands.
- Added handleMoveCommand() handler in command-controller to process /move commands with validation and error handling.
2026-02-12 02:38:59 +01:00
can1357 57becd56ee fix(brush): prevented zombie processes by tracking reap state and implementing Drop trait
- Added zombie process prevention by tracking reap state and implementing Drop trait to ensure processes are properly cleaned up.
- Enabled kill_on_drop for tokio child processes to automatically terminate processes when handles are dropped.
- Improved process termination logic to check reap state before attempting kill operations and properly track completion.
2026-02-12 02:38:57 +01:00
can1357 2e0cbf9f4c feat(oauth): added Perplexity OAuth authentication with native macOS app extraction and email OTP flows
- Added Perplexity OAuth authentication support with native macOS app extraction and email OTP login flows.
- Implemented loginPerplexity and refreshPerplexityToken functions for OAuth token management.
- Created PerplexitySocket class providing Socket.IO v4 client over Engine.IO v4 WebSocket transport with RPC support.
- Added OAuth authentication to Perplexity web search provider with automatic token refresh and SSE streaming support.
- Extended SearchResponse interface with authMode field to track authentication method (oauth or api_key).
- Changed PerplexityProvider.isAvailable() to async to support OAuth token availability checking.
2026-02-12 02:31:58 +01:00
can1357 d0045f77d3 chore: bump version to 11.13.0 2026-02-12 01:12:25 +01:00
can1357 da455e63fd feat: removed .pi configuration directory alias in favor of .omp
- Removed support for `.pi` configuration directory alias in favor of `.omp` across all packages.
- Updated all configuration paths and references from `.pi` to `.omp` in user and project directories.
- Refactored configuration discovery in builtin.ts to simplify directory traversal logic and remove multi-alias support.
- Simplified Python module discovery to use single directory paths instead of arrays of aliases.
- Updated debug and crash log paths from `.pi/agent/` to `.omp/agent/` in TUI package.
2026-02-12 01:12:03 +01:00
can1357 f5c828c147 fix(coding-agent): stop importing creds from legacy dirs 2026-02-12 00:55:55 +01:00
can1357 a44ae81262 refactor(coding-agent): extracted cross-platform path opening logic into unified utility function
- Extracted cross-platform URL and file path opening logic into a unified `openPath` utility function.
- Removed duplicate platform-specific browser opening code from five modules (stats-cli, debug, login-dialog, command-controller, mcp-command-controller) and replaced with calls to the centralized utility.
- Simplified error handling by delegating platform detection and command execution to the reusable utility function.
2026-02-12 00:55:09 +01:00
can1357 66923df045 chore: bump version to 11.12.0 2026-02-12 00:33:51 +01:00
can1357 c4446526c2 refactor(pi-natives): improved safety documentation and refactored OS distro detection logic
- Added SAFETY comments documenting unsafe block invariants in process child collection.
- Refactored nested if statement to use let-else guard clause pattern in OS distro detection.
2026-02-12 00:32:59 +01:00
can1357 1f3d3c3a81 fix(ai): validate new provider api keys and prompt cancel keys 2026-02-12 00:29:57 +01:00
can1357 ebab346561 fix(pr-merge): fixed copilot initiator and provider login regressions 2026-02-12 00:25:11 +01:00
Chris Watson 0f519ec965 fix: respect X-Initiator header from model config in GitHub Copilot providers
The GitHub Copilot providers were unconditionally overriding the X-Initiator
header based on message role. This prevented the subagent fix from working
because subagents send the task as a user message.

Now the providers check if X-Initiator is already set in the model headers
before applying the default logic. This allows the sdk.ts fix to properly
mark subagent requests as agent-initiated.
2026-02-12 00:20:43 +01:00
Chris Watson 483497bdcd fix: send X-Initiator: agent header for GitHub Copilot subagent sessions 2026-02-12 00:20:43 +01:00
Chris Watson f4a4aad60d feat(ai): add MiniMax Coding Plan to OAuth login menu
Add MiniMax Coding Plan providers to the interactive login menu:
- minimax-code (International): https://api.minimax.io/v1
- minimax-code-cn (China): https://api.minimaxi.com/v1

Both use API key flow (not OAuth):
- Opens browser to https://platform.minimax.io/subscribe/coding-plan
- User subscribes and pastes API key back to CLI
- API keys stored as OAuth credentials with never-expire timestamp
2026-02-12 00:20:40 +01:00
Chris Watson cf97ef0650 feat(ai): add MiniMax Coding Plan provider
Add support for MiniMax Coding Plan with OpenAI-compatible API:
- New providers: minimax-code (international) and minimax-code-cn (China)
- Environment variables: MINIMAX_CODE_API_KEY and MINIMAX_CODE_CN_API_KEY
- Uses thinkingFormat: 'zai' for reasoning compatibility
- Models: MiniMax-M2, MiniMax-M2.1, MiniMax-M2.1-lightning
- Base URLs: https://api.minimax.io/v1 (intl), https://api.minimaxi.com/v1 (CN)

The Coding Plan is a subscription-based service separate from regular MiniMax API.
2026-02-12 00:19:33 +01:00
Chris Watson 1793b155cd docs(ai): add Z-AI to supported providers list in README 2026-02-12 00:19:00 +01:00