internal/mcp: hide CancelledParams
Since cancellation is handled transparently, this type need not be exported. Change-Id: Id4e195b0c3bd49eca52587032a027ffa449eb9d1 Reviewed-on: https://go-review.googlesource.com/c/tools/+/672796 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Sam Thanawalla <samthanawalla@google.com>
This commit is contained in:
parent
a8b98da480
commit
0b09f3ad5a
3 changed files with 14 additions and 14 deletions
|
|
@ -66,7 +66,7 @@ var declarations = config{
|
||||||
"CallToolResult": {},
|
"CallToolResult": {},
|
||||||
"CancelledNotification": {
|
"CancelledNotification": {
|
||||||
Name: "-",
|
Name: "-",
|
||||||
Fields: config{"Params": {Name: "CancelledParams"}},
|
Fields: config{"Params": {Name: "cancelledParams"}},
|
||||||
},
|
},
|
||||||
"ClientCapabilities": {},
|
"ClientCapabilities": {},
|
||||||
"GetPromptRequest": {
|
"GetPromptRequest": {
|
||||||
|
|
|
||||||
|
|
@ -54,17 +54,6 @@ type CallToolResult struct {
|
||||||
IsError bool `json:"isError,omitempty"`
|
IsError bool `json:"isError,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CancelledParams struct {
|
|
||||||
// An optional string describing the reason for the cancellation. This MAY be
|
|
||||||
// logged or presented to the user.
|
|
||||||
Reason string `json:"reason,omitempty"`
|
|
||||||
// The ID of the request to cancel.
|
|
||||||
//
|
|
||||||
// This MUST correspond to the ID of a request previously issued in the same
|
|
||||||
// direction.
|
|
||||||
RequestID any `json:"requestId"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Capabilities a client may support. Known capabilities are defined here, in
|
// Capabilities a client may support. Known capabilities are defined here, in
|
||||||
// this schema, but this is not a closed set: any client can define its own,
|
// this schema, but this is not a closed set: any client can define its own,
|
||||||
// additional capabilities.
|
// additional capabilities.
|
||||||
|
|
@ -315,6 +304,17 @@ type ToolAnnotations struct {
|
||||||
Title string `json:"title,omitempty"`
|
Title string `json:"title,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type cancelledParams struct {
|
||||||
|
// An optional string describing the reason for the cancellation. This MAY be
|
||||||
|
// logged or presented to the user.
|
||||||
|
Reason string `json:"reason,omitempty"`
|
||||||
|
// The ID of the request to cancel.
|
||||||
|
//
|
||||||
|
// This MUST correspond to the ID of a request previously issued in the same
|
||||||
|
// direction.
|
||||||
|
RequestID any `json:"requestId"`
|
||||||
|
}
|
||||||
|
|
||||||
// Describes the name and version of an MCP implementation.
|
// Describes the name and version of an MCP implementation.
|
||||||
type implementation struct {
|
type implementation struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ type canceller struct {
|
||||||
// Preempt implements jsonrpc2.Preempter.
|
// Preempt implements jsonrpc2.Preempter.
|
||||||
func (c *canceller) Preempt(ctx context.Context, req *jsonrpc2.Request) (result any, err error) {
|
func (c *canceller) Preempt(ctx context.Context, req *jsonrpc2.Request) (result any, err error) {
|
||||||
if req.Method == "notifications/cancelled" {
|
if req.Method == "notifications/cancelled" {
|
||||||
var params CancelledParams
|
var params cancelledParams
|
||||||
if err := json.Unmarshal(req.Params, ¶ms); err != nil {
|
if err := json.Unmarshal(req.Params, ¶ms); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -151,7 +151,7 @@ func call(ctx context.Context, conn *jsonrpc2.Connection, method string, params,
|
||||||
return fmt.Errorf("calling %q: %w", method, ErrConnectionClosed)
|
return fmt.Errorf("calling %q: %w", method, ErrConnectionClosed)
|
||||||
case ctx.Err() != nil:
|
case ctx.Err() != nil:
|
||||||
// Notify the peer of cancellation.
|
// Notify the peer of cancellation.
|
||||||
err := conn.Notify(xcontext.Detach(ctx), "notifications/cancelled", &CancelledParams{
|
err := conn.Notify(xcontext.Detach(ctx), "notifications/cancelled", &cancelledParams{
|
||||||
Reason: ctx.Err().Error(),
|
Reason: ctx.Err().Error(),
|
||||||
RequestID: call.ID().Raw(),
|
RequestID: call.ID().Raw(),
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue