parse
Parses this AtUri into its AtUriParts.
Validation is structural only: the URI must start with at://, the repo segment must be non-empty, and any path segment between repo and rkey must be non-empty. A single trailing slash after the repo or collection is tolerated and normalized away. Semantic validity of the segments (DID syntax, NSID syntax, etc.) is the responsibility of the wrapper types and is intentionally not checked here.
The returned AtUriParts.fragment is the bare suffix with the leading # stripped, or null when no fragment is present — matching java.net.URI.getFragment() conventions.
Spec: https://atproto.com/specs/at-uri-scheme
Throws
if the URI is structurally invalid.