ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Registry.Adapter.Capability

Description

Registry capabilities used by the ecosystem-neutral pipeline. Adapters own wire formats and share exact source-entry selection for served metadata.

Synopsis

Metadata

data AdapterMetadata Source #

The ecosystem's metadata capability: reading a package's metadata from an origin, assembling the served document, and encoding it (pdMetadata).

Constructors

AdapterMetadata 

Fields

type ManifestFetch = TracingPort -> OriginClient -> PackageName -> IO (Either MetadataError Manifest) Source #

Fetching and projecting one package's full manifest from an origin. Every failure is a MetadataError value, as it is through the client built over it.

Artifact requests

data AdapterArtifact Source #

The ecosystem's artifact request formation, by conventional filename or authoritative URL. The serve deps and the worker bundle share it (pdArtifact).

Constructors

AdapterArtifact 

Fields

Publish

data AdapterPublish Source #

The ecosystem's publish capability. The composition root marries its codec to the shared publish transport per mounted ecosystem (newMirrorPublish).

Constructors

AdapterPublish 

Fields

Names

type ProjectName = Text -> Maybe PackageName Source #

Canonicalise a raw package-name string under one ecosystem's own grammar, Nothing for a string that grammar refuses. It is the one parser every caller reaches a PackageName through.

Store maintenance

data AdapterMaintenance Source #

The ecosystem's store maintenance verbs, which Ecluse.Core.Registry.Maintenance.Protocol drives. Each is Nothing for a protocol that spells no such verb, and the Dredger then refuses.

Constructors

AdapterMaintenance 

Fields

data StoreListing Source #

Reading every package a store holds. The protocol's own listing endpoint, which a public registry may well refuse: a listing that does not answer 200 is the caller's fault to report.

Constructors

StoreListing 

Fields

data VersionDelete Source #

Deleting one version, as the request sequence the protocol spells it with. It names its own document read, because an install-optimised metadata read may omit the revision the edit needs.

Constructors

VersionDelete 

Fields