(** AT Protocol High-Level API. This package provides a user-friendly interface for common AT Protocol operations. It wraps the lower-level XRPC client with convenient functions for authentication, posting, social actions, and reading feeds. {2 Quick Start} {[ (* Create agent *) let agent = Agent.create ~pds:(Uri.of_string "https://bsky.social") in (* Login *) let agent = Agent.login agent ~identifier:"alice.bsky.social" ~password:"..." |> Result.get_ok in (* Create a post *) let _ = Agent.create_post agent ~text:"Hello from OCaml!" () in (* Get timeline *) let feed = Agent.get_timeline agent () |> Result.get_ok in List.iter (fun item -> Printf.printf "%s: %s\n" item.author_handle item.text) feed.items ]} {2 RichText} For posts with mentions, links, or hashtags, use the {!Richtext} module: {[ let text = "Check out @alice.bsky.social and https://example.com!" in let richtext = Richtext.detect_facets text in let _ = Agent.create_post_richtext agent ~richtext () ]} *) module Agent = Agent module Richtext = Richtext