Skip to main content

Atproto

@wendy/atprotov2026.04.12.1· 1mo agoMODELS
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.

02Models1
@wendy/atprotov2026.04.12.1atproto.ts

Global Arguments

ArgumentTypeDescription
handlestringAT Protocol handle, e.g. user.bsky.social
appPasswordstringApp password generated in Bluesky Settings → Privacy & Security → App Passwords
pdsUrlstringPDS 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.
ArgumentTypeDescription
_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.
ArgumentTypeDescription
textstringPost text (max 300 characters)
quotePost?stringAT 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.
ArgumentTypeDescription
textstringPost text (max 300 characters)
images?arrayUp to 4 images to attach (JPEG, PNG, GIF, WEBP). Mutually exclusive with video and link.
replyTo?stringAT URI of the post to reply to, e.g. at://did:.../app.bsky.feed.post/rkey
quotePost?stringAT URI of the post to quote-embed
languages?arrayBCP-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.
ArgumentTypeDescription
targetstringHandle or DID of the account to follow
fn unfollow(target: string)
Unfollow a user by handle or DID.
ArgumentTypeDescription
targetstringHandle 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.
ArgumentTypeDescription
uristringAT URI of the post to like
fn unlike(uri: string)
Remove a like from a post by its AT URI.
ArgumentTypeDescription
uristringAT URI of the post to unlike
fn repost(uri: string)
Repost a post by its AT URI.
ArgumentTypeDescription
uristringAT URI of the post to repost
fn unrepost(uri: string)
Remove a repost by its original post AT URI.
ArgumentTypeDescription
uristringAT URI of the original post to un-repost
fn searchPosts(query: string, cursor?: string)
Search posts by keyword. Optionally filter by author.
ArgumentTypeDescription
querystringSearch query text
cursor?stringPagination cursor from a previous search
fn searchActors(query: string, cursor?: string)
Search for users by handle or display name.
ArgumentTypeDescription
querystringSearch query (handle fragment or display name)
cursor?stringPagination 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.
ArgumentTypeDescription
targetstringHandle or DID of the account to mute
fn unmute(target: string)
Unmute a user by handle or DID.
ArgumentTypeDescription
targetstringHandle or DID of the account to unmute
fn block(target: string)
Block a user by handle or DID. Blocks are public records.
ArgumentTypeDescription
targetstringHandle or DID of the account to block
fn unblock(target: string)
Remove a block on a user by handle or DID.
ArgumentTypeDescription
targetstringHandle or DID of the account to unblock
fn getLikes(uri: string, cursor?: string)
Fetch the list of actors who liked a post.
ArgumentTypeDescription
uristringAT URI of the post
cursor?stringPagination cursor from a previous getLikes call
fn getReposts(uri: string)
Fetch the list of actors who reposted a post.
ArgumentTypeDescription
uristringAT URI of the post
fn createList(name: string)
Create a new list. Purpose: curatelist (recommendation/subscription), modlist (mute/block), or referencelist.
ArgumentTypeDescription
namestringList 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.
ArgumentTypeDescription
uristringAT 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.
ArgumentTypeDescription
liststringAT URI of the list
fn removeListItem(list: string)
Remove a user from a list.
ArgumentTypeDescription
liststringAT 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 Versions9
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