Skip to content

v0.15.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 18:22

v0.15.1: Bug fixes and 20-48% fewer tokens on nested data

Bug fixes

Scope array double-encoding (#10): start_lsp(scope=["packages/a/src", "packages/b/src"]) was writing a pyrightconfig.json with a single-element include containing the stringified JSON array instead of the individual paths. pyright then matched zero files, causing find_references and blast_radius to silently return empty results. Reported by @nirabo.

Windows drive-letter casing (#9): C# diagnostics and code actions were silently empty on Windows because csharp-ls keys documents under lowercase drive letters (file:///c:/...) while agent-lsp queried with uppercase (file:///C:/...). Drive letters are now normalized to lowercase on both the storage and lookup sides. Reported by @SebastiaanSteenbrink.

Token savings improvement

gcf-go upgraded to v1.3.1. Nested object flattening: fixed-shape nested objects are inlined into parent rows using > path columns instead of separate attachment blocks. 20-48% fewer tokens on nested tool responses (blast_radius callers, diagnostics, explore_symbol). Graph profile output unchanged.

Before (v1.1.0): field header repeated on every record

@0 AuthMiddleware|fn|src/auth.go|42
  .callers [3]{file,line,kind}
    src/server.go|15|calls
    src/router.go|88|calls
    test/auth_test.go|12|test
@1 ValidateToken|fn|src/auth.go|67
  .callers [2]{file,line,kind}        ← repeated
    src/auth.go|45|calls
    test/token_test.go|8|test
@2 NewRouter|fn|src/router.go|15
  .callers [1]{file,line,kind}        ← repeated
    src/server.go|22|calls

After (v1.3.1): shared schema, declared once

@0 AuthMiddleware|fn|src/auth.go|42
  .callers [3]{file,line,kind}
    src/server.go|15|calls
    src/router.go|88|calls
    test/auth_test.go|12|test
@1 ValidateToken|fn|src/auth.go|67
  .callers [2]                        ← schema omitted (shared)
    src/auth.go|45|calls
    test/token_test.go|8|test
@2 NewRouter|fn|src/router.go|15
  .callers [1]                        ← schema omitted (shared)
    src/server.go|22|calls

With 50 symbols in a blast_radius response, that's 49 fewer {file,line,kind} headers.

GCF

agent-lsp uses GCF (Graph Compact Format) as its default output encoding. GCF delivers 30-84% fewer tokens than JSON across all tool responses, with session dedup compounding to 92.7% savings by the 5th call.

GCF adoption is accelerating. Recent adopters:

Project What Stars
Chrome DevTools MCP Google Chrome browser DevTools MCP server 46K
OmniRoute AI gateway/proxy (replaced their custom encoder) 6.1K
NetClaw Network automation (replaced TOON) 556
ctx Claude Code context manager 510
NeuroNest Agent-first IDE (first commercial adoption) -
Speakeasy OpenAPI tooling (oq --format gcf) -
Open Data Products SDK Linux Foundation data product standard -
bb Bitbucket Cloud CLI -

Website: gcformat.com · Spec · Go · Python · TypeScript · Proxy · Playground