Skip to content

v0.1.48 — LSP Enrichment

Choose a tag to compare

@UmairBaig8 UmairBaig8 released this 14 Jul 03:33

v0.1.48 — LSP enrichment, okf lsp CLI, new okf/enrich/ package

Added

  • LSP enrichment (okf enrich --lsp) — compiler-accurate caller/callee resolution via local language servers. Deterministic, zero token cost. 4 servers mapped: pyright (Python), gopls (Go), rust-analyzer (Rust), typescript-language-server (TS/JS). New okf/enrich/ package with pluggable Enricher contract.
  • okf lsp CLI subcommandokf lsp status|resolve|map for inspecting and testing available language servers.
  • _llm_prompts.py — prompt templates extracted from generator.py into okf/enrich/_llm_prompts.py alongside LSP in the enrich package. Shared security/complexity field spec deduplicated.
  • 301 unit tests — 19 new tests covering LSP enrichment, line range parsing, concept conversion, URI helpers, CLI flags, and EnrichResult.
  • Roadmap updates — SAST enrichment and MkDocs replacement added to docs/future.md.

Changed

  • okf enrich CLI flags — replaced --mode base|deep|security|full with --lsp, --llm, --full, --mode. Bare okf enrich now errors with usage. LSP and LLM enrichment are independent flags that compose.
  • Enrichment docs — updated docs/user-guide/enrichment.md with LSP section (how it works, server requirements, status table, LSP→LLM ordering). Updated docs/user-guide/cli-reference.md with okf enrich + okf lsp sections.
  • Landing page — added "LSP-Powered Call Graphs" feature card and "4 language servers" badge.
  • .gitignore — added dist/ and *.egg-info entries.

Fixed

  • _parse_source_line_range regex now handles en-dash (U+2013) and em-dash separators.

See CHANGELOG.md for full details.