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 }