| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-08-28 | copilot: add session token + codex code completion; lsp: prefer native ↵v0.3.0 | Paul Buetow | |
| CodeCompleter with chat fallback; remove obsolete throttle path; add tests; bump version to 0.3.0 | |||
| 2025-08-28 | add mage to go.mod | Paul Buetow | |
| 2025-08-28 | build: replace Taskfile with Magefile; add Mage targets and README build notes | Paul Buetow | |
| 2025-08-28 | lsp/chat: remove '..' trigger; docs: update triggers; tests: align throttle ↵v0.2.1 | Paul Buetow | |
| test; version: bump to 0.2.1 | |||
| 2025-08-22 | remove busy check | Paul Buetow | |
| 2025-08-22 | stuff | Paul Buetow | |
| 2025-08-22 | logging: log completion TriggerKind and TriggerCharacter for every request | Paul Buetow | |
| 2025-08-22 | completion: only apply leading indentation for ';;text;' prompts; not for ↵ | Paul Buetow | |
| ';text;' | |||
| 2025-08-22 | completion: only apply leading indentation for ';;text;' prompts; not for ↵ | Paul Buetow | |
| ';text;' | |||
| 2025-08-22 | chat: remove ';;' as in-editor chat trigger to avoid conflict with inline ↵ | Paul Buetow | |
| ';;text;' completion; update docs | |||
| 2025-08-22 | lsp: suppress auto-trigger when line contains bare ';;' (no ';;text;') ↵ | Paul Buetow | |
| unless manual invoke; add explicit skip log | |||
| 2025-08-22 | lsp: refine ';;text;' detection to require non-empty, non-space content and ↵ | Paul Buetow | |
| closing ';'; ensure bare ';;' and ';;;' do not auto-trigger; add tests | |||
| 2025-08-22 | lsp: inline prompt override does not trigger for bare ';;' (requires ↵ | Paul Buetow | |
| ';;text;'); add unit test | |||
| 2025-08-22 | lsp: always trigger completion on inline semicolon prompts (;text; or ↵ | Paul Buetow | |
| ';;...;'); relax prefix check accordingly; add tests | |||
| 2025-08-22 | chore: ignore hexai-lsp binary | Paul Buetow | |
| 2025-08-22 | tests(lsp): add duplicate-prefix and manual-invoke tests; fix cache key to ↵ | Paul Buetow | |
| ignore trailing whitespace; guard compCache init | |||
| 2025-08-22 | lsp: relax short-prefix check for manual invoke and after ')' in signatures | Paul Buetow | |
| 2025-08-22 | lsp: treat manual completion as trigger; remove space from default triggers; ↵ | Paul Buetow | |
| avoid auto after whitespace | |||
| 2025-08-20 | Paul Buetow | ||
| 2025-08-20 | clarific | Paul Buetow | |
| 2025-08-20 | clarify | Paul Buetow | |
| 2025-08-20 | better | Paul Buetow | |
| 2025-08-20 | chore: bump version to v0.2.0; docs: split config/usage and update in-editor ↵v0.2.0 | Paul Buetow | |
| chat | |||
| 2025-08-20 | chore: bump version to v0.1.1v0.1.1 | Paul Buetow | |
| 2025-08-20 | lsp: add tiny LRU cache for last 10 completions; ignore trailing whitespace ↵ | Paul Buetow | |
| in cache key; log cache hits; report busy with isIncomplete to prompt client retry | |||
| 2025-08-19 | config: apply HEXAI_* env even without config file; docs: clarify Copilot ↵ | Paul Buetow | |
| key; prefer HEXAI_COPILOT_API_KEY in builders | |||
| 2025-08-19 | config: add HEXAI_* env overrides with precedence; prefer ↵ | Paul Buetow | |
| HEXAI_OPENAI_API_KEY over OPENAI_API_KEY; update docs | |||
| 2025-08-19 | lsp/codeactions: make actions lazy and resolve on selection\n\n- Advertise ↵ | Paul Buetow | |
| 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 | |||
| 2025-08-19 | logging: highlight LLM no-op skips in yellow\n\n- Add AnsiYellow to logging ↵ | Paul Buetow | |
| utilities\n- Colorize skip logs (no-trigger, short-prefix, busy) in hexai-lsp logs | |||
| 2025-08-19 | lsp: include space in trigger characters and allow space-triggered ↵ | Paul Buetow | |
| 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 | |||
| 2025-08-19 | lsp: replace time throttle with in-flight guard; improve short-prefix ↵ | Paul Buetow | |
| 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 | |||
| 2025-08-19 | lsp: reduce eager completions and add throttling\n\n- Defaults: remove ';' ↵ | Paul Buetow | |
| 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 | |||
| 2025-08-19 | lsp: strip inline spans for completions\n\n- Add stripInlineCodeSpan helper ↵ | Paul Buetow | |
| to extract first inline backtick span\n- Apply only in completion path after fence stripping\n- Add comprehensive unit tests for inline span handling | |||
| 2025-08-19 | chore: commit pending changes in status, LSP, and Ollama modules | Paul Buetow | |
| 2025-08-19 | llm/copilot: add required headers and update default model\n\n- Send ↵ | Paul Buetow | |
| 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. | |||
| 2025-08-18 | lsp: strip Markdown code fences from LLM outputs (completions and code actions) | Paul Buetow | |
| 2025-08-18 | hexaicli: 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-18 | lsp: add comprehensive unit tests for findFirstInstructionInLine and strict ↵ | Paul Buetow | |
| semicolon tag | |||
| 2025-08-18 | rename to projectstatus | Paul Buetow | |
| 2025-08-18 | refactor(lsp,llm,hexailsp,appconfig): split long funcs; add tests | Paul Buetow | |
| - 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 | |||
| 2025-08-18 | feat(lsp): add coding_temperature knob and remove hardcoded temps\n\n- Add ↵ | Paul Buetow | |
| 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. | |||
| 2025-08-18 | feat(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-17 | refactor(ordering): place constructors immediately after type definitions as ↵ | Paul Buetow | |
| first functions | |||
| 2025-08-17 | refactor(ordering): types/constants first; exported before private; ensure ↵ | Paul Buetow | |
| consistent receiver semantics per file | |||
| 2025-08-17 | logging: move ChatLogger to value semantics; llm: switch clients to value ↵ | Paul Buetow | |
| receivers and return values from constructors | |||
| 2025-08-17 | refactor as per manual code reviews | Paul Buetow | |
| 2025-08-17 | refactor: Split up Load function in config.go | Paul Buetow | |
| The Load function was too long, so it has been split up into smaller functions to improve readability and maintainability. | |||
| 2025-08-17 | refactor: Remove unused NoDiskIO flag | Paul Buetow | |
| This flag was not used anywhere in the codebase, so it has been removed. | |||
| 2025-08-17 | review changes | Paul Buetow | |
| 2025-08-17 | feat: Support XDG config home | Paul Buetow | |
| 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. | |||
