Skip to content

Latest commit

 

History

History
56 lines (55 loc) · 9.3 KB

File metadata and controls

56 lines (55 loc) · 9.3 KB

Modules

Module Status Notes
wolfram/xrpc.h Implemented libcurl-backed query/procedure calls, binary blob upload, client-level atproto-proxy service-proxying header
wolfram/session.h Implemented PDS login, resume, refresh, get, and logout
wolfram/identity.h Implemented did:plc, did:web, portable c-ares/POSIX DNS TXT, well-known fallback
wolfram/repo.h Implemented DAG-CBOR parse/serialize, one-shot and incremental CID hashing, CAR, MST, commit, diff verify/apply, operation inversion
wolfram/crypto.h Implemented secp256k1 + P-256 keygen, sign, verify
wolfram/oauth.h Implemented OAuth discovery, PKCE/DPoP, PAR/token calls, callback validation, and persistent state
wolfram/server.h Implemented Server account management — describeServer, createAccount, app passwords, deleteAccount, password reset
wolfram/jetstream.h / wolfram/jetstream_replay.h Implemented Filtered Jetstream live JSON subscriptions plus Jetstream v2 planSnapshot replay planning, strict pagination metadata, owned segment/block plans, cursor reconnect/backoff, optional zstd, and typed event parsing
wolfram/json.h Implemented Generic (non-Lexicon) JSON: canonical round-trip and a JSON-Schema validator subset (type/required/properties/items, enum/const, format, numeric bounds, string length/pattern, array constraints, additionalProperties, anyOf/oneOf/not)
wolfram/label.h Implemented Label subscription (com.atproto.label.subscribeLabels) via WebSocket
wolfram/sync.h Implemented Firehose subscribeRepos subscription, commit verification, CAR download, plus getBlob/getBlocks/getRecord/listBlobs/getHead/getLatestCommit/getRepoStatus/listRepos
wolfram/validate.h Implemented Runtime Lexicon schema validation (records and named values), refs/unions/format keywords
wolfram/agent.h Implemented High-level BskyAgent-style API: session, posts, profile, social graph, feeds, preferences, push registration, notifications, blobs, video upload (wf_agent_upload_video/wf_agent_get_video_job_status/wf_agent_get_video_upload_limits), server + app-password management
wolfram/blob.h Implemented Binary blob upload — image/blob POST (wf_xrpc_upload_blob) and dedicated video upload (wf_agent_upload_video, wf_uploaded_blob_free)
wolfram/chat_typed.h Implemented Chat (DM) — chat.bsky.convo/group/actor/moderation write+query wrappers routed to the user's PDS via the atproto-proxy header (wf_xrpc_client_set_proxy)
wolfram/ozone.h Implemented Ozone moderation-service / labeler helper — verify and emit labels, build service auth headers. Full typed wrapper coverage across all tools.ozone.* namespaces: moderation, queue, report, team, verification, signature, setting, hosting, server, safelink, communication, and set value wrappers
wolfram/auth_client.h Implemented Authenticated XRPC client — DPoP-binding OAuth-authenticated query/procedure/blob-upload (wf_auth_client_*) with session refresh and DPoP nonce retry
wolfram/plc.h Implemented DID PLC operation build/sign/submit helpers (wf_plc_*): create/rotate/tombstone, signing-key and handle operations with ES256 signature + verification
wolfram/xrpc_server.h Implemented Optional XRPC server (libmicrohttpd) — route registration, auth middleware, CORS, buffered JSON POSTs, bounded-memory streaming procedures with interruption cleanup, GET query-param parsing, token-bucket rate limiter (wf_rate_limiter)
wolfram/richtext.h Implemented Rich text facets, grapheme detection, mention/link/tag parsing
wolfram/syntax.h Implemented DID, handle, NSID, TID, AT URI, RFC 3339, BCP 47 validators
wolfram/atproto_lex.h Implemented Generated C types/codecs for 402 lexicons and JSON wrappers for the corpus's 319 query/procedure definitions; binary procedures use the dedicated upload/import APIs
wolfram/moderation.h Implemented Moderation decision engine — blur/alert/inform/filter for accounts, profiles, posts, notifications, feed generators, and user lists from labels, blocks, mutes, hidden posts, and muted words
wolfram/store.h Partial/Optional SQLite-backed session + repo-mirror persistence + persisted-label storage for the moderation engine (OFF by default; build with WOLFRAM_BUILD_STORE=ON; optional WOLFRAM_BUILD_STORE_CRYPTO=ON adds libsodium at-rest encryption)
wolfram/threadgate_postgate.h Implemented Threadgate / postgate record helpers — wf_agent_create_threadgate/wf_agent_create_postgate and wf_agent_delete_record_by_uri
wolfram/embed_typed.h Implemented Generated owning parser for embed records (app.bsky.embed.*)
wolfram/feed_typed.h Implemented Generated owning parser for timeline/feed records (app.bsky.feed.*)
wolfram/feedgen_typed.h Implemented Generated owning parser for feed-generator records (app.bsky.feed.generator)
wolfram/graph_typed.h Implemented Generated owning parser for graph records (app.bsky.graph.*)
wolfram/list_typed.h Implemented Generated owning parser for list records (app.bsky.graph.list*)
wolfram/thread_typed.h Implemented Generated owning parser for thread records (app.bsky.feed.defs#thread*)
wolfram/labeler_typed.h Implemented Owned typed parsers + agent wrappers for labeler service coverage (com.atproto.label.queryLabels, app.bsky.labeler.getServices, com.atproto.temp.fetchLabels, service record + policies + label value defs)
wolfram/lexicon_typed.h Implemented Owned parser + agent wrapper for com.atproto.lexicon.resolveLexicon (lexicon document fetch by NSID/version)
wolfram/identity_typed.h Implemented Owned typed parsers + agent wrappers for com.atproto.identity (resolveHandle, resolveDid, updateHandle, getRecommendedDidCredentials, signPlcOperation, submitPlcOperation, resolveIdentity, refreshIdentity) plus a PLC handle-rotation convenience (wf_agent_identity_rotate_handle)
wolfram/notification_v2_typed.h Implemented Owned typed parsers + agent wrappers for app.bsky.notification v2 preferences + activity subscriptions (putPreferencesV2, listActivitySubscriptions, putActivitySubscription)
wolfram/actor_status_typed.h Implemented Owned typed wrappers for app.bsky.actor.status (stored record + #statusView; query/procedure ops are honest stubs — the lexicon defines only a record)
wolfram/video_typed.h Implemented Owned typed parsers + builders + agent wrappers for app.bsky.video, including the current multipart start/finish/abort/status definitions; binary uploadPart uses wf_xrpc_upload_blob_params
wolfram/unspecced_typed.h Implemented Owned typed parsers for app.bsky.unspecced query endpoints (trends, suggested users, thread v2, etc.)
wolfram/temp_typed.h Implemented Owned typed parsers + agent wrappers for com.atproto.temp account/signup helper flows
wolfram/admin_typed.h Implemented Owned typed parsers + agent wrappers for com.atproto.admin PDS/service administration
wolfram/contact_typed.h Implemented Owned typed parsers + agent wrappers for app.bsky.contact (import / phone verification / match discovery)
wolfram/draft_typed.h Implemented Owned typed parser + agent wrappers for app.bsky.draft (post drafts)
wolfram/ageassurance_typed.h Implemented Owned typed parsers + agent wrappers for app.bsky.ageassurance (age verification state)
wolfram/bookmark_typed.h Implemented Owned typed parser + agent wrappers for app.bsky.bookmark (bookmarks)
wolfram/oauth/verify.h Implemented OAuth resource-server token verification (wf_oauth_verify_bearer/_dpop/_request) with DPoP replay cache and trusted-key set
wolfram/sync_publish.h Implemented Firehose event production — builds framed {header}{body} CBOR messages (wf_sync_publish_event/_error), the inverse of sync_subscribe
wolfram/feedgen_server.h Optional libmicrohttpd feed-generator skeleton server serving getFeedSkeleton/getFeedGenerator (WOLFRAM_BUILD_SERVER)
wolfram/relay_server.h Optional libmicrohttpd generic upstream→downstream WebSocket subscription relay (WOLFRAM_BUILD_SERVER)
wolfram/blob_store.h Optional Self-contained blob persistence + serving (in-memory or file-backed); XRPC integration registers uploadBlob/getBlob (WOLFRAM_BUILD_SERVER; core store always built)
wolfram/platform.h Implemented Platform abstraction (init/shutdown, mutex, monotonic time). POSIX + Win32 implemented; Wii/Wii U/3DS ship honest WF_ERR_NOT_IMPLEMENTED stubs
examples/ Implemented Higher-level endpoint examples using generated clients (label query, PLC handle rotation, notification v2, admin search)
tools/wf_lexgen.cpp Implemented Lexicon JSON → typed C declarations, recursive input encoders, endpoint wrappers, and owning output decoders (development-time only; generated output is checked in)