| Age | Commit message (Collapse) | Author |
|
chat
|
|
|
|
in cache key; log cache hits; report busy with isIncomplete to prompt client retry
|
|
key; prefer HEXAI_COPILOT_API_KEY in builders
|
|
HEXAI_OPENAI_API_KEY over OPENAI_API_KEY; update docs
|
|
CodeAction resolveProvider and implement codeAction/resolve\n- Return lightweight actions with data; no LLM call during listing\n- On resolve, perform LLM and populate WorkspaceEdit\n- Update tests to cover lazy+resolve flow
|
|
utilities\n- Colorize skip logs (no-trigger, short-prefix, busy) in hexai-lsp logs
|
|
completions\n\n- Defaults now include space (" ") in trigger list\n- Prefix heuristic treats space as structural trigger (no min-prefix required)\n- README and config example updated\n- Tests: add coverage for space trigger
|
|
heuristic\n\n- Prevent overlapping LLM requests via llmBusy guard\n- Remove time-based throttle and option plumbing\n- Short-prefix heuristic now skips over trailing whitespace and clamps index\n- Add tests for busy guard and trailing-space allowance
|
|
and '?' from trigger characters\n- Add min-typed-prefix heuristic for LLM completions (>=2 chars)\n- Add simple time-based throttle between LLM completions (default 900ms)\n- Tests: verify default triggers and skip logic (throttle + min prefix)\n- Config example: update trigger_characters list
|
|
to extract first inline backtick span\n- Apply only in completion path after fence stripping\n- Add comprehensive unit tests for inline span handling
|
|
|
|
X-GitHub-Api-Version and User-Agent headers for Copilot requests\n- Default Copilot model to gpt-4o-mini (avoid non-existent 'codex'/'gpt-4.1')\n- README and config.json.example: update Copilot defaults and guidance\n\nNote: Copilot provider expects Copilot-issued auth; for public access use GitHub Models via OpenAI-compatible endpoint.
|
|
|
|
OPENAI_API_KEY when provider is ollama by actually loading user config.\n\nREADME: update Helix example to use hexai-lsp binary.
|
|
semicolon tag
|
|
|
|
- Extract helpers to keep funcs <=50 lines; no behavior changes
- Add tests for prompt removal, code actions, and LLM request builders
- Table-drive TestInParamList; run gofmt
|
|
to app config and server options.\n- Use in LSP code actions and completions.\n- Default to provider temperature when not set.\n- Update README and config.json.example.
|
|
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.
|
|
first functions
|
|
consistent receiver semantics per file
|
|
receivers and return values from constructors
|
|
|
|
The Load function was too long, so it has been split up into smaller functions to improve readability and maintainability.
|
|
This flag was not used anywhere in the codebase, so it has been removed.
|
|
|
|
This change implements support for the XDG Base Directory Specification for the configuration file.
The configuration file is now read from `$XDG_CONFIG_HOME/hexai/config.json` if the `XDG_CONFIG_HOME` environment variable is set.
If it is not set, it falls back to the previous location, `$HOME/.config/hexai/config.json`.
This change also includes:
- A fix for a bug in the test suite where a test was failing due to an environment variable being set.
- Updates to the documentation to reflect the new configuration file location.
- A version bump to 0.1.0.
|
|
- 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
|
|
|
|
- Add llm.Streamer optional interface
- Implement ChatStream for OpenAI (SSE) and Ollama (JSON stream)
- CLI uses streaming; LSP unchanged (non-streaming)
- README: document streaming behavior for CLI
|
|
|
|
- Inputs from stdin/arg, concatenation rules
- Stderr styling, immediate provider/model, final stats line
- Default concise style; 'explain' keyword for verbose answers
- Examples and exit codes
|
|
|
|
- New cmd/hexai CLI: reads stdin/arg, prints LLM output to stdout
- Prints provider/model immediately to stderr; summary at end
- Refactor config loader to internal/appconfig
- Update Taskfile to build/install/run both binaries
- Update README with new CLI and LSP names
|
|
- Default log path: /tmp/hexai-lsp.log
- Taskfile: build/copy/run hexai-lsp binary
|
|
- Implement copilot client reading COPILOT_API_KEY
- Wire copilot_base_url and copilot_model config
- Update README and config example; defaults to gpt-4.1
- Keep OpenAI default at gpt-4.1 for consistency
|
|
|
|
|
|
|
|
- Default trigger set when unset now [., :, /, _, ;, ?]
- Update README and example config accordingly
|
|
- Add trigger_characters to JSON config and ServerOptions
- Store on server and advertise in initialize
- Update README and example config
- Preserve previous defaults when unset
|
|
- Introduce ServerOptions to reduce constructor parameter count
- Update main.go call site; preserve defaults and behavior
- Build and run tests
|
|
- Parse diagnostics from CodeAction context; filter to overlap with selection
- Build LLM prompt from selection-only diagnostics; replace only selected range
- Keep existing 'Rewrite selection' action; return both when applicable
- Add Diagnostic and CodeActionContext types; make CodeActionParams.Context raw JSON
- Add helpers for range overlap; unit tests for filtering/overlap
- Update README to document resolve-diagnostics action
|
|
- Prompt: instruct model to only continue from cursor; do not repeat LHS already typed.\n- Add stripDuplicateAssignmentPrefix to drop duplicated 'name :=' or 'name =' when model repeats it.\n- Tests: cover := and = cases.\n- .gitignore: ignore built binary and go caches.
|
|
- Adds textDocument/codeAction handler that rewrites the selected range.\n- Instruction preference: strict ;text; marker first, then //, #, -- line comments, then single-line block comments (/* */ and <!-- -->). Earliest in the selection wins.\n- Removes the matched instruction from the selection before sending to LLM.\n- README: document code action workflow and instruction formats.
|
|
- Switch to config-file-only; only OPENAI_API_KEY read from env.\n- llm: replace env autodetect with Config + NewFromConfig; add newOpenAI/newOllama.\n- lsp: NewServer now accepts injected llm.Client.\n- cli: remove env overrides; extend appConfig with provider-specific fields; build client from config + OPENAI_API_KEY.\n- docs: update README (config-only, defaults to OpenAI, minimal example); simplify flags table.\n- add config.json.example.\n- prompts: enforce ;text; (no spaces) and add ;;text; to remove entire line; tests added.
|
|
|
|
|
|
precedence; update README
|