An AT Protocol Personal Data Server written in JavaScript pdsjs.dev
pds atproto

feat(core): serve community.lexicon.service.describe master

One unauthenticated query answering with this service's roles and every XRPC method it routes. Optional endpoints cannot be discovered any other way. atproto publishes no method list, so a client asking whether a server does permissioned data has to call a space method and read the failure, where an absent feature and a broken one look alike. bulleted.app asks this question and reported it could not read the answer, because the endpoint was not here. The list is derived from the route table when the request runs, not kept beside it. It cannot drift, and it names the space methods exactly when spaces are enabled, which is the question being asked. Proxied app.bsky.* methods are absent because they are not routed here; claiming them would describe the AppView's capabilities as this server's. com.atproto.space.getSpace answers alongside the simplespace name. The proposal moved the method between namespaces while implementations were already shipping: the atproto reference PR serves the second, ngerakines.me/atproto-crates the first, and a client that guesses wrong reads the feature as absent. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>


+204 -16
6 changed files