Fix various errors

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-11-12 11:57:42 +01:00
parent fcbfd93f26
commit 944f61da15
4 changed files with 9 additions and 17 deletions

View File

@@ -26,18 +26,14 @@ import (
func LoggingMiddleware(logger *log.Logger) func(mcp.MethodHandler) mcp.MethodHandler { func LoggingMiddleware(logger *log.Logger) func(mcp.MethodHandler) mcp.MethodHandler {
return func(next mcp.MethodHandler) mcp.MethodHandler { return func(next mcp.MethodHandler) mcp.MethodHandler {
return func(ctx context.Context, method string, req mcp.Request) (mcp.Result, error) { return func(ctx context.Context, method string, req mcp.Request) (mcp.Result, error) {
sessionID := req.GetSession().ID()
logger.InfoCtx(ctx, fmt.Sprintf("mcp %q method started", method), logger.InfoCtx(ctx, fmt.Sprintf("mcp %q method started", method),
log.String("method", method), log.String("method", method),
log.String("session_id", sessionID),
log.Bool("has_params", req.GetParams() != nil), log.Bool("has_params", req.GetParams() != nil),
) )
if ctr, ok := req.(*mcp.CallToolRequest); ok { if ctr, ok := req.(*mcp.CallToolRequest); ok {
logger.InfoCtx(ctx, fmt.Sprintf("calling %q tool", ctr.Params.Name), logger.InfoCtx(ctx, fmt.Sprintf("calling %q tool", ctr.Params.Name),
log.String("tool_name", ctr.Params.Name), log.String("tool_name", ctr.Params.Name),
log.String("session_id", sessionID),
) )
} }
@@ -48,7 +44,6 @@ func LoggingMiddleware(logger *log.Logger) func(mcp.MethodHandler) mcp.MethodHan
if err != nil { if err != nil {
logger.ErrorCtx(ctx, fmt.Sprintf("mcp %q method failed", method), logger.ErrorCtx(ctx, fmt.Sprintf("mcp %q method failed", method),
log.String("method", method), log.String("method", method),
log.String("session_id", sessionID),
log.Int64("duration_ms", duration.Milliseconds()), log.Int64("duration_ms", duration.Milliseconds()),
log.Error(err), log.Error(err),
) )
@@ -56,14 +51,12 @@ func LoggingMiddleware(logger *log.Logger) func(mcp.MethodHandler) mcp.MethodHan
logger.InfoCtx(ctx, fmt.Sprintf("mcp %q method completed", method), logger.InfoCtx(ctx, fmt.Sprintf("mcp %q method completed", method),
log.String("method", method), log.String("method", method),
log.String("session_id", sessionID),
log.Int64("duration_ms", duration.Milliseconds()), log.Int64("duration_ms", duration.Milliseconds()),
log.Bool("has_result", result != nil), log.Bool("has_result", result != nil),
) )
if ctr, ok := result.(*mcp.CallToolResult); ok { if ctr, ok := result.(*mcp.CallToolResult); ok {
logger.InfoCtx(ctx, "tool call result", logger.InfoCtx(ctx, "tool call result",
log.String("session_id", sessionID),
log.Bool("is_error", ctr.IsError), log.Bool("is_error", ctr.IsError),
) )
} }

View File

@@ -44,6 +44,7 @@ func (r *resolver) AddVendor(
BusinessAssociateAgreementURL: args.BusinessAssociateAgreementURL, BusinessAssociateAgreementURL: args.BusinessAssociateAgreementURL,
SubprocessorsListURL: args.SubprocessorsListURL, SubprocessorsListURL: args.SubprocessorsListURL,
Certifications: args.Certifications, Certifications: args.Certifications,
Countries: args.Countries,
SecurityPageURL: args.SecurityPageURL, SecurityPageURL: args.SecurityPageURL,
TrustPageURL: args.TrustPageURL, TrustPageURL: args.TrustPageURL,
TermsOfServiceURL: args.TermsOfServiceURL, TermsOfServiceURL: args.TermsOfServiceURL,

View File

@@ -30,10 +30,8 @@ var (
Description: "List all organizations the user has access to", Description: "List all organizations the user has access to",
Annotations: &mcp.ToolAnnotations{ReadOnlyHint: true}, Annotations: &mcp.ToolAnnotations{ReadOnlyHint: true},
InputSchema: &jsonschema.Schema{ InputSchema: &jsonschema.Schema{
Type: "object", Type: "object",
Properties: map[string]*jsonschema.Schema{ Properties: map[string]*jsonschema.Schema{},
"organizationID": {Type: "string"},
},
}, },
} }
) )

View File

@@ -103,19 +103,19 @@ type (
var ( var (
ListVendorsInputSchema = &jsonschema.Schema{ ListVendorsInputSchema = &jsonschema.Schema{
Type: "object", Type: "object",
Required: []string{"organizationID"}, Required: []string{"organization_id"},
Properties: map[string]*jsonschema.Schema{ Properties: map[string]*jsonschema.Schema{
"organizationID": {Type: "string"}, "organization_id": {Type: "string"},
"filter": { "filter": {
Type: "object", Type: "object",
Properties: map[string]*jsonschema.Schema{ Properties: map[string]*jsonschema.Schema{
"snapshotID": {Type: "string"}, "snapshot_id": {Type: "string"},
}, },
}, },
"orderBy": { "order_field": {
Types: []string{"object", "null"}, Types: []string{"object", "null"},
Properties: map[string]*jsonschema.Schema{ Properties: map[string]*jsonschema.Schema{
"field": {Type: "string", Enum: []any{"CREATED_AT"}}, "field": {Type: "string", Enum: []any{"CREATED_AT", "UPDATED_AT", "NAME"}},
"direction": OrderByDirectionSchema, "direction": OrderByDirectionSchema,
}, },
}, },
@@ -170,7 +170,7 @@ var (
"description": NullableStringSchema, "description": NullableStringSchema,
"category": VendorCategorySchema, "category": VendorCategorySchema,
"headquarter_address": NullableStringSchema, "headquarter_address": NullableStringSchema,
"legalName": NullableStringSchema, "legal_name": NullableStringSchema,
"website_url": NullableStringSchema, "website_url": NullableStringSchema,
"privacy_policy_url": NullableStringSchema, "privacy_policy_url": NullableStringSchema,
"service_level_agreement_url": NullableStringSchema, "service_level_agreement_url": NullableStringSchema,