package promptkit import ( "context" "errors" artifactadapter "gitea.maximumdirect.net/eric/promptkit/internal/artifact" "gitea.maximumdirect.net/eric/promptkit/internal/domain" ) var errNilArtifactReaderResponse = errors.New("artifact reader returned nil artifact without error") type publicArtifactReaderAdapter struct { reader ArtifactReader } var _ artifactadapter.Reader = publicArtifactReaderAdapter{} func (a publicArtifactReaderAdapter) Read(ctx context.Context, ref domain.ArtifactRef) (*domain.Artifact, error) { artifact, err := a.reader.Read(ctx, ArtifactRef{ Type: ArtifactRefType(ref.Type), URI: ref.URI, Body: ref.Body, }) if err != nil { return nil, err } if artifact == nil { return nil, errNilArtifactReaderResponse } return &domain.Artifact{ Name: artifact.Name, ContentType: artifact.ContentType, Body: copyBytes(artifact.Body), URI: artifact.URI, Size: artifact.Size, Hash: artifact.Hash, }, nil }