Smart Byte (1 crate, 2127 LOC, 35 tests)
smart-byte-atproto ATProto (Bluesky federation) adapter.
PLC + did:web resolution; XRPC client; CARv1 encode/decode
with CIDv1 (dag-cbor + raw, SHA-256); sketch MST with
order-independent BLAKE3 root; Repo + UnsignedCommit /
SignedCommit (Ed25519 over CBOR); firehose transport
trait + in-memory impl; AT URI ↔ smart-byte AID bridge
with SAID commitment.
OpenPay (1 crate, 2397 LOC, 44 tests)
op-openbanking UK OBIE R/W v3.1.10/3.1.11, Berlin Group NextGenPSD2
XS2A v1.3.13, STET PSD2 v1.7, Australia CDR Banking v1.31,
FDX v5/v6, SGFinDex shapes. AISP / PISP / PIIS / VRP
traits. FAPI 1.0 Advanced (PS256/ES256, mTLS, RFC 8705
certificate binding, JWK registration). Operators wire
their own JWS signer + HTTP transport — keeps the crate
KMS-agnostic.
EOC (1 crate, 2179 LOC, 32 tests)
eoc-distributed Distributed-inference scheduling. Worker trait with
Capability + Accelerator (CPU/GPU/TPU/NPU/Mixed) +
Load.busyness()/projected_micro_joules()/projected_g_co2e().
RoundRobin / LeastBusy / LatencyWeighted / JouleWeighted
(default) / CarbonWeighted routers. Work-stealing
scheduler. vLLM-style continuous batching with KV-block
budget. Ray-Serve-style auto-scaler with cooldown.
KV-cache-aware sticky-session routing.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
48 lines
1.3 KiB
Rust
48 lines
1.3 KiB
Rust
//! AT URI ↔ AID bridge roundtrips and SAID determinism.
|
|
|
|
use smart_byte_atproto::{Aid, AtUri};
|
|
|
|
#[test]
|
|
fn at_uri_to_aid_to_at_uri() {
|
|
let s = "at://did:plc:abcd1234/app.bsky.feed.post/3kjp";
|
|
let uri: AtUri = s.parse().unwrap();
|
|
let aid = uri.to_aid();
|
|
let back = aid.to_at_uri();
|
|
assert_eq!(back, uri);
|
|
assert_eq!(back.to_string(), s);
|
|
}
|
|
|
|
#[test]
|
|
fn aid_canonical_roundtrip() {
|
|
let aid = Aid {
|
|
authority: "did:plc:abcd1234".into(),
|
|
collection: Some("app.bsky.feed.like".into()),
|
|
rkey: Some("xyz".into()),
|
|
};
|
|
let canonical = aid.canonical();
|
|
let parsed: Aid = canonical.parse().unwrap();
|
|
assert_eq!(parsed, aid);
|
|
}
|
|
|
|
#[test]
|
|
fn at_uri_said_is_deterministic() {
|
|
let a: AtUri = "at://did:plc:abc/app.bsky.feed.post/r1".parse().unwrap();
|
|
let b: AtUri = "at://did:plc:abc/app.bsky.feed.post/r1".parse().unwrap();
|
|
assert_eq!(a.to_said(), b.to_said());
|
|
let c: AtUri = "at://did:plc:abc/app.bsky.feed.post/r2".parse().unwrap();
|
|
assert_ne!(a.to_said(), c.to_said());
|
|
}
|
|
|
|
#[test]
|
|
fn rejects_empty_collection() {
|
|
let r: Result<AtUri, _> = "at://did:plc:abc//rkey".parse();
|
|
assert!(r.is_err());
|
|
}
|
|
|
|
#[test]
|
|
fn handle_authority_is_allowed() {
|
|
let u: AtUri = "at://alice.bsky.social/app.bsky.feed.post/3k"
|
|
.parse()
|
|
.unwrap();
|
|
assert_eq!(u.authority, "alice.bsky.social");
|
|
}
|