• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 23006149677
64%

Build:
DEFAULT BRANCH: main
Ran 12 Mar 2026 02:13PM UTC
Jobs 1
Files 554
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Mar 2026 02:10PM UTC coverage: 64.27% (+0.02%) from 64.25%
23006149677

push

github

web-flow
Split vmcp auth/authz middleware for annotation flow (#4115)

* Split vmcp auth/authz middleware for annotation flow

The vmcp middleware chain previously composed auth+parser+authz into a
single middleware, which meant authz ran before discovery could provide
tool annotations. This splits them so authz runs after discovery.

- NewIncomingAuthMiddleware returns auth and authz separately (4 values)
- Add annotation enrichment middleware between discovery and authz
- Authz now sees tool annotations from discovered capabilities
- New middleware ordering: auth+parser → audit → discovery →
  annotation-enrichment → authz → handler

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix review findings from annotation flow middleware split

Update stale middleware-chain comments in server.go to reflect the new
ordering that includes annotation-enrichment and authz layers. Add an
early-return guard to ParsingMiddleware so the double-application (once
in auth, once in server.go for the no-auth case) skips re-reading the
request body. Use the mcp.MethodToolsCall constant instead of a string
literal to satisfy goconst, and add a clarifying comment on why
convertAnnotations intentionally omits Title.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

70 of 82 new or added lines in 5 files covered. (85.37%)

10 existing lines in 4 files now uncovered.

48467 of 75411 relevant lines covered (64.27%)

74.26 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
65.0
-1.98% pkg/vmcp/auth/factory/incoming.go
2
0.0
0.0% cmd/vmcp/app/commands.go
3
96.34
-1.17% pkg/mcp/parser.go
6
75.97
-0.52% pkg/vmcp/server/server.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
80.58
0.26% pkg/transport/proxy/httpsse/http_proxy.go
2
57.89
-3.51% pkg/transport/session/sse_session.go
2
94.67
-1.33% pkg/vmcp/composer/dag_executor.go
4
80.53
-0.88% pkg/transport/proxy/transparent/transparent_proxy.go
Jobs
ID Job ID Ran Files Coverage
1 23006149677.1 12 Mar 2026 02:13PM UTC 554
64.27
GitHub Action Run
Source Files on build 23006149677
  • Tree
  • List 554
  • Changed 11
  • Source Changed 4
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23006149677
  • 3dda4b5a on github
  • Prev Build on main (#23006060128)
  • Next Build on main (#23006660282)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc