af7d3912a3
* lexicon: initial starter pack record lexicons * lexicon: first pass on views for starter packs * lexicon: add starter pack query endpoints, misc fixes * lexicon: add starter pack related fields to profile views * lexicon: codegen * api prerelease * bsky: protos for starter packs * appview: implement starter pack endpoints in dataplane, protos update * appview: starter pack hydration and view, mock dataplane indexing * appview: wire-up starter pack graph endpoints * appview: test basic starter packs functionality, update dev-env * fix snaps for profile createdAt * appview: fix list item count for starter packs in dataplane * fix ozone snaps, tidy * appview: reorg list aggs for starter packs * appview: starter pack lexicon and proto tweaks, move around aggregations * appview: fix views and snaps * api prerelease * fix snaps * appview: misc proto updates for starter packs, snaps * appview: add starter pack counts to profile detail * build * api prerelease * pds: starter pack slur detection * lexicon: starter pack notifications and batch fetch * appview: starter pack notification and batch fetch * appview: add starterpack-joined notif to dataplane and test * api prerelease * ozone: fix snaps * pds build * ✨ Proxy starterpack requests through ozone and include takedowns (#2594) * ✨ Proxy starterpack requests through ozone and include takedowns * 🧹 Cleanup * ✅ Commit snapshots * ✅ Update snapshot * lexicon: move starterpacks back to TIDs * changeset --------- Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz>
167 lines
5.9 KiB
JSON
167 lines
5.9 KiB
JSON
{
|
|
"lexicon": 1,
|
|
"id": "app.bsky.graph.defs",
|
|
"defs": {
|
|
"listViewBasic": {
|
|
"type": "object",
|
|
"required": ["uri", "cid", "name", "purpose"],
|
|
"properties": {
|
|
"uri": { "type": "string", "format": "at-uri" },
|
|
"cid": { "type": "string", "format": "cid" },
|
|
"name": { "type": "string", "maxLength": 64, "minLength": 1 },
|
|
"purpose": { "type": "ref", "ref": "#listPurpose" },
|
|
"avatar": { "type": "string", "format": "uri" },
|
|
"listItemCount": { "type": "integer", "minimum": 0 },
|
|
"labels": {
|
|
"type": "array",
|
|
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
|
|
},
|
|
"viewer": { "type": "ref", "ref": "#listViewerState" },
|
|
"indexedAt": { "type": "string", "format": "datetime" }
|
|
}
|
|
},
|
|
"listView": {
|
|
"type": "object",
|
|
"required": ["uri", "cid", "creator", "name", "purpose", "indexedAt"],
|
|
"properties": {
|
|
"uri": { "type": "string", "format": "at-uri" },
|
|
"cid": { "type": "string", "format": "cid" },
|
|
"creator": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" },
|
|
"name": { "type": "string", "maxLength": 64, "minLength": 1 },
|
|
"purpose": { "type": "ref", "ref": "#listPurpose" },
|
|
"description": {
|
|
"type": "string",
|
|
"maxGraphemes": 300,
|
|
"maxLength": 3000
|
|
},
|
|
"descriptionFacets": {
|
|
"type": "array",
|
|
"items": { "type": "ref", "ref": "app.bsky.richtext.facet" }
|
|
},
|
|
"avatar": { "type": "string", "format": "uri" },
|
|
"listItemCount": { "type": "integer", "minimum": 0 },
|
|
"labels": {
|
|
"type": "array",
|
|
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
|
|
},
|
|
"viewer": { "type": "ref", "ref": "#listViewerState" },
|
|
"indexedAt": { "type": "string", "format": "datetime" }
|
|
}
|
|
},
|
|
"listItemView": {
|
|
"type": "object",
|
|
"required": ["uri", "subject"],
|
|
"properties": {
|
|
"uri": { "type": "string", "format": "at-uri" },
|
|
"subject": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" }
|
|
}
|
|
},
|
|
"starterPackView": {
|
|
"type": "object",
|
|
"required": ["uri", "cid", "record", "creator", "indexedAt"],
|
|
"properties": {
|
|
"uri": { "type": "string", "format": "at-uri" },
|
|
"cid": { "type": "string", "format": "cid" },
|
|
"record": { "type": "unknown" },
|
|
"creator": {
|
|
"type": "ref",
|
|
"ref": "app.bsky.actor.defs#profileViewBasic"
|
|
},
|
|
"list": { "type": "ref", "ref": "#listViewBasic" },
|
|
"listItemsSample": {
|
|
"type": "array",
|
|
"maxLength": 12,
|
|
"items": { "type": "ref", "ref": "#listItemView" }
|
|
},
|
|
"feeds": {
|
|
"type": "array",
|
|
"maxLength": 3,
|
|
"items": { "type": "ref", "ref": "app.bsky.feed.defs#generatorView" }
|
|
},
|
|
"joinedWeekCount": { "type": "integer", "minimum": 0 },
|
|
"joinedAllTimeCount": { "type": "integer", "minimum": 0 },
|
|
"labels": {
|
|
"type": "array",
|
|
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
|
|
},
|
|
"indexedAt": { "type": "string", "format": "datetime" }
|
|
}
|
|
},
|
|
"starterPackViewBasic": {
|
|
"type": "object",
|
|
"required": ["uri", "cid", "record", "creator", "indexedAt"],
|
|
"properties": {
|
|
"uri": { "type": "string", "format": "at-uri" },
|
|
"cid": { "type": "string", "format": "cid" },
|
|
"record": { "type": "unknown" },
|
|
"creator": {
|
|
"type": "ref",
|
|
"ref": "app.bsky.actor.defs#profileViewBasic"
|
|
},
|
|
"listItemCount": { "type": "integer", "minimum": 0 },
|
|
"joinedWeekCount": { "type": "integer", "minimum": 0 },
|
|
"joinedAllTimeCount": { "type": "integer", "minimum": 0 },
|
|
"labels": {
|
|
"type": "array",
|
|
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
|
|
},
|
|
"indexedAt": { "type": "string", "format": "datetime" }
|
|
}
|
|
},
|
|
"listPurpose": {
|
|
"type": "string",
|
|
"knownValues": [
|
|
"app.bsky.graph.defs#modlist",
|
|
"app.bsky.graph.defs#curatelist",
|
|
"app.bsky.graph.defs#referencelist"
|
|
]
|
|
},
|
|
"modlist": {
|
|
"type": "token",
|
|
"description": "A list of actors to apply an aggregate moderation action (mute/block) on."
|
|
},
|
|
"curatelist": {
|
|
"type": "token",
|
|
"description": "A list of actors used for curation purposes such as list feeds or interaction gating."
|
|
},
|
|
"referencelist": {
|
|
"type": "token",
|
|
"description": "A list of actors used for only for reference purposes such as within a starter pack."
|
|
},
|
|
"listViewerState": {
|
|
"type": "object",
|
|
"properties": {
|
|
"muted": { "type": "boolean" },
|
|
"blocked": { "type": "string", "format": "at-uri" }
|
|
}
|
|
},
|
|
"notFoundActor": {
|
|
"type": "object",
|
|
"description": "indicates that a handle or DID could not be resolved",
|
|
"required": ["actor", "notFound"],
|
|
"properties": {
|
|
"actor": { "type": "string", "format": "at-identifier" },
|
|
"notFound": { "type": "boolean", "const": true }
|
|
}
|
|
},
|
|
"relationship": {
|
|
"type": "object",
|
|
"description": "lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)",
|
|
"required": ["did"],
|
|
"properties": {
|
|
"did": { "type": "string", "format": "did" },
|
|
"following": {
|
|
"type": "string",
|
|
"format": "at-uri",
|
|
"description": "if the actor follows this DID, this is the AT-URI of the follow record"
|
|
},
|
|
"followedBy": {
|
|
"type": "string",
|
|
"format": "at-uri",
|
|
"description": "if the actor is followed by this DID, contains the AT-URI of the follow record"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|