Commit Graph

2590 Commits

Author SHA1 Message Date
can1357 9647181774 chore: added GitHub templates, triage command, updated license and package metadata
- Added issue templates (bug report, feature request, question) with provider/platform dropdowns
- Added PR template and security policy
- Added /triage Claude command for automated issue classification
- Updated LICENSE to include Can Boluk copyright
- Updated author/contributors across all package.json files
- Added homepage, bugs, keywords, engines to all packages
- Created platform:wsl label for WSL-specific issues
2026-02-13 16:03:15 +01:00
can1357 5f95cd891a chore: bump version to 12.1.0 2026-02-13 15:43:23 +01:00
can1357 a61cde0644 feat: added optional cache parameter to glob/grep/fuzzyFind and improved fs cache handling
- Added optional `cache` parameter to `glob()`, `grep()`, and `fuzzyFind()` functions to enable shared filesystem scan caching.
- Added new `invalidateFsScanCache()` function to allow manual invalidation of filesystem scan cache entries.
- Improved filesystem path canonicalization in cache invalidation logic to handle relative paths and non-existent paths more robustly.
- Fixed variable shadowing bug in grep's `match_ext` method where extension parameter was compared against itself.
- Added early return optimization in glob when `maxResults` is zero to avoid unnecessary filesystem scanning.
2026-02-13 15:42:31 +01:00
can1357 08e9c685f3 refactor(dirs): restructured environment variable access and simplified configuration in test suite
- Refactored environment variable access to use dedicated getter/setter functions in test suite.
- Simplified configuration constants by removing ompConfig dependency and using hardcoded values.
- Introduced module-level caching for agent directory and subdirectory paths to improve performance.
- Added setAgentDir() function to manage agent directory updates and cache invalidation.
- Reorganized dirs.ts with logical section headers and consolidated subdirectory functions using helper utilities.
- Updated directory accessor functions to accept optional agentDir parameter for flexibility.
2026-02-13 15:26:06 +01:00
can1357 fb72f5d6a6 refactor: restructured filesystem scan cache integration and extracted discovery profiles
- Refactored filesystem scan cache integration to use pre-scanned entries from fs_cache module instead of manual directory walking in grep.rs.
- Extracted filesystem scan cache invalidation helpers into dedicated fs-cache-invalidation.ts module with three functions: invalidateFsScanAfterWrite, invalidateFsScanAfterDelete, and invalidateFsScanAfterRename.
- Centralized file mention discovery profile configuration into getMentionCandidateDiscoveryProfile() function for improved maintainability.
- Added comprehensive documentation of filesystem-scan cache architecture contract including cache key specifications, TTL policies, and invalidation patterns.
- Updated CHANGELOG.md to document filesystem scan cache invalidation helpers and named discovery profile for file mention candidates.
2026-02-13 15:06:32 +01:00
can1357 fcd7ff4f84 refactor(dirs): centralized directory path utilities into @oh-my-pi/pi-utils/dirs module
- Extracted directory path utilities from multiple packages into a centralized '@oh-my-pi/pi-utils/dirs' module.
- Moved 30+ path helper functions (getAgentDir, getConfigRootDir, getPluginsDir, getMCPConfigPath, etc.) from scattered locations into a single shared utility module.
- Consolidated APP_NAME, CONFIG_DIR_NAME, and VERSION constants into the centralized dirs module for reuse across packages.
- Updated 70+ import statements across packages/ai, packages/coding-agent, packages/stats, and packages/tui to use the new centralized module.
- Removed local path construction logic and replaced with utility function calls for improved maintainability and consistency.
- Deleted packages/coding-agent/src/extensibility/plugins/paths.ts as its functions were moved to the centralized dirs module.
2026-02-13 15:06:05 +01:00
can1357 402713a1ee refactor(natives): centralized fs scan cache with invalidation and fd module
- Extracted shared fs_cache.rs from glob.rs: global TTL policy (env-configurable),
 cache-aware scanning, empty-result fast recheck (~200ms), explicit invalidation API
- Moved fuzzyFind from grep.rs into dedicated fd.rs module using shared scan cache
- Removed per-call cacheTtlMs from GlobOptions and FuzzyFindOptions (global policy)
- Added invalidateFsScanCache NAPI export, wired into write/edit tools after mutations
- Cleaned up TS callers: file-mentions, autocomplete, tests no longer own cache semantics
2026-02-13 14:57:24 +01:00
can1357 d2f61099fa fix(natives): unified fuzzy file search scoring and cache 2026-02-13 14:31:43 +01:00
can1357 d3e6839b07 fix(coding-agent/patch): removed misleading quickfix suggestions from stale ref error messages
- Removed misleading quickfix suggestions from stale ref error messages.
2026-02-13 14:23:59 +01:00
can1357 3e47a7c3d5 fix(ai): restored claude.ai anthropic authorize url
Fixes #38
2026-02-13 14:20:39 +01:00
can1357 6530cc5834 feat(coding-agent/tools): enhanced bash execution environment with non-interactive defaults
- Enhanced bash execution environment with comprehensive non-interactive defaults for pagers, editors, package managers, and tooling to prevent command blocking and interactive prompts.
- Updated interactive bash terminal UI label from 'InteractiveTerm' to 'Console' for improved clarity.
2026-02-13 14:07:38 +01:00
can1357 3ade89fd1f fix(coding-agent): added fuzzy @file auto-read matching
Fixes #57
2026-02-13 14:07:38 +01:00
can1357 4c399f018a docs(coding-agent): added comprehensive models.yml provider
- Added comprehensive `models.yml` provider integration guide documenting custom model registration, provider overrides, API adapters, merge behavior, and practical integration patterns for Ollama, vLLM, LM Studio, and proxy endpoints.
- Updated README to reference new `models.yml` documentation and clarified that `models.json` is still supported for legacy configurations.
- Updated CHANGELOG to document the new models.yml guide and configuration format migration.
2026-02-13 13:39:50 +01:00
can1357 1b24d4d655 fix(coding-agent): moved hook status line above editor input 2026-02-13 13:26:17 +01:00
can1357 21f5914121 fix(coding-agent): auto-discover ollama without config
Fixes #52.
2026-02-13 12:57:53 +01:00
can1357 733a46c226 fix(coding-agent): discovered ollama models at runtime 2026-02-13 12:56:22 +01:00
can1357 ae90d80cfe fix(stats): skip malformed JSONL lines during session sync 2026-02-13 12:39:14 +01:00
Can Bölük 7965f330e7 Merge pull request #49 from kylesnowschwartz/feat/claude-plugins-discovery
feat(coding-agent): add Claude Code marketplace plugin discovery
2026-02-13 12:33:52 +01:00
can1357 9482a57135 fix(coding-agent): fixed plugin registry validation and precedence 2026-02-13 12:33:14 +01:00
can1357 02bf493ba8 fix(coding-agent): handled fully exhausted oauth rotation
Fixes #55.
2026-02-13 12:28:46 +01:00
can1357 0db2f4a7c9 fix(coding-agent): added managed venv fallback for python setup
Fixes #47.
2026-02-13 12:28:35 +01:00
can1357 f2b2b25528 Merge remote-tracking branch 'origin/main' 2026-02-13 12:27:41 +01:00
can1357 345e5d4f84 fix(ai): fixed cloud code assist claude schema sanitization
Fixes #45.
2026-02-13 12:27:12 +01:00
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
kylesnowschwartz 7a6b42353e fix(coding-agent): respect plugin scope and handle multiple registry entries
- P1: Use root.scope instead of hardcoded 'user' level in claude-plugins provider
- P2: Iterate all registry entries per plugin ID, not just first one
- P3: Add home parameter to discoverAgents() for test isolation
- P4: Add test coverage for claude-plugins discovery (12 tests)
- P5: Cache listClaudePluginRoots results to avoid repeated parsing

Addresses issues found in adversarial review of PR #49
2026-02-13 11:11:05 +13:00
kylesnowschwartz 842bf84a2b feat(coding-agent): add Claude Code marketplace plugin discovery
Add discovery provider that loads skills, commands, hooks, tools, and
agents from ~/.claude/plugins/cache/ based on installed_plugins.json.

- Add parseClaudePluginsRegistry() and listClaudePluginRoots() helpers
- Create claude-plugins.ts provider with priority 70 (below claude.ts)
- Register provider for skills, slash-commands, hooks, and tools
- Integrate plugin agents into task/discovery.ts

Closes #48
2026-02-13 10:23:15 +13: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