Atproto
@wendy/atprotov2026.04.12.1
01README
AT Protocol / Bluesky extension for swamp. Manage posts, likes, reposts, follows, blocks, mutes, notifications, and more via the Bluesky XRPC API. Supports image, video, and link card embeds.
02Models
@wendy/atprotov2026.04.12.1atproto.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| handle | string | AT Protocol handle, e.g. user.bsky.social |
| appPassword | string | App password generated in Bluesky Settings → Privacy & Security → App Passwords |
| pdsUrl | string | PDS base URL. Defaults to https://bsky.social; override for custom PDS hosts. |
fn audit()
Count all records per collection without deleting anything. Run this before purge to see what will be removed.
fn purge(_sleep?: any)
Delete activity records. Deletes all collections by default; pass `collections` to target specific ones. Rate-limit aware with automatic backoff on 429 responses.
| Argument | Type | Description |
|---|---|---|
| _sleep? | any |
fn createPost(text: string, quotePost?: string)
Create a text post. Supports replies, quote-posts, @mention and URL facets, and language tags. For posts with images, video, or link cards use createPostWithMedia.
| Argument | Type | Description |
|---|---|---|
| text | string | Post text (max 300 characters) |
| quotePost? | string | AT URI of the post to quote-embed |
fn createPostWithMedia(text: string, images?: array, replyTo?: string, quotePost?: string, languages?: array, _readFile?: any)
Create a post with attached media. Reads files from disk, uploads blobs, and creates the post record in one step. Supports up to 4 images, a single video, or an external link card. Combine with replyTo or quotePost to thread or quote.
| Argument | Type | Description |
|---|---|---|
| text | string | Post text (max 300 characters) |
| images? | array | Up to 4 images to attach (JPEG, PNG, GIF, WEBP). Mutually exclusive with video and link. |
| replyTo? | string | AT URI of the post to reply to, e.g. at://did:.../app.bsky.feed.post/rkey |
| quotePost? | string | AT URI of the post to quote-embed |
| languages? | array | BCP-47 language codes, e.g. ["en"] |
| _readFile? | any |
fn deletePost()
Delete a specific post by its AT URI.
fn getPosts()
Fetch one or more posts by AT URI (max 25 per call).
fn getProfile()
Fetch a user profile. Defaults to the authenticated account if no actor is specified.
fn updateProfile()
Update your profile's display name and/or description. Fields not provided are left unchanged.
fn getTimeline()
Fetch the authenticated account's home timeline.
fn follow(target: string)
Follow a user by handle or DID.
| Argument | Type | Description |
|---|---|---|
| target | string | Handle or DID of the account to follow |
fn unfollow(target: string)
Unfollow a user by handle or DID.
| Argument | Type | Description |
|---|---|---|
| target | string | Handle or DID of the account to unfollow |
fn getFollowers()
Fetch accounts that follow a user. Defaults to the authenticated account.
fn getFollowing()
Fetch accounts that a user follows. Defaults to the authenticated account.
fn like(uri: string)
Like a post by its AT URI.
| Argument | Type | Description |
|---|---|---|
| uri | string | AT URI of the post to like |
fn unlike(uri: string)
Remove a like from a post by its AT URI.
| Argument | Type | Description |
|---|---|---|
| uri | string | AT URI of the post to unlike |
fn repost(uri: string)
Repost a post by its AT URI.
| Argument | Type | Description |
|---|---|---|
| uri | string | AT URI of the post to repost |
fn unrepost(uri: string)
Remove a repost by its original post AT URI.
| Argument | Type | Description |
|---|---|---|
| uri | string | AT URI of the original post to un-repost |
fn searchPosts(query: string, cursor?: string)
Search posts by keyword. Optionally filter by author.
| Argument | Type | Description |
|---|---|---|
| query | string | Search query text |
| cursor? | string | Pagination cursor from a previous search |
fn searchActors(query: string, cursor?: string)
Search for users by handle or display name.
| Argument | Type | Description |
|---|---|---|
| query | string | Search query (handle fragment or display name) |
| cursor? | string | Pagination cursor from a previous search |
fn getNotifications()
Fetch notifications (likes, follows, replies, reposts, mentions). Optionally marks them as seen.
fn getUnreadCount()
Fetch the number of unread notifications.
fn putNotificationPreferences()
Update notification preferences. Set priority to true to receive only high-signal notifications (replies and mentions from accounts you follow).
fn mute(target: string)
Mute a user by handle or DID. Mutes are private and not visible to the muted account.
| Argument | Type | Description |
|---|---|---|
| target | string | Handle or DID of the account to mute |
fn unmute(target: string)
Unmute a user by handle or DID.
| Argument | Type | Description |
|---|---|---|
| target | string | Handle or DID of the account to unmute |
fn block(target: string)
Block a user by handle or DID. Blocks are public records.
| Argument | Type | Description |
|---|---|---|
| target | string | Handle or DID of the account to block |
fn unblock(target: string)
Remove a block on a user by handle or DID.
| Argument | Type | Description |
|---|---|---|
| target | string | Handle or DID of the account to unblock |
fn getLikes(uri: string, cursor?: string)
Fetch the list of actors who liked a post.
| Argument | Type | Description |
|---|---|---|
| uri | string | AT URI of the post |
| cursor? | string | Pagination cursor from a previous getLikes call |
fn getReposts(uri: string)
Fetch the list of actors who reposted a post.
| Argument | Type | Description |
|---|---|---|
| uri | string | AT URI of the post |
fn createList(name: string)
Create a new list. Purpose: curatelist (recommendation/subscription), modlist (mute/block), or referencelist.
| Argument | Type | Description |
|---|---|---|
| name | string | List name (max 64 characters) |
fn deleteList()
Delete a list by its AT URI.
fn getList(uri: string)
Fetch a list and its members by AT URI.
| Argument | Type | Description |
|---|---|---|
| uri | string | AT URI of the list |
fn getLists()
Fetch lists belonging to an actor. Defaults to the authenticated account.
fn addListItem(list: string)
Add a user to a list.
| Argument | Type | Description |
|---|---|---|
| list | string | AT URI of the list |
fn removeListItem(list: string)
Remove a user from a list.
| Argument | Type | Description |
|---|---|---|
| list | string | AT URI of the list |
Resources
sessionCache(2h)— Cached authentication session. Reused between method invocations to avoid redundant createSession API calls and stay under rate limits.
auditResult(infinite)— Record counts per collection (non-destructive snapshot)
purgeResult(infinite)— Summary of a completed purge operation
post(infinite)— A post created via createPost or createPostWithMedia
profile(7d)— A fetched AT Protocol user profile
timeline(1h)— Home timeline snapshot
followRecord(infinite)— A follow relationship created by the follow method
likeRecord(infinite)— A like created by the like method
repostRecord(infinite)— A repost created by the repost method
blockRecord(infinite)— A block created by the block method
postSearchResult(1h)— Post search results
actorSearchResult(1h)— Actor (user) search results
notifications(1h)— Fetched notifications
notificationUnreadCount(15m)— Number of unread notifications
likesResult(1h)— Actors who liked a post
repostsResult(1h)— Actors who reposted a post
profileUpdate(infinite)— Result of a profile update operation
postsResult(1h)— Batch post lookup results
followersResult(1h)— Accounts following a user
followingResult(1h)— Accounts a user follows
listRecord(infinite)— A list created by the createList method
listItemRecord(infinite)— A list membership record created by addListItem
listResult(1h)— A fetched list with its members
listsResult(1h)— Lists belonging to an actor
03Previous Versions
2026.04.11.9Apr 12, 2026
Modified 1 models
2026.04.11.8Apr 12, 2026
updated labels
2026.04.11.7Apr 12, 2026
Modified 1 models
2026.04.11.6Apr 12, 2026
Modified 1 models. updated labels
2026.04.11.5Apr 12, 2026
Modified 1 models
2026.04.11.4Apr 12, 2026
updated labels
2026.04.11.3Apr 12, 2026
updated labels
2026.04.11.2Apr 12, 2026
2026.04.11.1Apr 12, 2026
04Stats
Downloads
4
Archive size
30.5 KB
Not yet scored.
A score will be generated the next time this extension is published. The owner can also trigger scoring manually.
05Platforms
06Labels