Files
crush-code-agent-ide/vendor/github.com/mark3labs/mcp-go/client/sampling.go
Carlos Alexandro Becker 3e820ececc chore(deps): update mcp-go (#155)
* chore(deps): update mcp-go

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: vendoring

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2025-07-11 15:29:10 -03:00

21 lines
796 B
Go

package client
import (
"context"
"github.com/mark3labs/mcp-go/mcp"
)
// SamplingHandler defines the interface for handling sampling requests from servers.
// Clients can implement this interface to provide LLM sampling capabilities to servers.
type SamplingHandler interface {
// CreateMessage handles a sampling request from the server and returns the generated message.
// The implementation should:
// 1. Validate the request parameters
// 2. Optionally prompt the user for approval (human-in-the-loop)
// 3. Select an appropriate model based on preferences
// 4. Generate the response using the selected model
// 5. Return the result with model information and stop reason
CreateMessage(ctx context.Context, request mcp.CreateMessageRequest) (*mcp.CreateMessageResult, error)
}