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

Function nativeTaskToolError

internal/daemon/native_tools.go:4554–4610  ·  view source on GitHub ↗
(id toolspkg.ToolID, err error)

Source from the content-addressed store, hash-verified

4552}
4553
4554func nativeTaskToolError(id toolspkg.ToolID, err error) error {
4555 if err == nil {
4556 return nil
4557 }
4558 if _, ok := taskpkg.AutonomyReasonOf(err); ok {
4559 return nativeAutonomyToolError(id, err)
4560 }
4561 switch {
4562 case errors.Is(err, taskpkg.ErrValidation),
4563 errors.Is(err, taskpkg.ErrInvalidScopeBinding),
4564 errors.Is(err, taskpkg.ErrImmutableField),
4565 errors.Is(err, taskpkg.ErrPayloadTooLarge):
4566 return toolspkg.NewToolError(
4567 toolspkg.ErrorCodeInvalidInput,
4568 id,
4569 taskpkg.RedactClaimTokens(err.Error()),
4570 fmt.Errorf("%w: %w", toolspkg.ErrToolInvalidInput, err),
4571 toolspkg.ReasonSchemaInvalid,
4572 )
4573 case errors.Is(err, taskpkg.ErrTaskNotFound),
4574 errors.Is(err, taskpkg.ErrTaskBlockNotFound),
4575 errors.Is(err, taskpkg.ErrTaskRunNotFound):
4576 return toolspkg.NewToolError(
4577 toolspkg.ErrorCodeNotFound,
4578 id,
4579 taskpkg.RedactClaimTokens(err.Error()),
4580 fmt.Errorf("%w: %w", toolspkg.ErrToolNotFound, err),
4581 )
4582 case errors.Is(err, taskpkg.ErrConflict),
4583 errors.Is(err, taskpkg.ErrInvalidClaimToken),
4584 errors.Is(err, taskpkg.ErrLeaseExpired),
4585 errors.Is(err, taskpkg.ErrInvalidStatusTransition),
4586 errors.Is(err, taskpkg.ErrHallucinatedTaskRefs):
4587 return toolspkg.NewToolError(
4588 toolspkg.ErrorCodeConflict,
4589 id,
4590 taskpkg.RedactClaimTokens(err.Error()),
4591 fmt.Errorf("%w: %w", toolspkg.ErrToolConflict, err),
4592 )
4593 case errors.Is(err, taskpkg.ErrPermissionDenied):
4594 return toolspkg.NewToolError(
4595 toolspkg.ErrorCodeDenied,
4596 id,
4597 taskpkg.RedactClaimTokens(err.Error()),
4598 fmt.Errorf("%w: %w", toolspkg.ErrToolDenied, err),
4599 toolspkg.ReasonSessionDenied,
4600 )
4601 default:
4602 return toolspkg.NewToolError(
4603 toolspkg.ErrorCodeBackendFailed,
4604 id,
4605 taskpkg.RedactClaimTokens(err.Error()),
4606 fmt.Errorf("%w: %w", toolspkg.ErrToolBackendFailed, err),
4607 toolspkg.ReasonBackendUnhealthy,
4608 )
4609 }
4610}
4611

Callers 4

taskBlockMethod · 0.85
taskUnblockMethod · 0.85
taskBlocksMethod · 0.85
taskRecoverMethod · 0.85

Calls 3

nativeAutonomyToolErrorFunction · 0.85
IsMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected