Commit Graph
1628 Commits
Author SHA1 Message Date
can1357 feb108d1db docs(coding-agent,web-ui): documented image attachment processing changes 2026-01-05 04:23:35 +01:00
can1357 fa726683b1 fix(coding-agent): used theme ellipsis in loading animation text
Replaced hardcoded "..." with theme.format.ellipsis in the "Working..."
loading message for consistent styling. Fixed template literal syntax.
2026-01-05 04:23:15 +01:00
can1357 d5dd582753 fix(coding-agent): used theme ellipsis in bash execution component
Replaced hardcoded "..." with theme.format.ellipsis for consistent styling.
2026-01-05 04:22:37 +01:00
can1357 2c7950d08e feat(coding-agent): added image processing for CLI file attachments
Added automatic resizing (>2048px triggers resize to max 1920x1080) and
JPEG conversion (>2MB) for image file attachments using sharp. Reduces
payload size when attaching large screenshots or high-resolution images.
2026-01-05 04:22:36 +01:00
can1357 e3f9a206f2 feat(web-ui): added image processing for large attachments
Added automatic resizing (>2048px triggers resize to max 1920x1080) and
JPEG conversion (>2MB) for image attachments to reduce payload size.
Uses canvas-based processing with createImageBitmap where available.
2026-01-05 04:22:12 +01:00
can1357 58d9952f9b chore(coding-agent): added blank line before Theme class definition 2026-01-05 04:22:09 +01:00
can1357 f3bc4db78a feat(coding-agent): registered session flush in async cleanup registry
InteractiveMode now registers sessionManager.flush() with the async cleanup
registry, ensuring pending writes are flushed on SIGINT/SIGTERM/SIGHUP.
2026-01-05 04:22:00 +01:00
can1357 4b2215e35f docs(coding-agent): deduplicated changelog entries for unreleased changes 2026-01-05 04:21:34 +01:00
can1357 e7495a9b0e feat(coding-agent): added animated spinner and language icons for tool display
- Added animated spinner for task tool progress (spinnerFrame in render options)
- Added 35+ language/file type icons to theme (lang.* symbols for Unicode/Nerd/ASCII)
- Read tool now displays file type icons and metadata inline with path
- Added getFileType helper to detect image/binary/text files by extension
2026-01-05 04:21:18 +01:00
can1357 c4e26ee614 feat(coding-agent): added subagent token usage aggregation to task tool results
Task tool now parses NDJSON events from subagent execution and aggregates
token usage (input, output, cache read/write) and costs across all completed
message_end events. Usage is stored in tool result details and included in
session statistics via getUsageStatistics().

Also changed AgentSession.dispose() to async to properly flush pending writes.
2026-01-05 04:21:02 +01:00
can1357 7f1d071843 feat(coding-agent): added streaming NDJSON session persistence with crash-safe writes
Rewrote SessionManager to use streaming NDJSON writes with proper backpressure
handling instead of synchronous file appends. Key changes:

- SessionManager.open() and continueRecent() are now async for proper init
- Session writes use atomic rename pattern with fsync for crash safety
- Added flush() method for explicit control over pending write completion
- Large content blocks (>500KB) are truncated before writing to prevent OOM
- Images are replaced with placeholder thumbnails during persistence
2026-01-05 04:20:44 +01:00
can1357 fef71188ff feat(coding-agent): added async cleanup registry for graceful signal handling
Introduced registerAsyncCleanup() for registering async callbacks that run
on SIGINT, SIGTERM, and SIGHUP. This enables proper session flushing before
exit without blocking synchronous signal handlers.
2026-01-05 04:20:22 +01:00
can1357 1b70f4c796 build(coding-agent): added sharp and @types/ndjson dependencies
Added sharp for image processing (placeholder thumbnails in session persistence)
and @types/ndjson for type definitions.
2026-01-05 04:20:04 +01:00
can1357 27d56f39f8 refactor(coding-agent): simplified tool output rendering with collapsible content
- Changed read tool result display to hide content by default with expand hint, showing only metadata until expanded.
- Changed diagnostics display to group messages by file with tree structure and severity icons.
- Changed diff stats formatting to use colored +/- indicators with slash separators.
- Removed custom renderers for ls, find, and grep tools in favor of generic tool display.
- Simplified truncation warning formatting for read tool output.
2026-01-05 03:13:24 +01:00
can1357 fd67003028 feat(coding-agent): added streaming persistence with backpressure control
- Added streaming NDJSON writer with backpressure handling for session persistence.
- Added SessionManager.flush() method for explicit write synchronization before session operations.
- Added content truncation for oversized blocks (500K char limit) to prevent memory exhaustion.
- Replaced synchronous file appends with streaming NDJSON writer in session persistence.
2026-01-05 02:23:36 +01:00
can1357 f693c285ef feat(coding-agent): added /exit command for interactive mode termination
- Added /exit slash command to exit the application from interactive mode.
2026-01-05 02:20:46 +01:00
can1357 af05f81bde feat(coding-agent/core): added fuzzy path suggestions to read tool
- Added fuzzy path matching suggestions when read tool encounters file-not-found errors, showing closest matches using Levenshtein distance.
- Changed read tool to automatically redirect to ls when given a directory path instead of a file.
- Implemented Levenshtein distance algorithm for computing path similarity scores.
- Added fd-based file candidate listing with gitignore support for fuzzy matching.
2026-01-05 02:18:38 +01:00
can1357 3aa17d9d1a docs(coding-agent/prompts): restructured tool docs for clarity and usability
- Rewrote tool documentation with structured sections and clearer usage guidelines.
- Added explicit guidance on when to use and avoid each tool.
- Simplified examples and removed implementation details from tool prompts.
- Added best practices for read, write, and bash tools.
2026-01-05 02:17:32 +01:00
can1357 71b59649b5 refactor(coding-agent): externalized tool prompts to markdown files
- Extracted tool description prompts from inline strings to external markdown files in src/prompts/tools/.
- Moved descriptions for 12 tools (ask, bash, edit, find, grep, lsp, output, read, web-fetch, web-search, write) to dedicated .md files.
- Updated tool implementations to import descriptions from external markdown files.
2026-01-05 01:50:35 +01:00
can1357 cd73708831 feat(coding-agent/core): added crates.io API handler with parallel fetching
- Added crates.io API handler for fetching Rust crate metadata, versions, and README content.
- Added weekly download statistics to npm package fetch results.
- Parallelized npm registry and download stats fetches for improved performance.
2026-01-05 01:46:38 +01:00
can1357 885f59c4a0 fix(coding-agent/core): resolved type narrowing by binding array items locally
- Bound array items to local variables to enable TypeScript union type narrowing in diagnostic rendering.
2026-01-05 01:37:29 +01:00
can1357 1bf6621b69 refactor(coding-agent/core): migrated Exa provider to REST API for simpler integration
- Migrated Exa web search provider from MCP protocol to direct REST API for simpler integration.
- Added defensive handling for malformed response data with fallback text display in web search rendering.
- Replaced SSE parsing and markdown response handling with direct JSON API responses.
- Added type guards and null coalescing throughout render.ts to prevent runtime errors on unexpected data.
- Normalized search type parameter to map deprecated 'keyword' to 'fast' for API compatibility.
2026-01-05 01:34:16 +01:00
can1357 dda587217d docs(coding-agent/prompts): expanded prompts for structured handoffs
- Enhanced compaction prompts to require structured handoff summaries with preserved tool outputs and repository state.
- Added core behavior guidelines and task completion reminder to system prompt.
- Expanded reviewer prompt with suggestion block formatting and evidence-backed finding requirements.
- Added runtime/tooling preferences section and formatting requirements to init prompt.
2026-01-05 01:33:50 +01:00
can1357 b18193e230 refactor(coding-agent): centralized prompts to src/prompts/ for maintainability
- Consolidated all prompt templates into centralized src/prompts/ directory.
- Extracted inline prompt constants to external markdown files for better maintainability.
- Refactored system-prompt.ts to use template string replacement with placeholders.
- Relocated bundled agent and command prompts from scattered directories to prompts/.
2026-01-05 01:25:20 +01:00
can1357 ce4703905f feat(coding-agent): introduced structured tree layouts for tool results
- Enhanced tool result renderers to use structured tree layouts with expand hints and truncation indicators.
- Added detailed metadata fields to grep, find, ls, and output tools for richer TUI display.
- Improved web-search renderer with section-based layout including Answer, Sources, Related, and Meta sections.
- Added helper functions for tree-style list formatting, diagnostics rendering, and diff preview truncation.
2026-01-05 01:13:44 +01:00
can1357 d2b3b870e9 fix(coding-agent): corrected extension status symbols for shadowed state
- Added status.shadowed symbol key to theme system for proper shadowed extension state display.
- Fixed extension list and inspector panel to use correct disabled and shadowed status symbols.
- Changed tree.hook symbol from └ to ⎿ in UNICODE_SYMBOLS.
2026-01-05 01:08:15 +01:00
can1357 db726287f8 fix(coding-agent): corrected token counting for mixed usage formats
- Fixed token counting for subagent progress to handle different usage object formats (camelCase and snake_case).
- Added getUsageTokens helper to normalize usage objects from different event formats.
2026-01-05 01:01:12 +01:00
can1357 9b7596c4aa feat(coding-agent): added theme system with 30+ presets and status line editor
- Added 30+ built-in color themes and comprehensive symbol customization via theme presets and overrides.
- Added status line segment editor with presets, separators, and customizable left/right segments.
- Added Biome CLI-based linter client as alternative to LSP for diagnostics and formatting.
- Added 20MB file size limit for image files to prevent memory issues during serialization.
- Replaced hardcoded Unicode symbols throughout codebase with theme-configurable symbol system.
2026-01-05 00:57:16 +01:00
can1357 9feb1ca97f chore: bump version to 3.14.0 2026-01-04 19:18:29 +01:00
can1357 8ef2697f21 feat(coding-agent): added usage statistics API to centralize tracking
- Added getUsageStatistics() method to SessionManager for tracking token usage and costs.
- Added UsageStatistics interface and type export for session usage tracking.
- Replaced inline token/cost calculation with centralized getUsageStatistics() method in status line.
- Added Pi segment and updated model icon in status line display.
2026-01-04 19:16:54 +01:00
can1357 24170d4be2 feat: added watch subcommand to release script 2026-01-04 16:25:50 +01:00
can1357 856ed87b76 chore: removed test temp images from tracking, removed broken test script 2026-01-04 16:24:08 +01:00
can1357 b9e6e1b2b8 docs: simplified release command to use release script 2026-01-04 16:22:22 +01:00
can1357 5a9346ac0c refactor: use Bun shell API in release script 2026-01-04 16:21:36 +01:00
can1357 068a2965a9 refactor: simplified release script glob usage 2026-01-04 16:20:17 +01:00
can1357 994dc34f40 fix: release script now waits for all CI workflow runs 2026-01-04 16:18:35 +01:00
can1357 3ba0315b6f chore: bump version to 3.13.1337 2026-01-04 16:16:35 +01:00
can1357 77bca78dd3 chore: migrated release script to TypeScript 2026-01-04 16:16:29 +01:00
can1357 06a2a069c1 chore: bump version to 3.9.1337 2026-01-04 16:13:28 +01:00
can1357 b0ce4696ae fix(coding-agent): resolved status line not updating after new session
- Fixed status line not updating token counts and cost after starting a new session.
2026-01-04 16:12:01 +01:00
can1357 a13d20b5a3 chore: bump version to 3.9.1337 2026-01-04 16:03:27 +01:00
can1357 4811403bed feat(tui): changed cursor to thin blinking bar, updated status line icons 2026-01-04 15:48:46 +01:00
can1357 eba38cfa6e feat(coding-agent): introduced powerline status bar with git integration
- Replaced FooterComponent with new StatusLineComponent featuring powerline-style segments and Nerd Font icons.
- Added git branch detection with file watching and status tracking with 1-second TTL cache.
- Added setTopBorder() method to Editor component for custom status content in top border.
- Changed Editor component to use rounded box-drawing characters for borders.
- Renamed footer theme properties to statusLine prefix across dark and light themes.
2026-01-04 15:24:39 +01:00
can1357 ee187c3ef8 feat(coding-agent): disabled formatOnWrite by default to reduce friction
- Changed default for `lsp.formatOnWrite` setting from `true` to `false`.
- Reformatted settings-manager.ts with consistent indentation.
2026-01-04 15:18:13 +01:00
can1357 f3108ba51c fix(coding-agent): resolved stale diagnostics in LSP client after edits
- Fixed stale diagnostics persisting after file content changes in LSP client.
2026-01-04 14:59:26 +01:00
can1357 61a4b52853 chore: bump version to 3.8.1337 2026-01-04 14:24:58 +01:00
can1357 441d60f9dc fix(coding-agent): persisted session title to in-memory header before flush 2026-01-04 14:24:04 +01:00
can1357 c711092c6f feat(coding-agent): added auto-open browser for HTML export and Gist sharing
- Added automatic browser opening after exporting session to HTML.
- Added automatic browser opening after sharing session as a Gist.
- Extracted browser-opening logic into reusable openInBrowser method.
2026-01-04 14:20:47 +01:00
can1357 68ebf75622 refactor(coding-agent): simplified once import in lsp tool module
- Replaced utils.once import with direct once import from local utils module.
2026-01-04 14:19:01 +01:00
can1357 21842d65e4 chore: bump version to 3.7.1337 2026-01-04 04:31:29 +01:00