Commit Graph

908 Commits

Author SHA1 Message Date
can1357 333422fec8 refactor(coding-agent/commit): Restructured progress output with thinking previews and tool arg blocks
- Added real-time thinking line that updates with streaming message preview during agent processing.
- Changed tool execution output to display name and formatted argument block separately.
- Replaced generic message labels with content previews extracted from assistant responses.
2026-01-23 13:46:06 +01:00
can1357 8668e92021 feat(coding-agent/commit): Added real-time progress output to agentic commit mode
- Subscribes to agent session events to display thinking status, tool calls, and message counts.
- Formats tool call labels with primary argument (path, file, query, etc.) truncated to 40 chars.
- Displays completion summary with total message and tool call counts.
2026-01-23 13:46:06 +01:00
can1357 db57eb8e62 feat(coding-agent/commit): Added agentic commit mode with tool-based git inspection
- Replaced deterministic pipeline with agent session using specialized git tools for diff analysis.
- Introduced git-overview, git-file-diff, git-hunk, and analyze-file tools for fine-grained inspection.
- Added split-commit support to create multiple atomic commits for unrelated changes.
- Added commit message validation with filler word detection, meta phrase filtering, and unicode normalization.
- Added --legacy flag to use the deterministic pipeline when preferred.
- Extracted formatCommitMessage and model selection logic into dedicated modules.
2026-01-23 13:46:06 +01:00
can1357 0a9dd1612c feat(coding-agent/config): added file locking mechanism to prevent concurrent write races in settings persistence
- Added file locking mechanism to prevent concurrent write races in settings persistence.
- Exported `withFileLock` utility function for coordinating file access across processes.
- Integrated file locking into SettingsManager.save() to ensure atomic config updates.
2026-01-23 13:46:06 +01:00
can1357 068aa50e28 refactor(coding-agent/commit): enhanced scope candidate extraction with distinct root tracking for wide change detection
- Added distinct root tracking to scope candidate extraction for improved wide change detection.
- Introduced extractTopLevelRoot() helper function to identify top-level directory roots in file paths.
- Enhanced isWideChange() function to consider number of distinct roots (3+) as a wide change indicator.
2026-01-23 13:46:06 +01:00
can1357 e3eeb1bafd refactor(coding-agent): restructured tool rendering to merge call and result displays
- Changed tool result rendering to merge call and result displays with tool arguments in headers across 13 tools.
- Added args parameter to render methods enabling display of contextual metadata like patterns, paths, and commands.
- Changed Read tool title to display line range when offset or limit arguments provided.
- Changed worker instantiation to use direct URL import instead of pre-bundled worker files.
- Removed streaming preview rendering logic from write tool.
2026-01-23 13:46:06 +01:00
can1357 763faa1615 refactor(coding-agent): migrated tool rendering to declarative TUI component APIs
- Created new TUI component library with renderStatusLine, renderOutputBlock, renderCodeCell, renderFileList, and renderTreeList utilities for consistent tool output rendering.
- Refactored 13+ tools to use centralized TUI components, replacing inline theme formatting and ToolUIKit class usage with declarative component APIs.
- Moved tree rendering utilities (getTreeBranch, getTreeContinuePrefix) from tool render-utils to TUI module for improved code organization.
- Streamlined render function return types across tools from Text to Component objects with render/invalidate methods for better state management.
2026-01-23 13:46:06 +01:00
can1357 a683344fd8 feat(coding-agent/commit): added configurable analysis settings and structured git error handling
- Added configurable map-reduce analysis settings for concurrency, timeout, file thresholds, and token limits.
- Made changelog diff truncation limit configurable via maxDiffChars parameter.
- Added support for excluding YAML lock files from commit analysis via suffix patterns.
- Created GitError custom error class with command and stderr tracking for structured error handling.
- Converted relative imports to alias-based '$c' imports across commit modules.
2026-01-23 13:46:06 +01:00
can1357 3d6b0b2853 feat(coding-agent/config): added CommitSettings interface and improved YAML formatting
- Added CommitSettings interface with configurable map-reduce and changelog parameters.
- Added getCommitSettings() method to SettingsManager for retrieving commit configuration with sensible defaults.
- Added commit settings field to Settings interface.
- Improved YAML formatting by adding indentation parameter to YAML.stringify() calls for better readability.
- Removed redundant mkdirSync calls before Bun.write operations.
- Reorganized import statements in alphabetical order for consistency.
2026-01-23 13:46:06 +01:00
can1357 6e3a468496 feat(coding-agent/task): added worker bundle caching to improve worker initialization performance
- Added worker bundle caching to pre-build and cache the worker script at startup, improving worker initialization performance.
- Introduced `workerBundlePromise` that bundles worker.ts using Bun.build and caches it in ~/.omp/worker-bundle.js for reuse across worker instances.
- Modified worker instantiation to use the pre-built bundle instead of loading the raw TypeScript file directly.
2026-01-23 13:46:06 +01:00
can1357 8ebc89c9d2 feat(commit): added omp commit command for AI-powered conventional commits
- Added `omp commit` command for generating conventional commits with AI-powered analysis of staged changes.
- Implemented conventional commit analysis pipeline with scope detection, changelog categorization, and summary generation.
- Added map-reduce analysis pattern for efficiently processing large diffs using smaller models for file-level observations.
- Implemented automatic changelog generation and updates to CHANGELOG.md files based on commit analysis.
- Added git operations wrapper (ControlledGit) for managing staged files, diffs, commits, and push operations.
- Implemented comprehensive validation for conventional commit format, scope naming, and changelog entries.
2026-01-23 13:46:06 +01:00
can1357 fb68e72d78 feat(coding-agent): migrated settings and models to models.yml
- Settings now stored in ~/.omp/agent/config.yaml instead of agent.db
- Models config now supports models.yaml (preferred) alongside models.json
- Auto-migration from agent.db settings and models.json on first run
- AgentStorage.saveSettings() deprecated (getSettings() kept for migration)
- storage-migration.ts now only handles auth.json migration
2026-01-23 13:46:06 +01:00
can1357 68031aa116 feat(coding-agent/task): added AgentOutputManager to prevent artifact ID collisions across task invocations
- Added AgentOutputManager to allocate unique IDs for agent outputs across task invocations, preventing artifact collisions.
- Implemented automatic ID scanning in ArtifactManager to resume sessions without overwriting existing artifacts.
- Integrated AgentOutputManager into task processing to allocate unique IDs before template rendering.
- Added agentOutputManager property to ToolSession interface for managing unique agent:// IDs across task invocations.
2026-01-23 13:46:06 +01:00
can1357 8dbaded19f feat(coding-agent): reduced default output truncation limit from 4000
- Reduced default output truncation limit from 4000 to 3000 lines.
- Replaced inline truncation notices with structured metadata system.
- Updated executors to track detailed output statistics.
- Modified artifact storage to use pre-allocated paths.
2026-01-23 13:03:09 +01:00
can1357 936fc5ed15 feat(coding-agent): added antigravity provider support for image generation
- Added antigravity provider support for image generation with Google Cloud authentication.
- Added support for google-antigravity API credentials in model registry.
- Added antigravity-specific request handling with SSE streaming.
- Added projectId parameter to antigravity credentials parsing.
- Added antigravity provider to preferred image provider selection.
2026-01-23 12:50:00 +01:00
can1357 bb59279705 fix(coding-agent): fixed tool output bugs and documented patterns
- Fixed file descriptor leak in OutputSink when write fails
- Fixed isError flag not propagating to UI for grouped tool calls
- Fixed Python streaming updates during cell execution (missing onChunk)
- Fixed ls icon detection broken by age suffix in entry names
- Added Tool Output Infrastructure section to DEVELOPMENT.md
2026-01-23 12:32:22 +01:00
can1357 cb5bbbf382 refactor(coding-agent): flattened directory structure, eliminated core/ folder
- Eliminated core/ directory (252 files, 23 subdirs → distributed)
- Reduced max nesting from 9 levels to 5 levels
- Promoted tool subdirs to top level: exa/, lsp/, patch/, task/, web/
- Merged web-scrapers/ + web-search/ into web/{scrapers,search}/
- Flattened modes/interactive/ to modes/
- Split execution/ into: ipy/ (python), exec/ (bash), ssh/
- Renamed ipy/python-*.ts to ipy/*.ts (executor, kernel, etc.)
- Flattened cursor/exec-bridge.ts to cursor.ts
- Created logical groupings: config/, session/, extensibility/, export/
- Updated all imports across 500+ files
2026-01-23 12:24:47 +01:00
can1357 7b5af2dd9f refactor(build): migrated imports to path aliases with per-package tsconfig support
- converted relative imports to path aliases ($c/*, $ai/*, $tui/*, etc.) across all packages
- added per-package tsconfig.json with complete path mappings for runtime resolution
- set importModuleSpecifier to non-relative for IDE auto-import preferences
- updated dev script to run from monorepo root for consistent path resolution
2026-01-23 11:56:32 +01:00
can1357 06efb8bd72 refactor(core): restructured tool output handling with metadata tracking system
- Added output-utils module with tail buffer and artifact allocation helpers.
- Added tool-result module for standardized tool result construction with metadata.
- Replaced inline output truncation with structured metadata system across all tools.
- Updated executors to track detailed output statistics instead of full file paths.
- Standardized artifact storage using pre-allocated paths instead of inline writing.
2026-01-23 11:13:50 +01:00
can1357 25f1849915 refactor(prompts): refactored system prompt to consolidate tool guidance
- Consolidated tool precedence and usage rules into the core system prompt.
- Removed redundant tool usage guidance from individual tool prompts.
- Refined agent persona, decision-making, and task completion criteria.
- Emphasized correctness, thoroughness, and parallel execution.
2026-01-23 11:12:29 +01:00
can1357 d676150f9c refactor(coding-agent/core): simplified Python gateway coordination by removing reference counting
- Simplified Python gateway coordination by removing reference counting and idle timeout functionality.
- Updated Python kernel initialization to support environment variable setup and working directory configuration.
- Modified interactive status display to show Python and venv paths instead of client counts.
- Updated system prompt to clarify CHECKPOINT step 0 timing after user request completion.
2026-01-23 09:31:40 +01:00
can1357 564df10b2c fix(coding-agent): corrected async error handling and timeout conversion in tools
- Fixed Python environment warming to use await for proper async error handling.
- Changed interactive mode shutdown to use postmortem.quit instead of process.exit.
- Enhanced bash and python executors to save full output as artifacts when truncated.
- Replaced manual error formatting with ToolError.render() for standardized handling.
- Fixed timeout parameter handling to auto-convert milliseconds to seconds.
2026-01-23 09:05:05 +01:00
can1357 47172131f1 feat(core): added artifact storage and structured metadata for tool outputs
- Added artifact storage system with artifact:// URL protocol for truncated outputs.
- Added structured output metadata system with OutputMetaBuilder for consistent notices.
- Added standardized tool error types (ToolError, MultiError, ToolAbortError).
- Updated all tools to use structured metadata instead of inline notices.
2026-01-23 08:48:29 +01:00
can1357 1ea1b9060e refactor(coding-agent): simplified todo display and task validation logic
- Removed activeForm field from TodoItem interface and simplified todo display logic.
- Converted dynamic imports to static imports in installer and exa tools.
- Renamed task parameter from vars to args throughout task tool interface.
- Simplified task template validation by removing strict placeholder requirements.
2026-01-23 08:30:56 +01:00
can1357 b952e379ae feat(coding-agent): renamed task parameter from vars to args
- Renamed task parameter from vars to args throughout task tool interface.
- Enhanced task template rendering with built-in {{id}} and {{description}} placeholders.
- Simplified task template validation by removing strict placeholder requirements.
- Streamlined CHECKPOINT step requirements in system prompts.
2026-01-23 08:16:16 +01:00
can1357 87fb52bfb1 refactor(coding-agent): removed internal URL handling from fetch tool to use read tool
- Removed internal URL handling from fetch tool to use read tool instead.
- Updated fetch and task tool documentation to reference read tool for agent:// URLs.
- Added timeout clamping to reasonable ranges across all tools.
- Fixed timeout parameter handling to auto-convert milliseconds to seconds.
- Simplified todo-write tool by removing active_form parameter requirement.
2026-01-23 07:43:46 +01:00
can1357 f0fce652b9 feat(coding-agent/core): added internal URL routing system with agent:// and skill:// protocols
- Added internal URL routing system with agent:// and skill:// protocol handlers.
- Enhanced fetch tool to support internal URLs and JSON extraction from agent outputs.
- Extended read tool to handle internal URLs with pagination and query extraction.
- Removed Output tool and replaced functionality with agent:// URL integration.
- Replaced minimatch dependency with Bun.Glob for pattern matching across modules.
2026-01-23 07:38:08 +01:00
can1357 81af363a23 feat(coding-agent): simplified todo-write tool by removing active_form parameter
- Simplified todo-write tool by removing active_form parameter requirement.
- Updated todo-write tool to use single content field for task descriptions.
- Modified todo-write display logic to show content instead of active_form for in-progress tasks.
2026-01-23 07:06:09 +01:00
can1357 2273cf80d7 chore(coding-agent): added format-prompts script and standardized prompt formatting
- Added format-prompts script for standardizing prompt file formatting across the codebase.
- Updated system prompt tags from `<required>`/`<antipatterns>` to `<important>`/`<avoid>` for clarity.
- Enhanced prompt formatting by removing blank lines after colons and around blocks for consistency.
- Standardized whitespace handling across all prompt files to improve readability.
2026-01-23 07:03:46 +01:00
can1357 deb1b97016 docs(coding-agent/prompts): refactored task decomposition with checkpoint validation
- Updated task decomposition guidance with clearer triggers for using Task tool.
- Added mandatory CHECKPOINT step for task evaluation before first tool call.
- Enhanced skills and rules checking with explicit validation requirements.
- Improved task decomposition criteria with dependency analysis.
- Added failure conditions for checkpoint and parallel processing validation.
2026-01-23 06:49:35 +01:00
can1357 4a3f29aed3 feat(coding-agent): renamed web_fetch tool to fetch for consistency
- Renamed web_fetch tool to fetch for consistency across codebase and documentation.
- Removed format parameter from output tool and added automatic JSON to YAML conversion.
- Updated tool documentation and CLI help text to reflect tool name changes.
- Adjusted output truncation limits for bash and python tools.
2026-01-23 06:38:30 +01:00
can1357 17aa8ac54e refactor(coding-agent): simplified web-search tool parameters and unified system prompts
- Simplified web-search tool parameters by removing advanced configuration options.
- Standardized web-search tool to use built-in system prompt for consistent responses.
- Updated web-search tool to use `recency` parameter instead of `search_recency_filter`.
- Added unified web search system prompt with research assistant guidelines.
2026-01-23 06:28:09 +01:00
can1357 8013a15e49 docs(coding-agent/prompts): standardized tool documentation format with consistent XML sections
- Standardized documentation format across all 18 tools with consistent XML sections.
- Added `<output>` sections to clarify return values and behavior for all tools.
- Reorganized tool instructions with clearer `<instruction>`, `<critical>`, and `<avoid>` sections.
- Renamed Patch tool to Edit and Edit tool to Replace for better naming consistency.
2026-01-23 06:23:18 +01:00
can1357 ffaa76d22f feat(coding-agent/core): standardized timeout units and parameter naming across tools
- Standardized timeout parameters across all tools to use seconds instead of milliseconds.
- Added automatic conversion and validation for timeout values with reasonable clamping ranges.
- Renamed web-search parameter from num_results to limit for consistency.
- Updated parameter naming from camelCase to snake_case format across tools.
2026-01-23 06:07:50 +01:00
can1357 f6dec70583 refactor(coding-agent/core): restructured MCP tool handling to use direct property access
- Replaced parseMCPToolName function with direct mcpToolName and mcpServerName properties.
- Updated MCP tool parameter naming from camelCase to snake_case for consistency.
- Refactored MCP tool execution to use explicit server and tool name fields.
- Improved MCP tool metadata extraction with direct property access.
2026-01-23 05:55:32 +01:00
can1357 02a74a60ef refactor(coding-agent/core): restructured tool parameter naming to snake_case convention
- Standardized tool parameter naming from camelCase to snake_case across all tools.
- Updated edit tool parameters oldText/newText to old_text/new_text.
- Updated grep tool parameters ignoreCase/headLimit to ignore_case/head_limit.
- Updated python tool parameter timeoutMs to timeout_ms.
- Updated todo-write tool parameter activeForm to active_form.
- Marked read tool as non-abortable to improve performance.
2026-01-23 05:52:38 +01:00
can1357 19a7e33b4e feat(coding-agent): added nonAbortable option and isolated task execution
- Added nonAbortable option to AgentTool interface for ignoring abort signals during tool execution.
- Added isolated option to task tool for running tasks in isolated git worktrees.
- Simplified tool parameter descriptions across all coding-agent tools for better readability.
- Updated find tool to always sort results by modification time and removed sortByMtime parameter.
- Changed web-fetch timeout default from 20s to 45s maximum and updated bash prompt to use cwd parameter.
- Removed model parameter from task and gemini-image tools to use session/provider defaults.
2026-01-23 05:42:40 +01:00
can1357 dd9154e2c7 feat(coding-agent/core): removed model parameter to use session/provider defaults
- Removed model parameter from task and gemini-image tools to use session/provider defaults.
- Changed model inheritance logic to prioritize agent model over session model.
- Added humanizeKey function to display single variables inline with Title Case formatting.
- Updated task schema types to remove optional model field.
2026-01-23 05:29:45 +01:00
can1357 50af9519ab refactor(agent-prompts): restructured tool descriptions
- Removed centralized tool descriptions from prompt generation logic.
- Eliminated consolidated tool list rendering in system prompts.
- Added explicit tool name headings to individual tool documentation files.
- Simplifies prompt construction by decentralizing tool information.
2026-01-23 05:24:12 +01:00
can1357 da60f86f24 feat(coding-agent/core): added isolated task execution with git worktree support
- Added isolated task execution feature with git worktree support.
- Implemented automatic patch generation and application for isolated tasks.
- Added worktree management with baseline capture and delta patching.
- Enhanced task result display to show isolation status and patch information.
2026-01-21 23:57:33 +01:00
can1357 b9c9330ea1 feat: enhanced usage providers to extract account identifiers from headers
- Enhanced usage providers to extract account identifiers from response headers.
- Fixed GitHub Copilot usage provider token handling and account identifier resolution.
- Added usage report deduplication and provider sorting features.
- Added isolated task execution with git worktree management.
2026-01-21 23:52:03 +01:00
can1357 8e708d7f4c docs(coding-agent): restructured system prompt for better readability and organization
- Updated system prompt structure and formatting for better readability.
- Reorganized tool hierarchy and discipline sections.
- Added parallel work guidance for task-based workflows.
- Enhanced verification and integration methodology sections.
- Updated skills and rules formatting for cleaner presentation.
- Added stronger emphasis on completeness and quality standards.
2026-01-21 22:34:30 +01:00
can1357 5eb3a29665 feat(ai): added comprehensive usage tracking system for multiple AI providers
- Added comprehensive usage tracking system with normalized schema for provider quota/limit endpoints.
- Added usage providers for Claude, GitHub Copilot, Google Antigravity, Google Gemini CLI, OpenAI Codex, and ZAI.
- Added `/usage` command to display provider usage and limits with visual progress bars and account aggregation.
- Refactored usage tracking from Codex-specific to generic provider system with persistent caching.
- Fixed API validation errors when sending empty user messages across multiple providers.
- Clamped OpenAI Codex reasoning effort "minimal" to "low" for gpt-5.2 models.
2026-01-21 22:34:09 +01:00
can1357 7c9b79ca67 fix(coding-agent/core): limited diagnostic messages to 50 items to prevent
- Limited diagnostic messages to 50 items to prevent overwhelming output when processing files with many issues.
- Updated changelog to reflect diagnostic message limiting behavior.
2026-01-21 19:25:24 +01:00
Can Bölük 2098542f6f fix(coding-agent): corrected external editor terminal I/O handling on Unix systems
- Fixed external editor to work properly on Unix systems by correctly handling terminal I/O.
- Fixed external editor to show warning message when it fails to open instead of silently failing.
2026-01-21 19:23:53 +01:00
Can Bölük cad6b0e7dd feat(coding-agent): enhanced /dump to include complete agent context with YAML formatting 2026-01-21 18:11:22 +01:00
can1357 59ab91c939 feat(coding-agent/core): added output() function for reading task outputs with query support
- Added output() function for reading task/agent outputs by ID with multiple formats.
- Added session file support to Python executor for accessing task outputs.
- Added jq-like query support when reading JSON outputs.
- Added offset and limit parameters for reading specific line ranges from outputs.
2026-01-21 17:22:48 +01:00
can1357 228f60612d fix(coding-agent): killed orphaned Python gateway processes on exit 2026-01-21 17:17:22 +01:00
can1357 348f57898a feat(coding-agent): added shortcuts and fixed tool error handling for no matches
- Added "." and "c" shortcuts to continue agent without sending visible message.
- Fixed find tool to handle no matches case without treating as error.
- Fixed read tool to handle no matches case without treating as error.
- Improved fd error handling to distinguish between no results and actual errors.
2026-01-21 16:05:11 +01:00
can1357 96822471c2 feat(coding-agent): added cell-by-cell Python execution tracking with duration and exit codes
- Added cell-by-cell Python execution tracking with duration and exit codes.
- Added template system with {{placeholders}} for task tool context rendering.
- Enhanced patch applicator to preserve exact indentation when intended.
- Changed Python tool to use cells array instead of single code parameter.
- Updated task tool schema to require vars instead of task field.
2026-01-21 11:58:29 +01:00