MCPcopy Create free account
hub / github.com/compozy/agh / toolErrorResponseForError

Function toolErrorResponseForError

internal/cli/tool_operator.go:474–503  ·  view source on GitHub ↗
(err error)

Source from the content-addressed store, hash-verified

472}
473
474func toolErrorResponseForError(err error) (ToolErrorResponseRecord, bool) {
475 if apiErr, ok := errors.AsType[*toolAPIError](err); ok {
476 return apiErr.Response(), true
477 }
478 if commandErr, ok := errors.AsType[*toolCommandError](err); ok {
479 return sanitizeToolErrorResponse(commandErr.response), true
480 }
481 if toolErr, ok := errors.AsType[*toolspkg.ToolError](err); ok {
482 return sanitizeToolErrorResponse(ToolErrorResponseRecord{
483 Error: contract.ToolErrorPayload{
484 Code: toolErr.Code,
485 Message: toolErr.Error(),
486 ToolID: toolErr.ToolID,
487 ReasonCodes: append([]toolspkg.ReasonCode(nil), toolErr.ReasonCodes...),
488 Layer: toolOperatorCLIKey,
489 },
490 }), true
491 }
492 if validationErr, ok := errors.AsType[*toolspkg.ValidationError](err); ok {
493 return sanitizeToolErrorResponse(ToolErrorResponseRecord{
494 Error: contract.ToolErrorPayload{
495 Code: toolspkg.ErrorCodeInvalidInput,
496 Message: validationErr.Error(),
497 ReasonCodes: []toolspkg.ReasonCode{validationErr.Reason},
498 Layer: toolOperatorCLIKey,
499 },
500 }), true
501 }
502 return ToolErrorResponseRecord{}, false
503}
504
505func toolValidationCommandError(
506 id toolspkg.ToolID,

Callers 2

writeToolCommandErrorFunction · 0.85

Calls 4

appendFunction · 0.85
ResponseMethod · 0.80
ErrorMethod · 0.45

Tested by 1