github.com/storacha/go-ucanto@v0.7.2/server/retrieval/datamodel/errors.go (about)

     1  package datamodel
     2  
     3  import (
     4  	// for go:embed
     5  	_ "embed"
     6  	"fmt"
     7  
     8  	"github.com/ipld/go-ipld-prime"
     9  	"github.com/ipld/go-ipld-prime/schema"
    10  )
    11  
    12  //go:embed errors.ipldsch
    13  var errorsch []byte
    14  
    15  var (
    16  	errorTypeSystem *schema.TypeSystem
    17  )
    18  
    19  func init() {
    20  	ts, err := ipld.LoadSchemaBytes(errorsch)
    21  	if err != nil {
    22  		panic(fmt.Errorf("failed to load IPLD schema: %w", err))
    23  	}
    24  	errorTypeSystem = ts
    25  }
    26  
    27  func Schema() []byte {
    28  	return errorsch
    29  }
    30  
    31  func MissingProofsType() schema.Type {
    32  	return errorTypeSystem.TypeByName("MissingProofs")
    33  }
    34  
    35  type MissingProofsModel struct {
    36  	Name    string
    37  	Message string
    38  	Proofs  []ipld.Link
    39  }
    40  
    41  func AgentMessageInvocationErrorType() schema.Type {
    42  	return errorTypeSystem.TypeByName("AgentMessageInvocationError")
    43  }
    44  
    45  type AgentMessageInvocationErrorModel struct {
    46  	Name    string
    47  	Message string
    48  }