forked from
zat.dev/zat
atproto utils for zig
1//! zat - zig atproto primitives
2//!
3//! parsing and validation for AT Protocol string formats.
4//! DID resolution for did:plc and did:web.
5
6// syntax primitives
7pub const Tid = @import("internal/syntax/tid.zig").Tid;
8pub const Did = @import("internal/syntax/did.zig").Did;
9pub const Handle = @import("internal/syntax/handle.zig").Handle;
10pub const Nsid = @import("internal/syntax/nsid.zig").Nsid;
11pub const Rkey = @import("internal/syntax/rkey.zig").Rkey;
12pub const AtUri = @import("internal/syntax/at_uri.zig").AtUri;
13
14// identity resolution
15pub const DidDocument = @import("internal/identity/did_document.zig").DidDocument;
16pub const DidResolver = @import("internal/identity/did_resolver.zig").DidResolver;
17pub const HandleResolver = @import("internal/identity/handle_resolver.zig").HandleResolver;
18
19// xrpc
20pub const HttpTransport = @import("internal/xrpc/transport.zig").HttpTransport;
21pub const XrpcClient = @import("internal/xrpc/xrpc.zig").XrpcClient;
22
23// json helpers
24pub const json = @import("internal/xrpc/json.zig");
25
26// crypto
27pub const jwt = @import("internal/crypto/jwt.zig");
28pub const Jwt = jwt.Jwt;
29pub const multibase = @import("internal/crypto/multibase.zig");
30pub const multicodec = @import("internal/crypto/multicodec.zig");
31pub const Keypair = @import("internal/crypto/keypair.zig").Keypair;
32
33// oauth
34pub const oauth = @import("internal/oauth.zig");
35
36// repo
37pub const mst = @import("internal/repo/mst.zig");
38pub const cbor = @import("internal/repo/cbor.zig");
39pub const car = @import("internal/repo/car.zig");
40
41// repo verification
42pub const repo_verifier = @import("internal/repo/repo_verifier.zig");
43pub const verifyRepo = repo_verifier.verifyRepo;
44pub const VerifyResult = repo_verifier.VerifyResult;
45pub const verifyCommitCar = repo_verifier.verifyCommitCar;
46pub const CommitVerifyResult = repo_verifier.CommitVerifyResult;
47
48// sync 1.1: commit diff verification
49pub const MstOperation = mst.Operation;
50pub const Commit = repo_verifier.Commit;
51pub const loadCommitFromCAR = repo_verifier.loadCommitFromCAR;
52pub const verifyCommitDiff = repo_verifier.verifyCommitDiff;
53pub const CommitDiffResult = repo_verifier.CommitDiffResult;
54
55// sync / streaming
56const sync = @import("internal/streaming/sync.zig");
57pub const CommitAction = sync.CommitAction;
58pub const EventKind = sync.EventKind;
59pub const AccountStatus = sync.AccountStatus;
60
61// jetstream
62pub const jetstream = @import("internal/streaming/jetstream.zig");
63pub const JetstreamClient = jetstream.JetstreamClient;
64pub const JetstreamEvent = jetstream.Event;
65
66// firehose (raw CBOR event stream)
67pub const firehose = @import("internal/streaming/firehose.zig");
68pub const FirehoseClient = firehose.FirehoseClient;
69pub const FirehoseEvent = firehose.Event;
70
71// interop tests (test-only, references resolved by build.zig lazy dependency)
72comptime {
73 if (@import("builtin").is_test) {
74 _ = @import("internal/testing/interop_tests.zig");
75 _ = @import("internal/repo/repo_verifier.zig");
76 _ = @import("internal/repo/cbor_test.zig");
77 _ = @import("internal/repo/cbor_read_test.zig");
78 _ = @import("internal/repo/cbor_write_test.zig");
79 _ = @import("internal/repo/car_test.zig");
80 _ = @import("internal/repo/cbor_rfc8949_test.zig");
81 _ = @import("internal/repo/mst_test.zig");
82 }
83}