Commit Graph
72 Commits
Author SHA1 Message Date
asepharyana 2e351ccf69 feat: update overlay handling in apply_action and remove mouse capture from terminal execution 2026-07-13 14:39:39 +07:00
asepharyana 1d50b94eec feat: update README and documentation for new tools and features
- Updated README.md to reflect the addition of 3 new built-in tools, bringing the total to 37.
- Revised architecture documentation to indicate the increase in tool count.
- Enhanced backend documentation with updated line counts for various modules.
- Modified data documentation to change edit log format from JSON to JSONL.
- Updated dependencies documentation to reflect version upgrades for several crates.
- Improved prompts for auto-reviewer, division implementer, planner, tester, and quality reviewer to enforce stricter coding standards regarding linter bypasses.
- Refactored code in various modules to improve clarity and performance, including updates to error handling and tool execution logic.
- Added comprehensive tests for IPC frame serialization and deserialization.
2026-07-13 14:39:39 +07:00
asepharyana 00e29139c5 feat: remove pipeline command and refactor workflow execution to use custom specialists 2026-07-13 14:39:39 +07:00
asepharyana 3b660e09a8 feat: refactor agent step limits and enhance workflow orchestration with new findings tool 2026-07-13 14:39:39 +07:00
asepharyana 0d6f558b2b feat: enhance responsiveness by implementing abort checks in streaming API calls 2026-07-13 14:39:39 +07:00
asepharyana 104b0daf4c feat: implement abort mechanism for workflows and subagents 2026-07-13 09:09:23 +07:00
asepharyana 65647ce517 Update dependencies and refactor SHA256 hash encoding
- Updated `crossterm` from version 0.28 to 0.29.
- Upgraded `reqwest` from version 0.12 to 0.13 and added "form" feature.
- Bumped `serde_yaml_ng` from version 0.9 to 0.10.
- Increased `dirs` version from 5 to 6.
- Updated `rusqlite` from version 0.32 to 0.40.
- Upgraded `infer` from version 0.16 to 0.19.
- Bumped `sha2` from version 0.10 to 0.11.
- Updated `rmcp` from version 1.8 to 2.2.
- Refactored SHA256 hash encoding in `rewind.rs`, `mod.rs`, and `rest.rs` to use `hex::encode` instead of formatting with `{:x}` for better clarity and consistency.
2026-07-13 08:39:14 +07:00
asepharyana 0155a04cee fix: remove redundant ref in format! argument 2026-07-13 08:16:40 +07:00
asepharyana 29a9fae3f6 ci: add GitHub Actions workflows with semantic-release auto-versioning
chore: fix all 702 clippy warnings across codebase
- auto-fix 475 via cargo clippy --fix
- fix remaining 227 manually: uninlined_format_args, redundant_closure, match_same_arms,
  underscore_binding, format_push_string, items_after_statements, needless_pass_by_value,
  clone_on_copy, case_sensitive_extension, single_match/let-else, write_with_newline,
  and other clippy lints
2026-07-13 08:12:12 +07:00
asepharyana a491a371a5 fix: resolve clippy uninlined_format_args and match_same_arms warnings 2026-07-13 06:43:11 +07:00
asepharyana 522e1e31f2 fix: remove broken test that calls nonexistent Harness::classify 2026-07-13 06:38:37 +07:00
asepharyana 5334c2501b feat: enhance strictness of Rust compiler settings and improve code quality by treating warnings as errors 2026-07-13 06:22:31 +07:00
asepharyana 3f5f27c339 Enhance TUI with modern design and improved status rendering
- Updated status bar rendering in `status.rs` to feature a segmented design with clear visual segments for app name, status, and metadata.
- Refined color theme in `theme.rs` to adopt a modern dark palette with neon accents, improving visual hierarchy and readability.
- Revamped workflow panel in `workflow.rs` to display agent statuses as compact cards with state badges, enhancing clarity and user experience.
- Improved overall styling consistency across components, ensuring a cohesive look and feel throughout the TUI.
2026-07-13 05:42:17 +07:00
asepharyana 2310c2df7f feat: implement company pipeline orchestration with user commands for full, quick, and skip modes 2026-07-13 05:33:04 +07:00
asepharyana a6eed9e574 Add subagent prompts and implement company workflow orchestration
- Introduced prompts for various subagent roles: architecture reviewer, code quality reviewer, documentation maintainer, implementation team, testing team, and security reviewer.
- Implemented the auto-subagent orchestration in `auto.rs` to manage inline and background reviews.
- Created a division structure in `division.rs` to define roles and responsibilities for each subagent.
- Developed a company workflow orchestrator in `company.rs` to run the complete division pipeline, consolidating findings and generating executive summaries.
- Added logic to determine whether to run a full or quick pipeline based on request complexity.
2026-07-13 05:23:38 +07:00
asepharyana 2856dd78b8 feat: enhance subagent context with abort flag and implement tool call timeout 2026-07-13 04:59:16 +07:00
asepharyana 3b711bbf3b feat: implement subagent tool gating and timeout mechanisms for enhanced security and performance 2026-07-13 04:41:26 +07:00
asepharyana d09e440e7e feat: enhance safety filters for shell commands by normalizing ANSI-C quoting 2026-07-13 04:10:08 +07:00
asepharyana a080957c26 feat: implement workflow findings sharing for inter-agent communication in workflows 2026-07-13 03:12:37 +07:00
asepharyana dc0f1c7647 feat: implement interactive lesson management and update command handling 2026-07-13 02:53:30 +07:00
asepharyana ab8b098a57 fix: reset overlay state to None after workflow actions 2026-07-12 18:19:43 +07:00
asepharyana 562509b0e0 feat: increase maximum concurrency for parallel agents to enhance performance 2026-07-12 18:17:09 +07:00
asepharyana 8a11a469f9 feat: enhance workspace management and history tracking in application state 2026-07-12 18:09:03 +07:00
asepharyana a59feb23c4 feat: add turn_events to ToolCtx and implement live state updates in spawn tool 2026-07-12 17:50:38 +07:00
asepharyana 53b0cb271f feat: introduce workflow management tools and commands
- Added new workflow commands: `/workflow` to open the workflow panel and `/workflow run <prompt>` to execute workflows.
- Implemented `spawn_agents` and `spawn_pipeline` tools for parallel and sequential task execution, respectively.
- Enhanced workflow engine to handle real-time agent status updates and display in the UI.
- Updated workflow panel to show agent statuses, findings count, and session counters.
- Refactored existing code to integrate new workflow functionalities and improve overall structure.
2026-07-12 17:49:34 +07:00
asepharyana 7bdfd9c4c4 fix: adjust key event handling to ensure history navigation works correctly 2026-07-12 17:17:17 +07:00
asepharyanaandClaude Opus 4.8 b7c83dcb65 feat: register Claude model roles (opus-4-8, sonnet-5, haiku-4-5) with auto-detected provider
When ~/.claude/settings.json is found, registers model roles for:
- claude-opus-4-8 (200k context, 8192 max tokens)
- claude-sonnet-5
- claude-haiku-4-5-20251001

Sets claude-opus-4-8 as default model when no custom default exists.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 15:38:37 +07:00
asepharyanaandClaude Opus 4.8 56847f380a feat: auto-detect provider from ~/.claude/settings.json
Reads ANTHROPIC_BASE_URL and ANTHROPIC_API_KEY from Claude Code's
settings.json and registers them as a 'claude' provider. Automatically
sets it as the default provider when no custom default is configured.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 15:36:45 +07:00
asepharyanaandClaude Opus 4.8 aac1de8af6 fix(lsp): add download-tier helpers, progress callback, and persist previous install check
Auto-install improvements:
- Add curl-based download helpers for rust-analyzer and jdtls
- Add progress callback threaded through all provision stages
- Check ~/.local/share/zesdex/lsp/ for previous downloads so install
  only runs once, not on every startup
- Increase run_command timeout to 180s for large downloads
- Add cargo/pacman/brew fallback tiers for Rust
- Add pacman/download tiers for Java jdtls

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 15:32:15 +07:00
asepharyana b20bb95ada feat(lsp): add LSP provision progress messages to toast notifications 2026-07-12 15:19:13 +07:00
asepharyana c36c819304 fix: remove hardcoded API key for security reasons 2026-07-12 15:04:02 +07:00
asepharyana e78813ecdb feat(lsp): implement auto-provisioning for language servers
- Added LSP auto-provisioning functionality to automatically install and connect language servers.
- Introduced `shutdown_lsp` method to cleanly shut down LSP servers on application exit.
- Enhanced `AppStateRest` to spawn a background thread for provisioning language servers.
- Updated `builtin_agents` to include new LSP-related agents.
- Modified settings to include options for LSP auto-provisioning and supported languages.
- Updated file editing and writing tools to notify LSP servers of changes.
- Enhanced LSP tools to support auto-detection of servers based on file extensions.
- Added utility functions for managing known file extensions and resolving server names.
- Created a new `provisioner` module to handle the provisioning logic for various language servers.
2026-07-12 14:47:01 +07:00
asepharyana 48d2dc3ad6 feat: add 'todofinish' tool to mark tasks as completed in the todo list; update system prompts for task execution 2026-07-12 13:52:00 +07:00
asepharyana abc7a58e31 feat(lsp): implement LSP client and server management
- Added LspClient for handling communication with LSP servers, including methods for initialization, notifications, and requests.
- Introduced LspManager to manage multiple LSP server connections, allowing for connection, disconnection, and retrieval of server capabilities.
- Created tools for connecting to LSP servers, retrieving diagnostics, hover information, code completion, definitions, and references.
- Enhanced UI rendering to display token usage and settings in the overlay.
- Updated status bar to show current token usage and selected provider/model.
2026-07-12 13:40:58 +07:00
asepharyana 8ad042139e feat: add todo management feature; implement todo content tracking and display in the UI 2026-07-12 12:43:50 +07:00
asepharyana 80a8223ee3 feat: enhance prompts and validation for tool-call safety; enforce error handling and technical debt awareness 2026-07-12 12:32:32 +07:00
asepharyana ce36e936a6 feat: enhance memory management tools; improve lesson tracking and update descriptions for clarity 2026-07-12 12:21:46 +07:00
asepharyana 40108defc0 feat: implement background API connectivity checks and update state based on connectivity status 2026-07-12 12:09:59 +07:00
asepharyana 55bcfda0d6 feat: remove InsertChar action and inline character handling; streamline input processing and autocomplete triggers 2026-07-12 12:02:45 +07:00
asepharyana ac99835eb4 feat: enhance command classification and error handling; improve process checks and credential security 2026-07-12 11:55:02 +07:00
asepharyana 87d0aac596 feat: enhance safety and crash resilience in file operations; add fsync to critical writes and checks for path traversal 2026-07-12 11:49:33 +07:00
asepharyana 8767beef39 feat: enhance OAuth flow validation and improve security checks; add credential read blocking and git operation safeguards 2026-07-12 11:45:28 +07:00
asepharyana 2efd40ca88 Enhance tool documentation and add new features
- Added module-level documentation for memory tools (`remember`, `recall`, `forget`) to clarify their purpose.
- Improved documentation in `recall.rs` and `remember.rs` to describe the functionality and flow of memory entry operations.
- Updated `mod.rs` to include descriptions for the tool trait and execution context.
- Enhanced `plan.rs` with detailed comments on plan-mode signaling tools.
- Documented text search tools in `search.rs` to explain their functionality.
- Improved sequential-thinking tool documentation in `seqthink.rs`.
- Added safety filter documentation in `shell_filter` for credential and git operations.
- Enhanced utility tools documentation, including `cd`, `dir_cache_update`, and `todowrite`.
- Improved rendering documentation in view modules (`chat`, `markdown`, `status`, `workflow`) to clarify rendering flows and purposes.
2026-07-12 11:28:39 +07:00
asepharyanaandClaude Opus 4.8 89b63b1bc2 fix: route warnings to file and add in-app toast notifications
- Replace all eprintln! with tracing::warn! to avoid TUI corruption
  via stderr writes during alternate screen mode
- Route tracing output to ~/.local/share/zesdex/zesdex.log instead of
  stderr by configuring tracing_subscriber with a Mutex<File> writer
- Add render_toasts() widget: floating notification stack at top-right
  of the terminal, color-coded by severity (Info/Success/Warning/Error/
  Lesson), auto-expires after 5s, max 4 visible
- Apply to 12 files: stream parser, MCP client, subagent engine,
  state/rest, controller/input, app_config, provider, OAuth, agent_def,
  dto/chat/tool

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 10:57:32 +07:00
asepharyanaandClaude Opus 4.8 e29dfadaa7 refactor: surface silent fallbacks with eprintln! logging
Add eprintln! logging before fallback values in 7 files where errors
were previously swallowed without visibility:

- [stream] malformed JSON chunk, missing usage tokens, missing tool call index
- [mcp] missing result fields, client builder failure, response body read error
- [subagent] missing API key in settings, all resolution paths exhausted
- [state] memory_dir no-parent, session_id missing, lock poisoned, store_base_dir
- [input] missing default_model for provider
- [session] corrupt agents.json parse failure
- [pkce] clock-before-epoch on random byte generation

All fallback values are preserved — this adds observability without
changing behavior for callers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 10:50:34 +07:00
asepharyana bb621fdff2 feat: enhance error handling in OAuth URL building and client creation; improve tool argument sanitization 2026-07-12 10:23:26 +07:00
asepharyana 0cc60c12ce feat: update maximum steps and token limits to usize::MAX; add split_spans_into_lines function for improved chat display 2026-07-12 04:01:10 +07:00
asepharyana a974118b5a Refactor: Remove security module and related functionality
- Deleted the `security` module and its associated files, including `daemon.rs` and `install.rs`.
- Removed references to security features in various modules, including `mod.rs`, `mode/mod.rs`, and `input.rs`.
- Updated the `MiscState` struct to eliminate security-related fields.
- Adjusted the `apply_action` function to remove security action handling.
- Increased the maximum limits for tool-only turns and agent steps in `actions/mod.rs`.
- Modified the review prompt to exclude security checks.
- Cleaned up the `git_operator` and `shell` tools to remove catastrophic guard checks.
- Removed internet-related tools and their references from the tool module.
2026-07-12 03:56:43 +07:00
asepharyana 4bfbe1d1b9 feat: update README with enhanced descriptions and security features; refactor catastrophic guard checks and tool execution handling 2026-07-12 03:37:27 +07:00
asepharyana d957e8d4ce feat: enhance prompts with detailed programmer description and add workspace tree generation 2026-07-12 03:28:06 +07:00