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

stacklok / toolhive / 27285500883
67%

Build:
DEFAULT BRANCH: main
Ran 10 Jun 2026 03:07PM UTC
Jobs 1
Files 751
Run time 3min
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

10 Jun 2026 03:01PM UTC coverage: 66.323% (+0.04%) from 66.288%
27285500883

push

github

web-flow
Move SDK hooks and two-phase session creation under Serve (#5471)

* Wire SDK hooks and session creation into Serve

Step P2.2 of the vMCP New/Serve split: the three mcp-go SDK hooks and the
two-phase session-creation wiring are SDK-lifecycle concerns that belong in
the transport layer, not the core VMCP domain object. This relocates them
into Serve so they execute identically when Serve is exercised directly.
server.New keeps its own copy until Phase 3, so its signature and observable
behavior are unchanged.

Implements changes for issue #5440:
- Register OnRegisterSession + OnBeforeListTools/OnBeforeCallTool hooks in
  Serve, delegating to the unchanged *Server receiver methods
- Build the transport session manager, session data storage (memory/Redis,
  THV_SESSION_REDIS_PASSWORD) with a close-on-error leak guard, and the vMCP
  session manager inside Serve
- Add ServerConfig.SessionManagerConfig (pre-built *sessionmanager.FactoryConfig)
  and the shared BackendRegistry; fold the now-redundant SessionFactory/
  OptimizerFactory/OptimizerConfig slots into FactoryConfig
- Add Serve-level tests driving the relocated hooks + two-phase creation via
  the SDK lifecycle, plus buildSessionDataStorage coverage; the HTTP suite
  stays on server.New as its parity gate

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Address code review feedback

Fixed issues from code review:
- HIGH: Split the t.Setenv redis case into its own non-parallel test and made
  TestBuildSessionDataStorage parallel, resolving the tparallel lint failure
- MEDIUM: Validate BackendRegistry in Serve (fail loudly with ErrInvalidConfig
  instead of nil-panicking inside the OnRegisterSession hook); add a
  nil-registry validation case and a testMinimalServeConfig helper
- MEDIUM: Document on SessionManagerConfig that the composition root must
  validate workflow definitions before assembling FactoryConfig, since Serve
  no longer runs validateWorkflows

Co-Authored-By... (continued)

56 of 60 new or added lines in 1 file covered. (93.33%)

14 existing lines in 5 files now uncovered.

67356 of 101558 relevant lines covered (66.32%)

62.75 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
96.12
-3.88% pkg/vmcp/server/serve.go

Coverage Regressions

Lines Coverage ∆ File
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
2
93.94
-6.06% pkg/foreach/foreach.go
2
73.63
-0.64% pkg/runner/config.go
2
82.29
-0.21% pkg/vmcp/composer/workflow_engine.go
2
94.59
-2.7% pkg/vmcp/server/status.go
Jobs
ID Job ID Ran Files Coverage
1 27285500883.1 10 Jun 2026 03:07PM UTC 751
66.32
GitHub Action Run
Source Files on build 27285500883
  • Tree
  • List 751
  • Changed 12
  • Source Changed 1
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27285500883
  • 1101e045 on github
  • Prev Build on main (#27282426364)
  • Next Build on main (#27287296714)
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