summaryrefslogtreecommitdiff
path: root/internal/hexaicli/run.go
AgeCommit message (Collapse)Author
2026-03-23chore: bump version to v0.25.9v0.25.9Paul Buetow
Code quality fixes from audit: - Log silently discarded errors in status sinks and stats.Update call sites - Fix json.Marshal errors silently ignored in LSP handlers - Replace time.Sleep in tests with channel signaling (mcp) and fake clock (stats) - Make context cancellation work in production time.Sleep sites (handlers_document, cmdentry) - Remove init()-based provider registration from llm package; use explicit RegisterAllProviders() - Add WaitGroup goroutine tracking to MCP server Run() Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19Inject runner dependencies across CLI, action, and LSPPaul Buetow
2026-03-17Fix bugs, remove duplication, and clean up code quality issuesPaul Buetow
- Log swallowed JSON unmarshal errors in stats and LSP handlers - Fix debug log file handle leak in tmuxedit (return closer from initDebugLog) - Check f.Close() errors on write paths in promptstore and tmuxedit - Fix cacheGet TOCTOU race by using single write lock - Fix readInput to use passed stdin reader instead of os.Stdin.Stat() - Remove 45 'moved to' comment tombstones from lsp/handlers.go - Deduplicate canonicalProvider wrappers (use llmutils.CanonicalProvider directly) - Remove SetWindow side effect from stats.TakeSnapshot (pure read now) - Move duplicated splitLines to textutil.SplitLinesBytes - Collapse StatusSink.SetGlobal 10 params into GlobalStatus struct - Simplify LRU touchLocked to in-place delete-and-append Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16Add Snapshot.ScopeReqs/ScopeRPM and simplify 3 callersPaul Buetow
Centralizes the provider+model map traversal and window-minutes guard that was duplicated in hexaiaction, hexaicli, and lsp. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Replace Summary: prefixes with standard Go package doc commentsPaul Buetow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Centralize GPT-5 temperature override into llmutils.ResolveTemperaturePaul Buetow
Eliminates identical temperature resolution logic duplicated in hexaiaction, hexaicli, and lsp packages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Release v0.23.1v0.23.1Paul Buetow
2026-03-15Release v0.23.0v0.23.0Paul Buetow
2026-03-14Release v0.22.1v0.22.1Paul Buetow
2026-03-13release: v0.22.0v0.22.0Paul Buetow
2026-03-02hexaicli: move column printer into internal/termprint package (task 406)Paul Buetow
2026-03-02hexaicli: decompose runCLIJobs and runChat helpers (task 417)Paul Buetow
2026-03-02llmutils: remove remaining default-model wrappers in callers (task 413)Paul Buetow
2026-03-02llmutils: centralize provider normalization and client setup (task 410)Paul Buetow
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>
2025-11-02some linter fixesPaul 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-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-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-07editor: remove prefilled text in temp files for custom prompts (TUI and CLI)Paul Buetow
2025-09-07test+docs: add editor tests; document HEXAI_EDITOR/EDITOR and Custom prompt; ↵Paul Buetow
seam client in CLI for tests
2025-09-07feat: add Custom prompt action (p) with editor integration; shared editor ↵Paul Buetow
helper in internal/editor; hexai CLI opens editor when no args
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-08-31module: set module path to codeberg.org/snonux/hexai; update imports; docs: ↵v0.3.4Paul Buetow
add go install instructions
2025-08-19config: apply HEXAI_* env even without config file; docs: clarify Copilot ↵Paul Buetow
key; prefer HEXAI_COPILOT_API_KEY in builders
2025-08-19config: add HEXAI_* env overrides with precedence; prefer ↵Paul Buetow
HEXAI_OPENAI_API_KEY over OPENAI_API_KEY; update docs
2025-08-18hexaicli: load config with logger to respect provider\n\nFix CLI requiring ↵Paul Buetow
OPENAI_API_KEY when provider is ollama by actually loading user config.\n\nREADME: update Helix example to use hexai-lsp binary.
2025-08-18feat(config): per-provider temperature defaults and docs\n\n- Add , , to ↵Paul Buetow
config with coding-friendly default 0.2.\n- Wire defaults through providers (OpenAI, Copilot, Ollama).\n- Update CLI and LSP runners to pass configured temperatures.\n- Document temperature behavior and examples in README.\n- Update config.json.example to show new keys.
2025-08-17review changesPaul Buetow
2025-08-17cli+lsp: refactor main packages into internal runners; add testsPaul Buetow
- Move CLI logic to internal/hexaicli with Run/RunWithClient - Move LSP logic to internal/hexailsp with Run/RunWithFactory - Extract helpers; keep behavior identical for both binaries - Add unit tests for hexaicli (input parsing, messages, streaming) and hexailsp (factory wiring, client creation, logging settings) - Add top-of-file summaries and 'Not yet reviewed by a human' comments to all Go files - Update README with internal package docs