Commit Graph
100 Commits
Author SHA1 Message Date
asepharyana 4eba9d0a2f feat(install): add installation script for building and symlinking the binary 2026-07-15 00:25:53 +07:00
asepharyana 7fccc16a54 refactor(engine, hive_mind): update terminology from 'agents' to 'drones' and enhance logging for clarity 2026-07-15 00:24:49 +07:00
asepharyana b5e3dfe4b1 refactor(hive_mind): enhance documentation for clarity and consistency in terminology 2026-07-15 00:22:59 +07:00
asepharyana 519be7559b refactor(prompts): update reviewer prompts to align with Hive's directive and contamination protocols 2026-07-15 00:20:41 +07:00
asepharyanaandClaude Sonnet 5 d392c4aa00 fix(prompt): perbarui system prompt dari CEO/company ke model hive-mind
src-misc/system-prompt.txt masih memakai framing lama "Zesdex Corp
CEO / 5 divisi" dan mereferensikan tool run_company_pipeline yang
sudah tidak ada, tertinggal saat commit 25f084f merombak arsitektur
ke hive-mind (CLAUDE.md, README.md, dan implementasi workflow_run
sudah diupdate saat itu, tapi file prompt utama ini terlewat).
Akibatnya AI membalas dengan persona CEO/company, bukan Core
Intelligence/hive-mind seperti didokumentasikan di README.md.

- system-prompt.txt: tulis ulang total ke model Core Intelligence /
  cognitive cycle plan / processing node / access tier, konsisten
  dengan CLAUDE.md dan tool hive_mind yang sebenarnya.
- system-tools.txt: tambah entri hive_mind dan read_findings yang
  sebelumnya tidak ada sama sekali di daftar tool.
- workflow.rs: perbaiki sisa teks "divisions/subagents" di deskripsi
  tool read_findings jadi "nodes/subagents".

Diverifikasi live: AI sekarang memperkenalkan diri sebagai "Core
Intelligence of Zesdex ... modeled as a hive-mind" alih-alih CEO.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:55:49 +07:00
asepharyana 1010e44b22 Implement new feature for user authentication and improve error handling 2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 b355c9928e style(tui): hapus emoji dekoratif dari judul overlay
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 aaea300699 fix(tui): perbaiki isi overlay Todo dan Usage jadi tampilan detail nyata
Overlay Todo sebelumnya menampilkan jumlah pesan yang tidak relevan,
bukan isi task list. Overlay Usage sekarang pakai compute_usage_summary
yang sama dengan widget sidebar (DRY, angka konsisten).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 7fd55fa86d fix(tui): perbaiki potensi terpotongnya baris token di widget Usage sidebar
Baris pertama widget Usage sebelumnya bisa melebihi lebar kolom sidebar
(30 kolom) pada sesi dengan jumlah token besar, menyebabkan teks
terpotong diam-diam tanpa wrap. Sekarang dipecah jadi beberapa baris
pendek yang aman di lebar berapa pun yang realistis.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 31c01cdf1d feat(tui): tambah dan pasang sidebar dashboard permanen
Sidebar kanan permanen (Workflow/Tasks/Usage) menggantikan panel todo
ad-hoc yang lama. Widget baca state yang sudah ada, tidak ada perubahan
skema AppStateRest.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 aa2b6acb95 feat(tui): tambah command /todo dan /usage untuk buka overlay
Overlay Todo dan Usage sebelumnya tidak punya trigger sama sekali di
jalur interaksi normal (cuma bisa lewat restore snapshot sesi) --
sekarang mengikuti pola /workflow yang sudah ada.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 2f1a4d85a1 fix(tui): perbaiki rendering multi-baris pada pesan Tool
Konten Tool sebelumnya didorong sebagai satu Span tanpa split newline,
sehingga output tool multi-baris (stdout bash, hasil grep, diff)
tampil sebagai karakter \n literal alih-alih baris terpisah. Sekarang
mengikuti pola render_markdown + split_spans_into_lines yang sama
dengan role lain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 e34708a319 feat(tui): rombak rendering chat jadi format log rapat
markdown.rs juga disesuaikan: indentasi paragraf/heading bawaannya
dilepas supaya tidak bentrok dengan indent PREFIX_WIDTH di chat.rs
(baris pertama vs baris wrap lanjutan jadi sejajar).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 6b58977875 fix: perbaiki 5 warning clippy pre-existing (base untuk TUI overhaul)
unnested_or_patterns, collapsible_if, items_after_statements, dan
case_sensitive_file_extension_comparisons di auto.rs, engine.rs, dan
actions/mod.rs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 7a9cb7bf34 feat(tui): ganti palet warna ke Tokyo Night
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 04e7ff9380 docs: tambah spec desain rombak TUI (Multi-Pane Dashboard, Tokyo Night)
Spec brainstorming untuk rombak total src/view + src/controller: layout
Multi-Pane Dashboard dengan sidebar Workflow/Tasks/Usage, palet Tokyo
Night, dan format chat inline rapat.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 23:41:53 +07:00
asepharyanaandClaude Sonnet 5 28e763a695 fix(hive-mind): gunakan flag SessionRuntime sebagai sinyal konvergensi otoritatif
Pesan sistem bertanda [Hive-Mind Consensus] hanya di-push ke variabel lokal
run_agent_turn dan diarsipkan ke SQLite, tidak pernah masuk ke
rt.messages lewat TurnEvent — sehingga hive_mind_already_ran selalu
memindai daftar pesan yang kosong dan gerbang "converge sekali per sesi"
tidak pernah aktif. Tambahkan SessionRuntime.hive_mind_converged yang
diset dari event TurnEvent::SystemNote { kind: "hive_mind_converged" }
setelah konvergensi selesai, disalurkan lewat TurnCtx, dan dijadikan
sinyal utama di run_agent_turn (pemindaian pesan lama tetap sebagai
fallback defensif).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 3e6f9a6a5f test(subagent): tambah pengujian invarian read⊆write⊆full pada tool_scope
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 e023f2c5a8 fix(subagent): panic-proof overlap guards and update stale docs
RunningGuard resets TEST_GEN_RUNNING/ARCH_REVIEW_RUNNING/SECURITY_REVIEW_RUNNING
via Drop so a subagent panic can no longer wedge that review kind disabled
for the rest of the process. Doc comments on run_subagent_with_retry and the
three spawn_background_* / spawn_all_background functions now describe the
abort_flag and overlap-guard behavior added in Task 7.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 1039f67c12 fix(subagent): perbaiki filter is_production_code berbasis substring dan tambah pembatalan/anti-tumpang-tindih pada background review
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 fdd62f8303 fix(tui): perbaiki roster workflow yang tidak pernah ter-reset karena substring "started" tidak pernah cocok
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 5498088532 fix(hive-mind): ganti gerbang pipeline berbasis jumlah pesan dengan deteksi konvergensi sebelumnya
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 a125f5d440 fix(hive-mind): hapus penulisan docs/runs ganda dan sambungkan abort_flag ke tool hive_mind manual
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 79e2bfcc9c feat(tool): tambah abort_flag ke ToolCtx dan sambungkan dari session state
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 b1c0265e8c fix(hive-mind): tambah timeout per-node dan jamin dokumentasi convergence tetap tertulis saat sintesis gagal
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 e2878a3d83 feat(settings): tambah hive_mind_node_timeout_ms dengan fallback serde default
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyanaandClaude Sonnet 5 6790fe481b docs: tambah rencana implementasi perbaikan hive-mind dan subagent
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:55:05 +07:00
asepharyana 25f084f9db feat(hive-mind): implement multi-agent orchestration with cognitive cycles
- Introduced a new hive-mind architecture that allows the Core Intelligence to issue directives to anonymous processing nodes.
- Each node executes its directive and merges output into a collective state, visible to all nodes in real-time.
- Added support for dynamic cognitive cycles, enabling flexible task management.
- Implemented documentation generation for hive-mind runs, ensuring a durable record of decisions and actions.
- Refactored existing company pipeline tools to align with the new hive-mind structure, replacing division-specific prompts with a more generalized approach.
- Updated workflow rendering to accommodate hive-mind nodes and their system-assigned designations.
- Enhanced error handling and validation for cognitive cycle plans.
2026-07-14 08:12:43 +07:00
asepharyana c60fadb88a feat: enhance edit logging in subagent execution and streamline edit tracking in run_agent_turn 2026-07-13 14:47:03 +07:00
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 cb7c388e4f ci: remove clippy from CI - pre-existing warnings need separate cleanup 2026-07-13 06:49:02 +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 0512139f03 ci: add GitHub Actions workflows with semantic-release auto-versioning 2026-07-13 06:31:08 +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
asepharyana 2d20e8046c docs: update README to reflect new tools and features in the Zesdex system 2026-07-12 17:15:05 +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
asepharyana 7158d362fd feat: add initial codemap documentation and architecture overview; include backend, data, dependencies, and frontend details 2026-07-12 11:10:16 +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
asepharyana 3cfe39e5f2 refactor: remove agent mode and related functionality; update help and README 2026-07-12 03:22:55 +07:00
asepharyana df5775a272 Refactor verdict handling and editor state management
- Removed the Escalate variant from the Verdict enum and associated parsing logic.
- Cleaned up the EditorState struct by removing unused fields and methods.
- Simplified MCP connection functions by removing unnecessary disconnect and handle dismiss functions.
- Added tick count to MiscState for managing UI updates during processing.
- Updated chat and status views to display a spinner during AI processing using the tick count.
- Created a README.md file to document the project, its features, architecture, usage, key bindings, agent modes, security measures, installation instructions, and configuration details.
2026-07-12 03:19:25 +07:00
asepharyana 36573e7e3b Refactor scrolling methods in ScrollState to accept an amount parameter
- Updated `scroll_up` and `scroll_down` methods to take an `amount` parameter for more flexible scrolling.
- Removed the `AgentMode` enum and related methods from the types module to simplify state management.
- Modified `AppStateRest` to remove the `mode` field and adjusted related logic.
- Enhanced `run_subagent` to build tool definitions and handle API key resolution from configuration.
- Updated command parsing to reflect changes in login handling.
- Removed onboarding overlays and related logic from input handling and rendering.
- Improved status bar to reflect connection status and agent readiness.
- Adjusted workflow panel rendering to simplify phase status display.
- Refactored edit log initialization to load from disk if available.
- Updated settings structure to use a HashMap for API keys.
- Enhanced error handling in LlmClient for authentication issues.
2026-07-12 03:14:52 +07:00
asepharyana 71d3494372 feat: update API key handling to use default if not provided 2026-07-12 02:46:16 +07:00
asepharyana d52ee967ee feat: add API connection state management and update status display 2026-07-12 02:26:53 +07:00
asepharyana a98fdb0c7b feat: enhance AppConfig loading to merge default providers and set API key 2026-07-12 02:21:08 +07:00
asepharyana c948869d35 feat: remove ModelUse and ModelAdd commands; update command handling and provider configuration 2026-07-12 02:19:08 +07:00
asepharyana 32155f8ea8 feat: remove ModePicker overlay and related commands; update mode handling and documentation 2026-07-12 02:14:40 +07:00
asepharyana 662e269f2c feat: implement model management commands and overlays for enhanced user interaction 2026-07-12 02:06:46 +07:00
asepharyana 9f272d5973 feat: add support for Router provider and enhance command handling 2026-07-12 01:43:57 +07:00
asepharyana a8fee71e06 chore: add dead code allowance for delete_blob function 2026-07-12 01:27:12 +07:00
asepharyana 18a41aad48 feat: add editing and MCP command handling, enhance SSE streaming with usage tracking
- Implemented `Edit` and `McpAdd` commands in the command parser and handler.
- Added a new `stream` module to the runtime for handling streaming events.
- Enhanced `SseParser` to parse usage information from SSE events.
- Introduced `ToolCallAccumulator` for tracking tool calls independently.
- Updated `AppStateRest` to include `app_config` and `MiscState` to track `effort_level` and `selected_index`.
- Modified `LlmClient` to support streaming responses with usage tracking.
- Improved error handling and retry logic in the streaming API calls.
- Added tests for new features and improved markdown rendering in the chat view.
2026-07-12 01:25:52 +07:00
asepharyana fcef85a327 Refactor IPC and DTO structures; remove unused code and streamline message handling
- Removed unused structs and methods from `response.rs`, `usage.rs`, and `client.rs`.
- Simplified `Connection` handling in `conn.rs` to only support Unix sockets.
- Updated `IpcServer` to exclusively use Unix sockets and removed TCP handling.
- Cleaned up `editlog.rs` by removing loading and recent entry methods.
- Refactored `memory.rs` to eliminate unused functions related to lesson promotion and retrospective creation.
- Enhanced `search.rs` to support multiple search providers and improved error handling.
- Updated chat view logic to simplify message display and improve user experience.
- Removed deprecated modules and constants from various files to streamline the codebase.
2026-07-11 23:45:13 +07:00
asepharyana 93d1bbb7c1 feat: remove session hub and related commands from the application 2026-07-11 22:40:45 +07:00
asepharyana 1f182021fb feat: enhance system prompt handling and input key actions 2026-07-11 22:16:47 +07:00
asepharyana 3dee2a1427 Refactor API integration and enhance command handling
- Removed unused modules and updated module paths for clarity.
- Added autocomplete functionality for command input in InputState.
- Updated AppStateRest to include a method for checking if a turn is in flight.
- Refactored subagent engine to use new API client structure.
- Changed default provider from "openrouter" to "zen" with updated API keys and models.
- Implemented tests for memory management and edit log functionalities.
- Enhanced error handling in API requests and improved response parsing.
- Updated UI components to reflect new API provider and status indicators.
2026-07-11 22:10:17 +07:00
asepharyana f6389018f5 feat(security-sidecar): implement a security tooling sidecar with tiered installer and protocol
- Add `zesdex_sec_daemon` module with main entry point for running the security daemon.
- Implement `TieredInstaller` for installing security tools from various sources (pip, binaries, gems).
- Create a newline-delimited JSON frame protocol for communication between the daemon and tools.
- Introduce a `ToolRegistry` for managing and dispatching tool executions.
- Add various tools including HTTP, SQLMap, Nuclei, and more with their respective execution logic.
- Establish health check and installation commands for tool management.
- Include prompts for classifier and quality reviewer to enhance code review and safety checks.
- Document the system's tools and guidelines for usage.
2026-07-11 21:25:30 +07:00