session

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package session tracks active MCP client sessions for the bound database.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientMeta

type ClientMeta struct {
	Name     string `json:"name"`
	Title    string `json:"title,omitempty"`
	Version  string `json:"version"`
	Protocol string `json:"protocol"`
}

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry(srv *gomcp.Server, transport, listen string, l *ledger.Ledger, logger *slog.Logger) *Registry

NewRegistry tracks live sessions; l (may be nil) persists their metrics.

func (*Registry) Flush added in v0.3.5

func (r *Registry) Flush(now int64)

Flush appends a checkpoint line for every live session.

func (*Registry) Middleware

func (r *Registry) Middleware(next gomcp.MethodHandler) gomcp.MethodHandler

Middleware records connect/activity/tool-call signals on each inbound request.

func (*Registry) Run added in v0.3.5

func (r *Registry) Run(ctx context.Context, interval time.Duration)

Run flushes the ledger on a ticker and once more on shutdown.

func (*Registry) Snapshot

func (r *Registry) Snapshot() []SessionInfo

Snapshot returns one SessionInfo per live SDK session, pruning stale entries.

type SessionInfo

type SessionInfo struct {
	ID             string     `json:"id"`
	Client         ClientMeta `json:"client_meta"`
	Transport      string     `json:"transport"`
	Listen         string     `json:"listen,omitempty"`
	ConnectedAt    int64      `json:"connected_at"`
	LastActivity   int64      `json:"last_activity"`
	CountToolCalls int64      `json:"count_tool_calls"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL