- surf.Router.MountStream and recoverStream: a raw, unbuffered route kind
whose http.Flusher reaches the client; panic after the first byte only
aborts the body
- surf.MCPBuildTag and the mountPier hook: mcp.enabled is inert without the
summercms_mcp tag until it is true, then boot fails naming the tag
(pier_off.go is the untagged side)
- wristband parseAuthorizeScopes takes the server's allowed set built from
Options.ScopesSupported; the default set is unchanged
- cooler.KeyPrefix exported for the MCP module's Redis keys
- smoke tests TestStreamingRouteSmoke, TestPierMountSmoke, TestMCPScopesSmoke
- surf, wristband and cooler READMEs, docs/services/{routing,oauth-server}.md
10 lines
417 B
Go
10 lines
417 B
Go
//go:build !summercms_mcp
|
|
|
|
package surf
|
|
|
|
// Without the summercms_mcp tag (MCPBuildTag) the MCP module is not linked:
|
|
// the mountPier hook declared in router.go stays nil, so BuildRouter mounts
|
|
// nothing for mcp.* and refuses mcp.enabled: true with an error naming the
|
|
// tag. The tagged counterpart, pier_on.go, imports the pier module and sets
|
|
// the hook; this file declares nothing else so both builds compile.
|