{ "lexicon": 1, "id": "sh.weaver.actor.defs", "defs": { "author": { "type": "object", "description": "A single author in a Weaver notebook.", "required": [ "did" ], "properties": { "did": { "type": "string", "format": "did" }, "signature": { "type": "bytes", "description": "signed bytes of the corresponding notebook record in the author's repo" } } }, "pinnedList": { "type": "array", "items": { "type": "ref", "ref": "com.atproto.repo.strongRef" } }, "profileDataView": { "type": "object", "required": [ "inner" ], "properties": { "collaborationCount": { "type": "integer" }, "entryCount": { "type": "integer" }, "followerCount": { "type": "integer" }, "followingCount": { "type": "integer" }, "inner": { "type": "union", "refs": [ "#profileView", "app.bsky.actor.defs#profileViewDetailed", "#tangledProfileView" ] }, "notebookCount": { "type": "integer" }, "viewer": { "type": "ref", "ref": "#viewerState" } } }, "profileDataViewBasic": { "type": "object", "required": [ "inner" ], "properties": { "followerCount": { "type": "integer" }, "followingCount": { "type": "integer" }, "inner": { "type": "union", "refs": [ "#profileViewBasic", "app.bsky.actor.defs#profileViewBasic", "#tangledProfileView" ] }, "viewer": { "type": "ref", "ref": "#viewerStateBasic" } } }, "profileView": { "type": "object", "required": [ "did", "handle" ], "properties": { "avatar": { "type": "string", "format": "uri" }, "banner": { "type": "string", "format": "uri" }, "bluesky": { "type": "boolean", "description": "Include link to this account on Bluesky." }, "createdAt": { "type": "string", "format": "datetime" }, "description": { "type": "string", "maxLength": 10240, "maxGraphemes": 1024 }, "did": { "type": "string", "format": "did" }, "displayName": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }, "handle": { "type": "string", "format": "handle" }, "indexedAt": { "type": "string", "format": "datetime" }, "labels": { "type": "array", "items": { "type": "ref", "ref": "com.atproto.label.defs#label" } }, "links": { "type": "array", "items": { "type": "string", "description": "Any URI, intended for social profiles or websites, can be used to link DIDs/AT-URIs too.", "format": "uri" }, "minLength": 0, "maxLength": 5 }, "location": { "type": "string", "description": "Free-form location text.", "maxLength": 400, "maxGraphemes": 40 }, "pinned": { "type": "ref", "description": "Notebooks or other records pinned for display.", "ref": "#pinnedList" }, "pronouns": { "type": "ref", "description": "Pronouns to use in user-generated content.", "ref": "#pronounsList" }, "streamplace": { "type": "boolean", "description": "Include link to this account on stream.place." }, "subscribedCount": { "type": "integer" }, "subscriberCount": { "type": "integer" }, "tangled": { "type": "boolean", "description": "Include link to this account on Tangled." } } }, "profileViewBasic": { "type": "object", "required": [ "did", "handle" ], "properties": { "avatar": { "type": "string", "format": "uri" }, "createdAt": { "type": "string", "format": "datetime" }, "did": { "type": "string", "format": "did" }, "displayName": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }, "handle": { "type": "string", "format": "handle" }, "indexedAt": { "type": "string", "format": "datetime" }, "labels": { "type": "array", "items": { "type": "ref", "ref": "com.atproto.label.defs#label" } }, "pronouns": { "type": "ref", "description": "Pronouns to use in user-generated content.", "ref": "#pronounsList" } } }, "pronounsList": { "type": "array", "items": { "type": "string", "maxLength": 500, "maxGraphemes": 50, "knownValues": [ "she/her", "he/him", "they/them", "it/its", "she/they", "he/they", "they/he", "they/she", "any/all" ] }, "maxLength": 5 }, "subscribedNotebook": { "type": "object", "description": "A notebook the viewer subscribes to without a global follow.", "required": [ "uri" ], "properties": { "path": { "type": "string" }, "title": { "type": "string" }, "uri": { "type": "string", "format": "at-uri" } } }, "tangledProfileView": { "type": "object", "required": [ "bluesky", "did", "handle" ], "properties": { "bluesky": { "type": "boolean", "description": "Include link to this account on Bluesky." }, "description": { "type": "string", "description": "Free-form profile description text.", "maxLength": 2560, "maxGraphemes": 256 }, "did": { "type": "string", "format": "did" }, "handle": { "type": "string", "format": "handle" }, "links": { "type": "array", "items": { "type": "string", "description": "Any URI, intended for social profiles or websites, can be used to link DIDs/AT-URIs too.", "format": "uri" }, "minLength": 0, "maxLength": 5 }, "location": { "type": "string", "description": "Free-form location text.", "maxLength": 400, "maxGraphemes": 40 }, "pinnedRepositories": { "type": "array", "description": "Any ATURI, it is up to appviews to validate these fields.", "items": { "type": "string", "format": "at-uri" }, "minLength": 0, "maxLength": 6 }, "stats": { "type": "array", "items": { "type": "string", "description": "Vanity stats.", "enum": [ "merged-pull-request-count", "closed-pull-request-count", "open-pull-request-count", "open-issue-count", "closed-issue-count", "repository-count" ] }, "minLength": 0, "maxLength": 2 } } }, "viewerState": { "type": "object", "description": "Viewer's relationship state with an actor (detailed version).", "properties": { "blocked": { "type": "string", "format": "at-uri" }, "blockedBy": { "type": "boolean" }, "followRequested": { "type": "string", "format": "at-uri" }, "followRequestedBy": { "type": "string", "format": "at-uri" }, "followedBy": { "type": "string", "format": "at-uri" }, "following": { "type": "string", "format": "at-uri" }, "muted": { "type": "string", "format": "at-uri" }, "subscribedNotebooks": { "type": "array", "items": { "type": "ref", "ref": "#subscribedNotebook" } } } }, "viewerStateBasic": { "type": "object", "description": "Viewer's relationship state with an actor (basic version).", "properties": { "blocked": { "type": "string", "format": "at-uri" }, "blockedBy": { "type": "boolean" }, "followRequested": { "type": "string", "format": "at-uri" }, "followRequestedBy": { "type": "string", "format": "at-uri" }, "followedBy": { "type": "string", "format": "at-uri" }, "following": { "type": "string", "format": "at-uri" }, "muted": { "type": "string", "format": "at-uri" }, "subscribedNotebookCount": { "type": "integer" } } } } }