Commit Graph
78 Commits
Author SHA1 Message Date
Riz Ashraf 03f8786d24 chore: resolve clippy warnings for pre-push audit 2026-10-09 01:06:30 +01:00
Riz Ashraf 1ed75ca156 feat(nvim): add nvim_lsp, nvim_ast, buffer undo/redo 2026-10-09 00:51:05 +01:00
Riz Ashraf 3765e6b05d chore: fix clippy warnings and run rustfmt 2026-10-09 00:39:50 +01:00
Riz Ashraf b4431a4dcd feat(nvim): update nvim_buffer edit to handle multiple block edits 2026-10-09 00:18:01 +01:00
Riz Ashraf d6acd885dd fix(nvim): eliminate \r corruption in buffer mutations
- Pre-process and strip carriage returns natively in Rust before RPC serialization.

- Pass replacement strings to Neovim as native MsgPack arrays to bypass Lua vim.split overhead.

- Directly feed table arrays into vim.api.nvim_buf_set_lines for exact buffer matches.
2026-10-08 23:58:49 +01:00
Riz Ashraf 410b0c42ca feat(ollama): enforce JSON logits & add nvim_buffer edit action
- Added format parameter to Ollama generate for JSON logit enforcement.

- Implemented safe edit action in nvim_buffer MCP tool to replace raw Lua.
2026-10-08 23:41:57 +01:00
Riz Ashraf 5485b40d14 feat(nvim-core): make nvim_execute_lua read-only to enforce specialized tool usage 2026-10-08 23:19:47 +01:00
Riz Ashraf 9d9e959744 chore: fix formatting and clippy lints 2026-10-08 23:01:38 +01:00
Riz Ashraf f4dcf3acbf feat: event-driven parity, Windows shell detection, dirty build timestamps, and gatekeeper integration 2026-10-08 10:52:19 +01:00
Riz Ashraf ec977c24dd feat(nvim,telemetry): implement ADR-0102 circuit breaker and ADR-0103 knowledge graph projection 2026-10-07 17:40:30 +01:00
Riz Ashraf 79209da711 refactor: eradicate deprecated tools (sticky_notes, pinned_files, context_workspaces, pr_checklist, preferences) and dead code 2026-10-07 11:12:42 +01:00
Riz Ashraf e4a0fe72df feat(embedding,vision): candle embeddings with offline fallback, on-demand clipboard vision capture, and concurrency audit 2026-10-07 06:36:09 +01:00
Riz Ashraf 5bd8b1587a refactor: apply 5-pass audit optimizations across mcp-memory codebase 2026-10-06 06:05:38 +01:00
Riz Ashraf 924b6d09fa refactor: address 5-pass audit findings for antipatterns, bottlenecks, memory efficiency, and LLM handlers 2026-10-05 21:44:10 +01:00
Riz Ashraf 19f9c7ace7 feat(dashboard): extract inline script to standalone dashboard.ts/js, add UI build/check recipes, and add route unit tests 2026-10-05 12:48:36 +01:00
Riz Ashraf e45db33297 fix(nvim): wipe pristine un-named buffers on nvim_open_file and unlist scratch buffers in nvim_open_buffer 2026-10-05 10:55:57 +01:00
Riz Ashraf 533adfd41b refactor: consolidate nvim crates, extract server library, and update workspace dependencies 2026-10-04 01:42:59 +01:00
Riz Ashraf a083719cf1 feat(server): refactor handlers, router, state management, and memory tools 2026-10-02 07:27:37 +01:00
Riz Ashraf def473c856 feat(mcp): update tool descriptions for LLM context optimization 2026-09-30 12:36:33 +01:00
Riz Ashraf 185c3c999e fix(mcp): Add missing Cargo.lock, lua bindings, and workspace fixes for tools 2026-09-30 08:47:57 +01:00
Riz Ashraf 98a1716ac8 chore: fix clippy warnings, add embedding/omni_patch, update telemetry, and ignore temp files 2026-09-29 06:42:29 +01:00
Riz Ashraf 706e9ad172 style(clippy): auto-fix code style issues and unnecessary map_or allocations detected by cargo clippy 2026-09-27 22:38:08 +01:00
Riz Ashraf 8f32a09399 fix(mcp): propagate internal serialization errors instead of silently swallowing them to prevent LLM hallucination 2026-09-27 22:19:43 +01:00
Riz Ashraf 52c4c7c479 fix(nvim-core): implement empty resource and prompt list stubs for strict MCP client compatibility 2026-09-27 21:59:55 +01:00
Riz Ashraf 4bae4e9c08 Test coverage and headless nvim bug fixes 2026-09-27 08:10:09 +01:00
Riz Ashraf bffc8896f1 Strictly verify UI attachment during fallback pipe discovery 2026-09-26 21:14:10 +01:00
Riz Ashraf 80b1969b15 Add nvim_get_server_info diagnostic tool 2026-09-26 20:32:12 +01:00
Riz Ashraf d60d6ca70b Implement nvim tool mitigations 2026-09-26 20:22:59 +01:00
Riz Ashraf 24aacdfae1 feat(nvim): add dedicated mcp tools for file reading and regex searching 2026-09-26 18:23:06 +01:00
Riz Ashraf 175882dd1b docs: enforce visual engagement rule for pair programming tasks over headless execution 2026-09-23 08:35:17 +01:00
Riz Ashraf 02af8f18f1 docs: explicitly forbid grepping rust source for mcp schemas and instruct usage of local json cache 2026-09-23 08:14:09 +01:00
Riz Ashraf 14db90acbf fix(nvim): remove unused mut variables 2026-09-23 05:00:35 +01:00
Riz Ashraf e5d4002b38 docs: update instructions to enforce usage of auto-spawning headless neovim instance 2026-09-23 04:55:11 +01:00
Riz Ashraf 914cecbaf2 feat(nvim): implement auto-spawning headless instance and interactive preemption 2026-09-23 04:53:09 +01:00
Riz Ashraf da98391ef9 docs(nvim): update instructions.md with correct tool names and new window tools 2026-09-23 04:30:38 +01:00
Riz Ashraf be9ad8127a chore(server): correct startup log message 2026-09-23 04:14:53 +01:00
Riz Ashraf 7729b4ae5a fix(nvim): resolve idle zombie connection lock and adjust RPC timeout
- Remove the arbitrary 60-second read timeout on the Neovim socket that caused the read task to exit during idle periods, permanently locking the connection state.
- Automatically clear the connection state variable when the read loop breaks (e.g. true EOF), allowing get_nvim_connection() to correctly auto-reconnect on the next call.
- Increase the Neovim RPC call timeout from 10s to 30s to accommodate heavier operations (e.g., massive Lua regex substitutions) without falsely dropping the connection.
2026-09-23 04:09:09 +01:00
Riz Ashraf ab1d209c1d feat(nvim): complete window management symmetry
- Add
vim_close_window to unsplit active layout without destroying underlying buffer.
- Add
vim_list_windows to discover active splits.
- Add
vim_get_active_window and
vim_set_active_window to programmatically navigate windows.
2026-09-23 04:05:39 +01:00
Riz Ashraf 6a89f50cf2 feat(nvim-core): implement nvim_set_extmark for rich virtual text UI feedback
- Added nvim_set_extmark tool schema and handler
- Implemented lua bridge using vim.api.nvim_buf_set_extmark to dynamically overlay ghost text and highlight groups onto active buffers
2026-09-22 22:34:06 +01:00
Riz Ashraf ea735003e2 feat(nvim-core): implement bidirectional event streaming and real-time shadow buffer
- Created global thread-safe NvimState to shadow Neovim context.
- Injected Lua autocmds (CursorMoved, TextChanged) on connection to stream events back to MCP.
- Upgraded msgpack RPC loop to intercept and parse 'mcp_event' notifications alongside standard responses.
- Optimized nvim_get_cursor to pull instantly from the local shadow buffer, bypassing RPC round-trips.
2026-09-22 22:32:37 +01:00
Riz Ashraf 61b03bc6e3 perf(nvim-core): implement zero-copy BytesMut stream buffer and DashMap for lock contention 2026-09-22 22:26:00 +01:00
Riz Ashraf 251757f8fc feat(mcp): implement Prompts capability, Resources, and clean up daemon architecture 2026-09-22 21:41:17 +01:00
Riz Ashraf 1e39122e05 fix: remove potential panic on initialize result serialization in nvim-core 2026-09-22 06:16:06 +01:00
Riz Ashraf b2f15de58c style: fix clippy collapsible_if warnings in nvim-core 2026-09-22 06:07:50 +01:00
Riz Ashraf 148025c5a7 fix: replace pending_requests Mutex unwrap with unwrap_or_else to prevent poison panics 2026-09-22 06:00:54 +01:00
Riz Ashraf dd4a71d44d build: upgrade all workspace crates to rust edition 2024 2026-09-22 05:58:30 +01:00
Riz Ashraf b8070de38c refactor: deduplicate lua execution match blocks in nvim-core using handle_lua_result macro 2026-09-22 05:57:50 +01:00
Riz Ashraf 02f40604e1 perf: fix slice boundary panics, eliminate string allocation in stdio reader, fix lua table nesting bug, and optimize nvim socket chunk size 2026-09-22 05:51:15 +01:00
Riz Ashraf e215720416 chore: remove unused dependencies discovered by cargo-machete 2026-09-22 05:44:09 +01:00
Riz Ashraf c8f8ff8997 chore: update major dependencies and fix API breakages 2026-09-22 05:08:42 +01:00