* Implement tests for error functions like errRequiredField, errInvalidField, and errEntityNotFound. * Ensure proper metadata is returned for various error scenarios. * Validate error handling in CRM, Files, and other tools. * Introduce tests for parsing stored file IDs and UUIDs. * Enhance coverage for helper functions related to project resolution and session management.
46 lines
1021 B
Go
46 lines
1021 B
Go
package tools
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/modelcontextprotocol/go-sdk/mcp"
|
|
|
|
"git.warky.dev/wdevs/amcs/internal/buildinfo"
|
|
)
|
|
|
|
type VersionTool struct {
|
|
serverName string
|
|
info buildinfo.Info
|
|
}
|
|
|
|
type GetVersionInfoInput struct{}
|
|
|
|
type GetVersionInfoOutput struct {
|
|
ServerName string `json:"server_name"`
|
|
Version string `json:"version"`
|
|
TagName string `json:"tag_name"`
|
|
Commit string `json:"commit"`
|
|
BuildDate string `json:"build_date"`
|
|
}
|
|
|
|
func NewVersionTool(serverName string, info buildinfo.Info) *VersionTool {
|
|
return &VersionTool{
|
|
serverName: serverName,
|
|
info: info,
|
|
}
|
|
}
|
|
|
|
func (t *VersionTool) GetInfo(_ context.Context, _ *mcp.CallToolRequest, _ GetVersionInfoInput) (*mcp.CallToolResult, GetVersionInfoOutput, error) {
|
|
if t == nil {
|
|
return nil, GetVersionInfoOutput{}, nil
|
|
}
|
|
|
|
return nil, GetVersionInfoOutput{
|
|
ServerName: t.serverName,
|
|
Version: t.info.Version,
|
|
TagName: t.info.TagName,
|
|
Commit: t.info.Commit,
|
|
BuildDate: t.info.BuildDate,
|
|
}, nil
|
|
}
|