summaryrefslogtreecommitdiff
path: root/internal/lsp
AgeCommit message (Collapse)Author
2026-02-08add gitignore-aware file filtering for LSP completions and code actionsPaul Buetow
Files matching .gitignore patterns or user-configured extra patterns are now skipped for completions and code actions. Configurable via [ignore] section in config.toml with gitignore, extra_patterns, and lsp_notify_ignored options. Includes hot-reload support and env var overrides (HEXAI_IGNORE_*). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06Remove GitHub Copilot provider supportpaul@buetow.org
Remove all GitHub Copilot integration from the codebase to streamline the supported provider set to OpenAI, OpenRouter, Anthropic, and Ollama. Changes: - Delete core Copilot implementation (copilot.go) and all related tests - Remove Copilot configuration fields from App struct and Config - Remove Copilot from provider factory and API key handling - Update all test files to replace Copilot references with other providers - Remove Copilot documentation from README, configuration guide, and examples - Remove Copilot section from config.toml.example All tests pass successfully after removal. Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06fix: add missing Anthropic and OpenRouter provider support in config and LSPpaul@buetow.org
- Add Anthropic field merging in config.mergeProviderFields() to properly load AnthropicModel/BaseURL/Temperature from config.toml - Add anthropic and openrouter cases in lsp.resolveDefaultModel() to prevent fallback to OpenAI defaults - Update default Anthropic model to valid claude-3-5-sonnet-20240620 (previous 20241022 doesn't exist) - Update test expectation to match new default model This fixes the issue where Anthropic provider configuration was ignored, causing LSP to return dummy completions instead of real LLM responses. Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-01fix: pass RequestTimeout to all llm.Config instancesFlorian
Add RequestTimeout field to llm.Config construction in: - internal/hexailsp/run.go (buildClientIfNil) - internal/llmutils/client.go (NewClientFromApp) - internal/lsp/server.go (newClientForProvider) This ensures the configured timeout is used in all code paths, not just the ones already updated.
2026-01-30feat: add completion_wait_all config and fix Anthropic system messagesPaul Buetow
- Add completion_wait_all config option (default true) to wait for all backends before returning results, or return first result immediately - Fix Anthropic API: extract system messages to top-level system field as required by Messages API (was causing 400 errors) - Add anthropic case to server.go clientFor() for model overrides
2026-01-29feat: add native Anthropic API provider supportPaul Buetow
- Implement new anthropicClient with full Client interface - Add Streamer interface for token-by-token streaming via SSE - Add Anthropic Messages API v1 integration with proper headers - Support claude-3-5-sonnet-20241022 as default model - Add configuration via [anthropic] TOML section - Add environment variable overrides (HEXAI_ANTHROPIC_*) - Support both HEXAI_ANTHROPIC_API_KEY and ANTHROPIC_API_KEY fallback - Integrate Anthropic key handling in LSP, CLI, and llmutils - Update provider factory to support 'anthropic' provider name - Add 11 comprehensive unit tests for Anthropic client - Update config.toml.example with [anthropic] section - Update NewFromConfig() signature to accept anthropicAPIKey parameter - All 51 internal LLM tests pass (11 new Anthropic tests + 40 existing) Anthropic models can be accessed via: [anthropic] model = "claude-3-5-sonnet-20241022" base_url = "https://api.anthropic.com/v1" temperature = 0.2 or environment: export HEXAI_PROVIDER="anthropic" export HEXAI_ANTHROPIC_API_KEY="your-key" Amp-Thread-ID: https://ampcode.com/threads/T-019c0af1-f215-72cf-9940-b014b1a9576b Co-authored-by: Amp <amp@ampcode.com>
2025-11-03Fix: Address lint warnings and bump patch version to 0.15.3v0.15.3Paul Buetow
2025-11-02some linter fixesPaul Buetow
2025-10-03Switch inline prompt markers to >! prefixv0.15.1Paul Buetow
2025-10-02feat: add OpenRouter providerv0.15.0Paul Buetow
2025-09-28Add slash toggle for completionsv0.14.0Paul Buetow
2025-09-28Add --config flag support across CLI, LSP, and tmux toolsPaul Buetow
2025-09-28Improve multi-provider completion streaming and CLI selector flagsPaul Buetow
2025-09-27Support multi-provider fan-out across CLI and completionsPaul Buetow
2025-09-26Refactor surface config to support multi-provider arraysPaul Buetow
2025-09-26Add per-surface provider overrides and wiringPaul Buetow
2025-09-26Auto apply inline prompt completionsPaul Buetow
2025-09-26Skip chat handling for inline promptsPaul Buetow
2025-09-26Log config reload changesPaul Buetow
2025-09-26Allow slash commands without prefixPaul Buetow
2025-09-24Add runtime config store and reload commandPaul Buetow
2025-09-19morev0.11.6Paul Buetow
2025-09-19fixPaul Buetow
2025-09-17chore(version): bump to v0.11.1 (gpt-5 defaults, timeouts, global stats, ↵v0.11.1Paul Buetow
editor fix)
2025-09-17feat(stats,tmux): global Σ@window stats across processes with flocked ↵Paul Buetow
cache; width mitigation (narrow/maxlen); configurable [stats] window_minutes; robust coverage parsing; docs update\n\n- Add internal/stats with windowed event cache + flock + atomic writes\n- Wire stats into LSP/CLI/Tmux Action; tmux shows Σ@window with per-model tail\n- HEXAI_TMUX_STATUS_NARROW and HEXAI_TMUX_STATUS_MAXLEN for width control\n- Add [stats] window_minutes to config and apply on startup\n- Improve Magefile coverage handling; add tests to lift coverage >85%\n- Update docs/tmux.md and config example
2025-09-16release: v0.11.0 – context-aware in-editor chat; respect ↵v0.11.0Paul Buetow
general.context_mode; stabilize env-dependent tests
2025-09-15release: v0.10.1v0.10.1Paul Buetow
- Fix TUI 'p' hotkey: open editor for Custom prompt - Introduce ActionCustomPrompt to disambiguate from Custom actions submenu - Bump version to 0.10.1
2025-09-14release: v0.10.0v0.10.0Paul Buetow
2025-09-08docs: move tmux documentation to its own filePaul Buetow
2025-09-08tmux: colored LLM status with provider + stats; add start heartbeat for ↵Paul Buetow
LSP/CLI/TUI; theme support via HEXAI_TMUX_STATUS_THEME and HEXAI_TMUX_STATUS_FG/BG; docs: update tmux options and add Helix+tmux quickstart
2025-09-07feat(tmux): add status line updates via @hexai_status; wire into CLI, LSP ↵Paul Buetow
stats, and tmux-action
2025-09-07feat: add 'Simplify and improve' action; configurable prompts in config; ↵Paul Buetow
wire into LSP and TUI
2025-09-07test: add seams for RunTUI and client; expand hexaiaction tests; cover lsp ↵Paul Buetow
initialized and testutil fixtures
2025-09-06more testsPaul Buetow
2025-09-06fix unit test coveragePaul Buetow
2025-09-06chore(version): bump to 0.6.0; configurable prompts via config + testsv0.6.0Paul Buetow
2025-09-06use gofumptPaul Buetow
2025-09-06feat(lsp): configurable inline/chat triggers; switch inline markers to ↵Paul Buetow
>text>/>>text>; update docs and example config; tests updated to new triggers and raise LSP coverage to >=85%; chore: remove semicolon legacy; chore(mage): auto-refresh coverage daily if docs/coverage.out is older than 24h
2025-09-05over 80% coverage nowPaul Buetow
2025-09-05tests: provider header assertions, more negative cases (no choices, empty ↵Paul Buetow
deltas), provider-native success; update REPORT.md
2025-09-05tests: add more negative provider cases and table-driven LSP coverage; ↵Paul Buetow
assert headers; add indent postprocess test
2025-09-04tests: add more table-driven cases and negative provider tests; update reportPaul Buetow
2025-09-04tests: add negative SSE test, table-driven refactors, and use shared ↵Paul Buetow
fixtures across tests; update REPORT.md progress
2025-09-04tests: add shared test fixtures, expand provider breadth (multi-choice, ↵Paul Buetow
error bodies), add LSP rewrite/diagnostics realism and table-driven tests
2025-09-04tests(lsp): push coverage over 80%\n- Add init/trigger, chat history, ↵Paul Buetow
document handler, transport readMessage, and rewrite resolve tests\n- Cover deferShowDocument and shutdown reply\n- Now ~81.2% coverage for internal/lsp
2025-09-04tests(lsp): add diagnostics action builder and completion message/prefix ↵Paul Buetow
tests; lsp ~72%
2025-09-04tests(lsp): add end-to-end diagnostics resolve and provider-native error ↵Paul Buetow
fallback coverage; lsp ~72%
2025-09-04tests(lsp): add end-to-end chat edit test with async wait; lsp coverage ~70%Paul Buetow
2025-09-04tests(lsp): add end-to-end codeAction and resolve tests via LSP response capturePaul Buetow
2025-09-04tests(lsp): add more helper and code action tests; coverage trending upwardPaul Buetow