appBskyEmbedExternal top-level constant

Map<String, dynamic> const appBskyEmbedExternal

app.bsky.embed.external

Implementation

const appBskyEmbedExternal = <String, dynamic>{
  "lexicon": 1,
  "id": "app.bsky.embed.external",
  "defs": {
    "main": {
      "type": "object",
      "description":
          "A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).",
      "required": ["external"],
      "properties": {
        "external": {"type": "ref", "ref": "#external"},
      },
    },
    "external": {
      "type": "object",
      "required": ["uri", "title", "description"],
      "properties": {
        "uri": {"type": "string", "format": "uri"},
        "title": {"type": "string"},
        "description": {"type": "string"},
        "thumb": {
          "type": "blob",
          "accept": ["image/*"],
          "maxSize": 1000000,
        },
        "associatedRefs": {
          "type": "array",
          "description":
              "StrongRefs (uri+cid) of the Atmosphere records that backed this view.",
          "items": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
        },
      },
    },
    "view": {
      "type": "object",
      "required": ["external"],
      "properties": {
        "external": {"type": "ref", "ref": "#viewExternal"},
      },
    },
    "viewExternal": {
      "type": "object",
      "required": ["uri", "title", "description"],
      "properties": {
        "uri": {"type": "string", "format": "uri"},
        "title": {"type": "string"},
        "description": {"type": "string"},
        "thumb": {"type": "string", "format": "uri"},
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description":
              "When the external content was created, if available. Example: a publication date, for an article.",
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the external content was updated, if available.",
        },
        "readingTime": {
          "type": "integer",
          "description":
              "Estimated reading time in minutes, if applicable and available.",
        },
        "labels": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.label.defs#label"},
        },
        "source": {"type": "ref", "ref": "#viewExternalSource"},
        "associatedRefs": {
          "type": "array",
          "description":
              "StrongRefs (uri+cid) of the Atmosphere records that backed this view.",
          "items": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
        },
        "associatedProfiles": {
          "type": "array",
          "description":
              "Profiles of the owners of the Atmosphere records that backed this view.",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
        },
      },
    },
    "viewExternalSource": {
      "type": "object",
      "description":
          "The source of an external embed, such as a standard.site publication.",
      "required": ["uri", "title"],
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri",
          "description":
              "URI of the source, if available. Example: the https:// URL of a site.standard.publication record.",
        },
        "icon": {
          "type": "string",
          "format": "uri",
          "description":
              "Fully-qualified URL where an icon representing the source can be fetched. For example, CDN location provided by the App View.",
        },
        "title": {"type": "string"},
        "description": {"type": "string"},
        "theme": {"type": "ref", "ref": "#viewExternalSourceTheme"},
      },
    },
    "viewExternalSourceTheme": {
      "type": "object",
      "description":
          "The theme colors of an external source, such as a site.standard.publication. These colors may be used when rendering an embed from that source.",
      "properties": {
        "backgroundRGB": {"type": "ref", "ref": "#colorRGB"},
        "foregroundRGB": {"type": "ref", "ref": "#colorRGB"},
        "accentRGB": {"type": "ref", "ref": "#colorRGB"},
        "accentForegroundRGB": {"type": "ref", "ref": "#colorRGB"},
      },
    },
    "colorRGB": {
      "type": "object",
      "description":
          "RGB color definition, inspired by site.standard.theme.color#rgb",
      "required": ["r", "g", "b"],
      "properties": {
        "r": {"type": "integer", "minimum": 0, "maximum": 255},
        "g": {"type": "integer", "minimum": 0, "maximum": 255},
        "b": {"type": "integer", "minimum": 0, "maximum": 255},
      },
    },
    "viewArticle": {
      "type": "object",
      "required": ["uri", "title", "description"],
      "properties": {
        "uri": {"type": "string", "format": "uri"},
        "title": {"type": "string"},
        "description": {"type": "string"},
        "createdAt": {"type": "string", "format": "datetime"},
        "updatedAt": {"type": "string", "format": "datetime"},
        "labels": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.label.defs#label"},
        },
        "associatedRefs": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
        },
        "associatedProfiles": {
          "type": "array",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
        },
        "image": {"type": "string", "format": "uri"},
        "publisher": {"type": "ref", "ref": "#viewArticlePublication"},
        "readingTime": {"type": "integer", "minimum": 1},
        "likeCount": {"type": "integer", "minimum": 0},
        "likers": {
          "type": "array",
          "description":
              "Available profile previews. Selected deterministically by DID; not a ranking.",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
          "maxLength": 3,
        },
      },
    },
    "viewArticlePublication": {
      "type": "object",
      "required": ["uri", "title", "description"],
      "properties": {
        "uri": {"type": "string", "format": "uri"},
        "title": {"type": "string"},
        "description": {"type": "string"},
        "createdAt": {"type": "string", "format": "datetime"},
        "updatedAt": {"type": "string", "format": "datetime"},
        "labels": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.label.defs#label"},
        },
        "associatedRefs": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
        },
        "associatedProfiles": {
          "type": "array",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
        },
        "logo": {"type": "string", "format": "uri"},
        "image": {"type": "string", "format": "uri"},
        "theme": {"type": "ref", "ref": "#viewArticlePublicationTheme"},
        "subscriptionCount": {"type": "integer", "minimum": 0},
        "subscribers": {
          "type": "array",
          "description":
              "Available profile previews. Selected deterministically by DID; not a ranking.",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
          "maxLength": 3,
        },
      },
    },
    "viewArticlePublicationTheme": {
      "type": "object",
      "properties": {
        "background": {
          "type": "string",
          "description": "Hex color string, if available. Example: '#ffffff'.",
        },
        "foreground": {
          "type": "string",
          "description": "Hex color string, if available. Example: '#ffffff'.",
        },
        "accent": {
          "type": "string",
          "description": "Hex color string, if available. Example: '#ffffff'.",
        },
        "accentForeground": {
          "type": "string",
          "description": "Hex color string, if available. Example: '#ffffff'.",
        },
      },
    },
    "viewGallery": {
      "type": "object",
      "required": ["uri", "title", "description", "items"],
      "properties": {
        "uri": {"type": "string", "format": "uri"},
        "title": {"type": "string"},
        "description": {"type": "string"},
        "createdAt": {"type": "string", "format": "datetime"},
        "updatedAt": {"type": "string", "format": "datetime"},
        "labels": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.label.defs#label"},
        },
        "associatedRefs": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
        },
        "associatedProfiles": {
          "type": "array",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
        },
        "items": {
          "type": "array",
          "description":
              "The media items in the gallery. Each item may be of a different type, but all types must be supported by the client.",
          "items": {
            "type": "union",
            "refs": ["#viewGalleryImage"],
          },
        },
        "likeCount": {"type": "integer", "minimum": 0},
        "likers": {
          "type": "array",
          "description":
              "Available profile previews. Selected deterministically by DID; not a ranking.",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
          "maxLength": 3,
        },
      },
    },
    "viewGalleryImage": {
      "type": "object",
      "required": ["thumbnail", "fullsize"],
      "properties": {
        "thumbnail": {
          "type": "string",
          "format": "uri",
          "description":
              "Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.",
        },
        "fullsize": {
          "type": "string",
          "format": "uri",
          "description":
              "Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View.",
        },
        "alt": {
          "type": "string",
          "description":
              "Alt text description of the image, for accessibility.",
        },
        "aspectRatio": {
          "type": "ref",
          "ref": "app.bsky.embed.defs#aspectRatio",
        },
      },
    },
    "viewLivestream": {
      "type": "object",
      "required": ["uri", "title", "description", "active"],
      "properties": {
        "uri": {"type": "string", "format": "uri"},
        "title": {"type": "string"},
        "description": {"type": "string"},
        "createdAt": {"type": "string", "format": "datetime"},
        "updatedAt": {"type": "string", "format": "datetime"},
        "labels": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.label.defs#label"},
        },
        "associatedRefs": {
          "type": "array",
          "items": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
        },
        "associatedProfiles": {
          "type": "array",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic",
          },
        },
        "image": {"type": "string", "format": "uri"},
        "active": {
          "type": "boolean",
          "description":
              "True if the livestream is currently active at the time this view is served, false if it has ended.",
        },
        "startedAt": {"type": "string", "format": "datetime"},
        "endedAt": {"type": "string", "format": "datetime"},
      },
    },
  },
};