+1
.gitignore
+1
.gitignore
+4
-3
README.md
+4
-3
README.md
·········
+3
crates/jacquard-api/Cargo.toml
+3
crates/jacquard-api/Cargo.toml
+3
crates/jacquard-common/Cargo.toml
+3
crates/jacquard-common/Cargo.toml
+2
-2
crates/jacquard/Cargo.toml
+2
-2
crates/jacquard/Cargo.toml
···api_all = ["api", "jacquard-api/app_bsky", "jacquard-api/chat_bsky", "jacquard-api/tools_ozone"]···hickory-resolver = { version = "0.24", default-features = false, features = ["system-config", "tokio-runtime"], optional = true }
+117
-162
crates/jacquard/src/client.rs
+117
-162
crates/jacquard/src/client.rs
············-fn send<R: XrpcRequest + Send>(&self, request: R) -> impl Future<Output = Result<Response<R>>> + Send···+pub async fn set_session(&self, session: Session) -> core::result::Result<(), TokenStoreError> {······
+232
crates/jacquard/src/client/at_client.rs
+232
crates/jacquard/src/client/at_client.rs
···+use crate::client::{self as super_mod, AuthorizationToken, HttpClient, Response, Session, error};
+125
crates/jacquard/src/client/token.rs
+125
crates/jacquard/src/client/token.rs
···
+154
crates/jacquard/src/client/xrpc_call.rs
+154
crates/jacquard/src/client/xrpc_call.rs
···+pub async fn send<R: XrpcRequest + Send>(self, request: R) -> super_mod::Result<Response<R>> {
+37
-93
crates/jacquard/src/identity/resolver.rs
+37
-93
crates/jacquard/src/identity/resolver.rs
···+//! `resolveHandle` (when `pds_fallback` is configured) → public API fallback → Slingshot `resolveHandle` (if configured).+//! - DID → Doc: did:web well-known → PLC/Slingshot HTTP → PDS XRPC `resolveDid` (when configured),···/// - `validate_doc_id`: if true (default), convenience helpers validate doc `id` against the requested DID,/// `https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle` as an unauth fallback.-/// There is no public fallback for DID documents; when `PdsResolveDid` is chosen and the embedded XRPC+/// There is no public fallback for DID documents; when `PdsResolveDid` is chosen and the PDS XRPC/// client fails, the resolver falls back to Slingshot mini-doc (partial) if `PlcSource::Slingshot` is configured.······-/// let xrpc = AuthenticatedClient::new(http.clone(), CowStr::new_static("https://bsky.social"));-/// let did = tokio_test::block_on(async { resolver.resolve_handle(&Handle::new("bad-example.com").unwrap()).await }).unwrap();··················/// This applies the default equality check on the document id (error with doc if mismatch).···············-let xrpc = AuthenticatedClient::new(http.clone(), CowStr::from("https://public.api.bsky.app"));
+82
-3
crates/jacquard/src/lib.rs
+82
-3
crates/jacquard/src/lib.rs
············
+9
-4
crates/jacquard/src/main.rs
+9
-4
crates/jacquard/src/main.rs
·········