Liking cljdoc? Tell your friends :D

rocksky.core

Native core bindings for Rocksky.

JVM Panama (java.lang.foreign) bindings to the shared Rust core's C ABI (crates/rocksky-uniffi). AT Protocol PDS writes (scrobble fan-out, like, follow, shout), AppView reads, and the identity hashes shared across every Rocksky SDK. This is the write + dedup side; rocksky.client is the read/HTTP side. Requires JDK 22+ (run with --enable-native-access=ALL-UNNAMED).

Native core bindings for Rocksky.

JVM Panama (java.lang.foreign) bindings to the shared Rust core's C ABI
(crates/rocksky-uniffi). AT Protocol PDS writes (scrobble fan-out, like,
follow, shout), AppView reads, and the identity hashes shared across every
Rocksky SDK. This is the write + dedup side; `rocksky.client` is the read/HTTP
side. Requires JDK 22+ (run with --enable-native-access=ALL-UNNAMED).
raw docstring

agent-closeclj

(agent-close agent)

Release an agent's native handle.

Release an agent's native handle.
sourceraw docstring

catalog-albumsclj

(catalog-albums)
(catalog-albums {:keys [base] :as opts})

Browse the album catalog (app.rocksky.album.getAlbums). opts may contain :limit (default 50), :offset (default 0), :genre, :filter (an rsql node or RSQL string) and :base.

Browse the album catalog (app.rocksky.album.getAlbums). `opts` may contain
:limit (default 50), :offset (default 0), :genre, :filter (an rsql node or
RSQL string) and :base.
sourceraw docstring

catalog-artistsclj

(catalog-artists)
(catalog-artists {:keys [base] :as opts})

Browse the artist catalog (app.rocksky.artist.getArtists). opts may contain :limit (default 50), :offset (default 0), :genre, :filter (an rsql node or RSQL string) and :base.

Browse the artist catalog (app.rocksky.artist.getArtists). `opts` may
contain :limit (default 50), :offset (default 0), :genre, :filter (an rsql
node or RSQL string) and :base.
sourceraw docstring

catalog-songsclj

(catalog-songs)
(catalog-songs {:keys [base] :as opts})

Browse the song catalog (app.rocksky.song.getSongs). opts may contain :limit (default 50), :offset (default 0), :genre, :filter (an rsql node or RSQL string) and :base.

(catalog-songs {:limit 10 :filter (rsql/eq :artist "Daft Punk")})

Browse the song catalog (app.rocksky.song.getSongs). `opts` may contain
:limit (default 50), :offset (default 0), :genre, :filter (an rsql node or
RSQL string) and :base.

  (catalog-songs {:limit 10 :filter (rsql/eq :artist "Daft Punk")})
sourceraw docstring

followclj

(follow agent did)
source

global-statsclj

(global-stats)
(global-stats base)

Platform-wide totals.

Platform-wide totals.
sourceraw docstring

hydrate-from-jetstreamclj

(hydrate-from-jetstream agent)

Keep the local dedup index hydrated from Jetstream in the background.

Keep the local dedup index hydrated from Jetstream in the background.
sourceraw docstring

library-getclj

(library-get token nsid params)
(library-get token nsid params base)

Authenticated app.rocksky.library.* query escape hatch. token is required — every library call is auth-gated. params is a map (camelCase keyword keys).

Authenticated app.rocksky.library.* query escape hatch. `token` is required —
every library call is auth-gated. `params` is a map (camelCase keyword keys).
sourceraw docstring

library-postclj

(library-post token nsid body)
(library-post token nsid body base)

Authenticated app.rocksky.library.* procedure escape hatch. token is required. body is a map (camelCase keyword keys).

Authenticated app.rocksky.library.* procedure escape hatch. `token` is
required. `body` is a map (camelCase keyword keys).
sourceraw docstring

likeclj

(like agent uri cid)
source

loginclj

(login session-path identifier password & {:keys [appview dedup-path]})

Log in with an app password, persisting the session at session-path.

Log in with an app password, persisting the session at `session-path`.
sourceraw docstring

match-songclj

(match-song title artist)
(match-song title artist album)
(match-song title artist album mb-id isrc base)

Resolve full canonical metadata for a bare title + artist (matchSong). album steers the match toward that release (case-insensitive) so a remaster/live/single edition doesn't shadow the intended album.

Resolve full canonical metadata for a bare title + artist (matchSong).
`album` steers the match toward that release (case-insensitive) so a
remaster/live/single edition doesn't shadow the intended album.
sourceraw docstring

notificationsclj

(notifications token)
(notifications token opts)
(notifications token opts base)

The authenticated viewer's notifications, most recent first. token is required; opts may contain :limit (default 30) and :cursor. Returns {"notifications" [...] "unreadCount" n "cursor" c?}.

The authenticated viewer's notifications, most recent first. `token` is
required; `opts` may contain :limit (default 30) and :cursor. Returns
{"notifications" [...] "unreadCount" n "cursor" c?}.
sourceraw docstring

procedureclj

(procedure nsid params)
(procedure nsid params base)
(procedure nsid params base token)

Universal write escape hatch — call any app.rocksky.* procedure whose arguments ride the query string. Most are auth-gated, so pass token.

(procedure "app.rocksky.playlist.removePlaylist" {:uri uri} nil token)

Universal write escape hatch — call any app.rocksky.* procedure whose
arguments ride the query string. Most are auth-gated, so pass `token`.

  (procedure "app.rocksky.playlist.removePlaylist" {:uri uri} nil token)
sourceraw docstring

profileclj

(profile actor)
(profile actor base)

An actor's detailed profile.

An actor's detailed profile.
sourceraw docstring

queryclj

(query nsid params)
(query nsid params base)
(query nsid params base token)

Universal read escape hatch — call any app.rocksky.* query by nsid. params is a map of string params; the whole read-query catalog is reachable here.

(query "app.rocksky.album.getAlbum" {:uri uri}) (query "app.rocksky.charts.getScrobblesChart" {:did did})

Universal read escape hatch — call any app.rocksky.* query by nsid. `params`
is a map of string params; the whole read-query catalog is reachable here.

  (query "app.rocksky.album.getAlbum" {:uri uri})
  (query "app.rocksky.charts.getScrobblesChart" {:did did})
sourceraw docstring

refresh-sessionclj

(refresh-session agent)
source

reply-shout-with-gifclj

(reply-shout-with-gif agent
                      subject-uri
                      subject-cid
                      parent-uri
                      parent-cid
                      message
                      gif)

Reply to a shout with an optional GIF/sticker/clip (see shout-with-gif), plus a parent strong-ref (parent-uri/parent-cid).

Reply to a shout with an optional GIF/sticker/clip (see shout-with-gif), plus
a parent strong-ref (`parent-uri`/`parent-cid`).
sourceraw docstring

scrobbleclj

(scrobble agent track)

Scrobble a play (fans out to artist/album/song/scrobble). Returns the URIs.

Scrobble a play (fans out to artist/album/song/scrobble). Returns the URIs.
sourceraw docstring

scrobble-feedclj

(scrobble-feed)
(scrobble-feed {:keys [base] :as opts})

The global scrobble feed (app.rocksky.scrobble.getScrobbles). opts may contain :did (narrow to one user), :following (boolean), :limit (default 50), :offset (default 0), :filter (an rsql node or RSQL string — dotted selectors like :track.artist reach the joined entities) and :base.

(scrobble-feed {:filter (rsql/eq :track.artist "Daft Punk")})

The global scrobble feed (app.rocksky.scrobble.getScrobbles). `opts` may
contain :did (narrow to one user), :following (boolean), :limit (default
50), :offset (default 0), :filter (an rsql node or RSQL string — dotted
selectors like :track.artist reach the joined entities) and :base.

  (scrobble-feed {:filter (rsql/eq :track.artist "Daft Punk")})
sourceraw docstring

scrobble-matchclj

(scrobble-match agent input)

Scrobble from a title + artist. input is a map with camelCase keys: required :title/:artist; optional :album, :mbId, :isrc (match anchors) and :timestamp (scrobbled-at Unix seconds, default now). Resolves full metadata via matchSong, then fans out.

Scrobble from a title + artist. `input` is a map with camelCase keys: required
:title/:artist; optional :album, :mbId, :isrc (match anchors) and :timestamp
(scrobbled-at Unix seconds, default now). Resolves full metadata via matchSong,
then fans out.
sourceraw docstring

scrobblesclj

(scrobbles actor limit)
(scrobbles actor limit offset base)

An actor's scrobbles, newest first.

An actor's scrobbles, newest first.
sourceraw docstring

shoutclj

(shout agent subject-uri subject-cid message)
source

shout-with-gifclj

(shout-with-gif agent subject-uri subject-cid message gif)

Post a shout with an optional GIF/sticker/clip. Pass at least one of message / gif (a map: :url required, plus :previewUrl :alt :width :height).

Post a shout with an optional GIF/sticker/clip. Pass at least one of `message`
/ `gif` (a map: :url required, plus :previewUrl :alt :width :height).
sourceraw docstring

song-hashclj

(song-hash title artist album)

Identity hash of a song — identical across every Rocksky SDK.

Identity hash of a song — identical across every Rocksky SDK.
sourceraw docstring

sync-repoclj

(sync-repo agent)

Download the caller's repo and (re)build the local dedup index (needs a :dedup-path at login). Returns the per-collection counts.

Download the caller's repo and (re)build the local dedup index (needs a
:dedup-path at login). Returns the per-collection counts.
sourceraw docstring

top-artists-intervalclj

(top-artists-interval limit offset interval)
(top-artists-interval limit offset interval base)

Top artists chart over a typed date window (see top-tracks-interval).

Top artists chart over a typed date window (see `top-tracks-interval`).
sourceraw docstring

top-tracksclj

(top-tracks limit)
(top-tracks limit offset)
(top-tracks limit offset base)

Platform-wide top tracks chart. base overrides the AppView URL.

Platform-wide top tracks chart. `base` overrides the AppView URL.
sourceraw docstring

top-tracks-intervalclj

(top-tracks-interval limit offset interval)
(top-tracks-interval limit offset interval base)

Top tracks chart over a typed date window (see interval-parts for the shape).

Top tracks chart over a typed date window (see `interval-parts` for the shape).
sourceraw docstring

unread-countclj

(unread-count token)
(unread-count token base)

The authenticated viewer's unread-notification count. Returns {"count" n}. token is required.

The authenticated viewer's unread-notification count. Returns
{"count" n}. `token` is required.
sourceraw docstring

update-seenclj

(update-seen token ids)
(update-seen token ids base)

Mark notifications as viewed. ids is a vector of notification ids, or [] to mark all. token is required. Returns {"unreadCount" n}.

Mark notifications as viewed. `ids` is a vector of notification ids, or [] to
mark all. `token` is required. Returns {"unreadCount" n}.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close