Header menu logo FSharp.ATProto

FSharp.ATProto.Syntax Namespace

Type/Module Description

AtDateTime (Module)

Functions for creating, validating, and extracting data from AtDateTime values.

AtDateTime (Type)

An AT Protocol datetime string, a strict subset of RFC 3339 / ISO 8601. Format: YYYY-MM-DDTHH:MM:SS[.fractional](Z|+HH:MM|-HH:MM).

AtDateTimeConverter

JSON converter for AtDateTime values. Reads/writes as a JSON string.

AtIdentifier (Module)

Functions for creating, validating, and extracting data from AtIdentifier values.

AtIdentifier (Type)

A union type representing an AT Protocol identifier, which can be either a Did or a Handle. Used in contexts where either identifier type is accepted, such as the authority component of an AtUri.

AtUri (Module)

Functions for creating, validating, and extracting data from AtUri values.

AtUri (Type)

An AT-URI that identifies a resource in the AT Protocol network. AT-URIs use the scheme at:// followed by an authority (DID or handle), an optional collection (NSID), and an optional record key. Format: at://<authority>[/<collection>[/<rkey>]]. Maximum length is 8192 characters.

AtUriConverter

JSON converter for AtUri values. Reads/writes as a JSON string.

Cid (Module)

Functions for creating, validating, and extracting data from Cid values.

Cid (Type)

A Content Identifier (CID) used to reference content-addressed data in the AT Protocol. CIDs are self-describing content hashes that uniquely identify a piece of data. Only CIDv1 is supported; CIDv0 (starting with Qmb) is rejected.

CidConverter

JSON converter for Cid values. Reads/writes as a JSON string.

Did (Module)

Functions for creating, validating, and extracting data from Did values.

Did (Type)

A decentralized identifier (DID) as defined by the AT Protocol. DIDs are the primary stable identifier for accounts. Two methods are currently supported: did:plc: (hosted, managed by PLC directory) and did:web: (self-hosted, DNS-based).

DidConverter

JSON converter for Did values. Reads/writes as a JSON string.

Handle (Module)

Functions for creating, validating, and extracting data from Handle values.

Handle (Type)

A handle (domain name) used as a human-readable identifier in the AT Protocol. Handles are DNS-based names (e.g. my-handle.bsky.social) that resolve to a Did. They must be valid domain names with at least two segments and a maximum length of 253 characters.

HandleConverter

JSON converter for Handle values. Reads/writes as a JSON string.

Language (Module)

Functions for creating, validating, and extracting data from Language values.

Language (Type)

A BCP 47 language tag used to identify the language of content in the AT Protocol. Examples include "en", "pt-BR", "zh-Hans", and grandfathered tags like "i-default".

LanguageConverter

JSON converter for Language values. Reads/writes as a JSON string.

Nsid (Module)

Functions for creating, validating, and extracting data from Nsid values.

Nsid (Type)

A Namespaced Identifier (NSID) used to reference Lexicon schemas in the AT Protocol. NSIDs follow the pattern authority.name where the authority is a reversed domain name and the name identifies the specific schema (e.g. app.bsky.feed.post). Maximum length is 317 characters.

NsidConverter

JSON converter for Nsid values. Reads/writes as a JSON string.

RecordKey (Module)

Functions for creating, validating, and extracting data from RecordKey values.

RecordKey (Type)

A record key (rkey) used to identify individual records within a collection in the AT Protocol. Record keys are strings of 1-512 characters from the set [a-zA-Z0-9._~:-]. The special values "." and ".." are not allowed. Common record key formats include TIDs (for time-ordered records) and "self" (for singleton records).

RecordKeyConverter

JSON converter for RecordKey values. Reads/writes as a JSON string.

SyntaxUriConverter

JSON converter for Uri values. Reads/writes as a JSON string. Named SyntaxUriConverter to avoid collision with System.UriConverter.

Tid (Module)

Functions for creating, validating, and extracting data from Tid values.

Tid (Type)

A timestamp-based identifier (TID) used as record keys in the AT Protocol. TIDs are 13-character strings encoded in a base32-sortable format that embeds a microsecond timestamp and a clock identifier. They are lexicographically sortable by creation time.

TidConverter

JSON converter for Tid values. Reads/writes as a JSON string.

Uri (Module)

Functions for creating, validating, and extracting data from Uri values.

Uri (Type)

A general URI as defined by RFC 3986, used in the AT Protocol for links and references. Must have a valid scheme (starting with a letter, followed by letters, digits, +, -, or .) followed by : and a non-empty scheme-specific part with no whitespace. Maximum length is 8192 characters.

Type something to start searching.