summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-08add per-project .hexaiconfig.toml config override and lower coverage target ↵Paul Buetow
to 80% Introduce support for a .hexaiconfig.toml file at the git repository root that selectively overrides the global config. Precedence order: defaults → global config → project config → env vars. Also lower the coverage threshold from 85% to 80%. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08add claudePaul Buetow
2026-02-06cleanupPaul Buetow
2026-02-06Merge branch 'main' of codeberg.org:snonux/hexaiPaul Buetow
2026-02-06coveragePaul Buetow
2026-02-06ignore serenapaul@buetow.org
2026-02-06chore: bump version to 0.17.0paul@buetow.org
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06chore: regenerate coverage data after Copilot removalpaul@buetow.org
Update coverage.out and coverage.html to reflect the current codebase without GitHub Copilot files. This eliminates the "no such file or directory" error when running mage install. Co-authored-by: Cursor <cursoragent@cursor.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-06chore: bump version to 0.16.1paul@buetow.org
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-02Merge pull request #2 from florianbuetow/feature-timeout-configPaul Bütow
feat: add configurable request timeout for LLM calls
2026-02-01docs: update PR.md with additional files modifiedFlorian
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-31feat: add configurable request timeout for LLM callsFlorian
Local LLMs (LM Studio, Ollama, etc.) often need more than the default 30-second timeout. Added request_timeout config option (in seconds) to [general] section and HEXAI_REQUEST_TIMEOUT env var. Original constructor signatures preserved via *WithTimeout variants, so no test changes required.
2026-01-30docs: add Anthropic to supported providers in READMEPaul Buetow
2026-01-30chore: bump version to 0.16.0Paul Buetow
Major features: - Native Anthropic API provider support - Configurable completion_wait_all option for multi-backend completions
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-30fix: restore corrupted cmd/hexai/main.go from commit 6103208feature/anthropic-api-providerPaul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019c0e27-1598-778e-ad3b-fa43ce6e7073 Co-authored-by: Amp <amp@ampcode.com>
2026-01-29refactor: apply code style best practices to Anthropic implementationPaul Buetow
- Reorganize anthropic.go: types, interface checks, constructor, public methods, private methods - Extract helper methods from Chat() and ChatStream() to keep functions under 50 lines - Add resolveOptions(), sendRequest(), extractContent() private methods - Add explicit interface satisfaction check for Client and Streamer - Add documentation comments to all public methods (Chat, Name, DefaultModel, ChatStream) - Apply gofmt and gofumpt formatting - Apply goimports for import ordering All 51 tests in llm package pass All code adheres to best practices from go-projects.md: - Value semantics (value receivers only) - Constructors before methods - Public before private - Functions under 50 lines - Explicit interface satisfaction - Documentation on all public identifiers - Proper error handling - Context as first parameter for I/O functions Amp-Thread-ID: https://ampcode.com/threads/T-019c0af1-f215-72cf-9940-b014b1a9576b Co-authored-by: Amp <amp@ampcode.com>
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-04remove planPaul 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-28Document config defaults in CLI helpPaul Buetow
2025-09-28Bump version to 0.13.0v0.13.0Paul Buetow
2025-09-28Propagate --config overrides through CLI tools and LSP reloadsPaul 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-26Bump version to 0.12.1v0.12.1Paul 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-26Document runtime config reload commandPaul Buetow
2025-09-25Bump version to 0.12.0v0.12.0Paul Buetow
2025-09-24Add runtime config store and reload commandPaul Buetow
2025-09-21add screenshotPaul Buetow
2025-09-21add screenshotPaul Buetow
2025-09-21add screenshotPaul Buetow
2025-09-21add screenshotPaul Buetow
2025-09-21add screenshotPaul Buetow
2025-09-21clarifyPaul Buetow
2025-09-19morev0.11.6Paul Buetow