From 861a11e94cde7de1425438d1802e26ed1e2c24b1 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 13 May 2026 18:10:50 +0300 Subject: [PATCH] fix eslint --- bskyembed/lexicons.json | 2 +- bskyembed/lexicons/app/bsky/actor/defs.json | 23 ++- bskyembed/lexicons/app/bsky/actor/status.json | 2 +- bskyembed/lexicons/app/bsky/embed/defs.json | 2 +- .../lexicons/app/bsky/embed/external.json | 131 +++++++++++++++++- .../lexicons/app/bsky/embed/gallery.json | 99 +++++++++++++ bskyembed/lexicons/app/bsky/embed/images.json | 2 +- bskyembed/lexicons/app/bsky/embed/record.json | 3 +- .../app/bsky/embed/recordWithMedia.json | 4 +- bskyembed/lexicons/app/bsky/embed/video.json | 2 +- bskyembed/lexicons/app/bsky/feed/defs.json | 3 +- .../lexicons/app/bsky/feed/getPosts.json | 2 +- bskyembed/lexicons/app/bsky/feed/post.json | 3 +- .../lexicons/app/bsky/feed/postgate.json | 2 +- .../lexicons/app/bsky/feed/threadgate.json | 2 +- bskyembed/lexicons/app/bsky/graph/defs.json | 2 +- .../lexicons/app/bsky/graph/starterpack.json | 2 +- bskyembed/lexicons/app/bsky/labeler/defs.json | 2 +- .../lexicons/app/bsky/notification/defs.json | 8 +- .../lexicons/app/bsky/richtext/facet.json | 2 +- .../com/atproto/identity/resolveHandle.json | 2 +- .../lexicons/com/atproto/label/defs.json | 2 +- .../lexicons/com/atproto/moderation/defs.json | 2 +- .../lexicons/com/atproto/repo/strongRef.json | 2 +- .../lexicons/tools/ozone/report/defs.json | 2 +- bskyembed/package.json | 1 + bskyembed/pnpm-lock.yaml | 3 + 27 files changed, 285 insertions(+), 27 deletions(-) create mode 100644 bskyembed/lexicons/app/bsky/embed/gallery.json diff --git a/bskyembed/lexicons.json b/bskyembed/lexicons.json index 5547f29b7f..0562a65bb7 100644 --- a/bskyembed/lexicons.json +++ b/bskyembed/lexicons.json @@ -104,4 +104,4 @@ "cid": "bafyreic3l2rmh2ugirt3jz372wcvy333m7t2ynlyzj2k54oshijs6lxdfu" } } -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/actor/defs.json b/bskyembed/lexicons/app/bsky/actor/defs.json index 230483ab50..f93af4680e 100644 --- a/bskyembed/lexicons/app/bsky/actor/defs.json +++ b/bskyembed/lexicons/app/bsky/actor/defs.json @@ -513,6 +513,10 @@ "maxLength": 100, "description": "Storage for NUXs the user has encountered." }, + "isBetaUser": { + "type": "boolean", + "description": "Indicates if the user is participating in the beta features program." + }, "queuedNudges": { "type": "array", "items": { @@ -657,6 +661,15 @@ "type": "string", "format": "datetime", "description": "Timestamp when the verification was created." + }, + "issuerHandle": { + "type": "string", + "format": "handle", + "description": "The handle of the issuer." + }, + "issuerDisplayName": { + "type": "string", + "description": "The display name of the issuer." } }, "description": "An individual verification for an associated subject." @@ -887,6 +900,14 @@ "none", "following" ] + }, + "allowGroupInvites": { + "type": "string", + "knownValues": [ + "all", + "none", + "following" + ] } } }, @@ -961,4 +982,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/actor/status.json b/bskyembed/lexicons/app/bsky/actor/status.json index c9246c5014..7fd193c4d5 100644 --- a/bskyembed/lexicons/app/bsky/actor/status.json +++ b/bskyembed/lexicons/app/bsky/actor/status.json @@ -45,4 +45,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/embed/defs.json b/bskyembed/lexicons/app/bsky/embed/defs.json index 276dc1fb11..9aff68864c 100644 --- a/bskyembed/lexicons/app/bsky/embed/defs.json +++ b/bskyembed/lexicons/app/bsky/embed/defs.json @@ -22,4 +22,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/embed/external.json b/bskyembed/lexicons/app/bsky/embed/external.json index 24fa887727..d4bd886490 100644 --- a/bskyembed/lexicons/app/bsky/embed/external.json +++ b/bskyembed/lexicons/app/bsky/embed/external.json @@ -26,6 +26,32 @@ } } }, + "colorRGB": { + "type": "object", + "required": [ + "r", + "g", + "b" + ], + "properties": { + "b": { + "type": "integer", + "maximum": 255, + "minimum": 0 + }, + "g": { + "type": "integer", + "maximum": 255, + "minimum": 0 + }, + "r": { + "type": "integer", + "maximum": 255, + "minimum": 0 + } + }, + "description": "RGB color definition, inspired by site.standard.theme.color#rgb" + }, "external": { "type": "object", "required": [ @@ -50,6 +76,14 @@ }, "description": { "type": "string" + }, + "associatedRefs": { + "type": "array", + "items": { + "ref": "com.atproto.repo.strongRef", + "type": "ref" + }, + "description": "StrongRefs (uri+cid) of the Atmosphere records that backed this view." } } }, @@ -72,12 +106,105 @@ "title": { "type": "string" }, + "labels": { + "type": "array", + "items": { + "ref": "com.atproto.label.defs#label", + "type": "ref" + } + }, + "source": { + "ref": "#viewExternalSource", + "type": "ref" + }, + "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." + }, + "description": { + "type": "string" + }, + "readingTime": { + "type": "integer", + "description": "Estimated reading time in minutes, if applicable and available." + }, + "associatedRefs": { + "type": "array", + "items": { + "ref": "com.atproto.repo.strongRef", + "type": "ref" + }, + "description": "StrongRefs (uri+cid) of the Atmosphere records that backed this view." + }, + "associatedProfiles": { + "type": "array", + "items": { + "ref": "app.bsky.actor.defs#profileViewBasic", + "type": "ref" + }, + "description": "Profiles of the owners of the Atmosphere records that backed this view." + } + } + }, + "viewExternalSource": { + "type": "object", + "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." + }, + "theme": { + "ref": "#viewExternalSourceTheme", + "type": "ref" + }, + "title": { + "type": "string" + }, "description": { "type": "string" } - } + }, + "description": "The source of an external embed, such as a standard.site publication." + }, + "viewExternalSourceTheme": { + "type": "object", + "properties": { + "accentRGB": { + "ref": "#colorRGB", + "type": "ref" + }, + "backgroundRGB": { + "ref": "#colorRGB", + "type": "ref" + }, + "foregroundRGB": { + "ref": "#colorRGB", + "type": "ref" + }, + "accentForegroundRGB": { + "ref": "#colorRGB", + "type": "ref" + } + }, + "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." } }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/embed/gallery.json b/bskyembed/lexicons/app/bsky/embed/gallery.json new file mode 100644 index 0000000000..39f8a3024e --- /dev/null +++ b/bskyembed/lexicons/app/bsky/embed/gallery.json @@ -0,0 +1,99 @@ +{ + "id": "app.bsky.embed.gallery", + "defs": { + "main": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "items": { + "refs": [ + "#image" + ], + "type": "union", + "description": "The media items in the gallery. Each item may be of a different type, but all types must be supported by the client." + }, + "maxLength": 20, + "description": "The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs." + } + } + }, + "view": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "items": { + "refs": [ + "#viewImage" + ], + "type": "union" + } + } + } + }, + "image": { + "type": "object", + "required": [ + "image", + "alt", + "aspectRatio" + ], + "properties": { + "alt": { + "type": "string", + "description": "Alt text description of the image, for accessibility." + }, + "image": { + "type": "blob", + "accept": [ + "image/*" + ], + "maxSize": 2000000 + }, + "aspectRatio": { + "ref": "app.bsky.embed.defs#aspectRatio", + "type": "ref" + } + } + }, + "viewImage": { + "type": "object", + "required": [ + "thumbnail", + "fullsize", + "alt", + "aspectRatio" + ], + "properties": { + "alt": { + "type": "string", + "description": "Alt text description of the image, for accessibility." + }, + "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." + }, + "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." + }, + "aspectRatio": { + "ref": "app.bsky.embed.defs#aspectRatio", + "type": "ref" + } + } + } + }, + "$type": "com.atproto.lexicon.schema", + "lexicon": 1, + "description": "An assortment of media embedded in a Bluesky record (eg, a post)." +} diff --git a/bskyembed/lexicons/app/bsky/embed/images.json b/bskyembed/lexicons/app/bsky/embed/images.json index f644a60f9d..7f9c30c263 100644 --- a/bskyembed/lexicons/app/bsky/embed/images.json +++ b/bskyembed/lexicons/app/bsky/embed/images.json @@ -90,4 +90,4 @@ "$type": "com.atproto.lexicon.schema", "lexicon": 1, "description": "A set of images embedded in a Bluesky record (eg, a post)." -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/embed/record.json b/bskyembed/lexicons/app/bsky/embed/record.json index 0a89de3925..3aef654207 100644 --- a/bskyembed/lexicons/app/bsky/embed/record.json +++ b/bskyembed/lexicons/app/bsky/embed/record.json @@ -66,6 +66,7 @@ "refs": [ "app.bsky.embed.images#view", "app.bsky.embed.video#view", + "app.bsky.embed.gallery#view", "app.bsky.embed.external#view", "app.bsky.embed.record#view", "app.bsky.embed.recordWithMedia#view" @@ -158,4 +159,4 @@ "$type": "com.atproto.lexicon.schema", "lexicon": 1, "description": "A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record." -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/embed/recordWithMedia.json b/bskyembed/lexicons/app/bsky/embed/recordWithMedia.json index d82a0a1daf..76da14a364 100644 --- a/bskyembed/lexicons/app/bsky/embed/recordWithMedia.json +++ b/bskyembed/lexicons/app/bsky/embed/recordWithMedia.json @@ -12,6 +12,7 @@ "refs": [ "app.bsky.embed.images", "app.bsky.embed.video", + "app.bsky.embed.gallery", "app.bsky.embed.external" ], "type": "union" @@ -33,6 +34,7 @@ "refs": [ "app.bsky.embed.images#view", "app.bsky.embed.video#view", + "app.bsky.embed.gallery#view", "app.bsky.embed.external#view" ], "type": "union" @@ -47,4 +49,4 @@ "$type": "com.atproto.lexicon.schema", "lexicon": 1, "description": "A representation of a record embedded in a Bluesky record (eg, a post), alongside other compatible embeds. For example, a quote post and image, or a quote post and external URL card." -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/embed/video.json b/bskyembed/lexicons/app/bsky/embed/video.json index cea3def4a2..67278da9c2 100644 --- a/bskyembed/lexicons/app/bsky/embed/video.json +++ b/bskyembed/lexicons/app/bsky/embed/video.json @@ -105,4 +105,4 @@ "$type": "com.atproto.lexicon.schema", "lexicon": 1, "description": "A video embedded in a Bluesky record (eg, a post)." -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/feed/defs.json b/bskyembed/lexicons/app/bsky/feed/defs.json index 41da091e73..436782d4ec 100644 --- a/bskyembed/lexicons/app/bsky/feed/defs.json +++ b/bskyembed/lexicons/app/bsky/feed/defs.json @@ -27,6 +27,7 @@ "refs": [ "app.bsky.embed.images#view", "app.bsky.embed.video#view", + "app.bsky.embed.gallery#view", "app.bsky.embed.external#view", "app.bsky.embed.record#view", "app.bsky.embed.recordWithMedia#view" @@ -541,4 +542,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/feed/getPosts.json b/bskyembed/lexicons/app/bsky/feed/getPosts.json index 93cc4a3c98..c52de1aecd 100644 --- a/bskyembed/lexicons/app/bsky/feed/getPosts.json +++ b/bskyembed/lexicons/app/bsky/feed/getPosts.json @@ -43,4 +43,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/feed/post.json b/bskyembed/lexicons/app/bsky/feed/post.json index 6406455a2a..50b8a53c88 100644 --- a/bskyembed/lexicons/app/bsky/feed/post.json +++ b/bskyembed/lexicons/app/bsky/feed/post.json @@ -31,6 +31,7 @@ "refs": [ "app.bsky.embed.images", "app.bsky.embed.video", + "app.bsky.embed.gallery", "app.bsky.embed.external", "app.bsky.embed.record", "app.bsky.embed.recordWithMedia" @@ -142,4 +143,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/feed/postgate.json b/bskyembed/lexicons/app/bsky/feed/postgate.json index feef61fcd1..9fa0775a68 100644 --- a/bskyembed/lexicons/app/bsky/feed/postgate.json +++ b/bskyembed/lexicons/app/bsky/feed/postgate.json @@ -52,4 +52,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/feed/threadgate.json b/bskyembed/lexicons/app/bsky/feed/threadgate.json index 8f1096bcba..8b4d3c6117 100644 --- a/bskyembed/lexicons/app/bsky/feed/threadgate.json +++ b/bskyembed/lexicons/app/bsky/feed/threadgate.json @@ -78,4 +78,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/graph/defs.json b/bskyembed/lexicons/app/bsky/graph/defs.json index 75a0a08c3d..eca42fc875 100644 --- a/bskyembed/lexicons/app/bsky/graph/defs.json +++ b/bskyembed/lexicons/app/bsky/graph/defs.json @@ -350,4 +350,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/graph/starterpack.json b/bskyembed/lexicons/app/bsky/graph/starterpack.json index 46a7cf3b73..add9530335 100644 --- a/bskyembed/lexicons/app/bsky/graph/starterpack.json +++ b/bskyembed/lexicons/app/bsky/graph/starterpack.json @@ -67,4 +67,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/labeler/defs.json b/bskyembed/lexicons/app/bsky/labeler/defs.json index 1491ba4f95..20de6e051b 100644 --- a/bskyembed/lexicons/app/bsky/labeler/defs.json +++ b/bskyembed/lexicons/app/bsky/labeler/defs.json @@ -150,4 +150,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/notification/defs.json b/bskyembed/lexicons/app/bsky/notification/defs.json index 2efad3402d..3e767ca298 100644 --- a/bskyembed/lexicons/app/bsky/notification/defs.json +++ b/bskyembed/lexicons/app/bsky/notification/defs.json @@ -36,7 +36,8 @@ "properties": { "chat": { "ref": "#chatPreference", - "type": "ref" + "type": "ref", + "description": "Deprecated: use chat.bsky.notification preferences instead. This will only return a default value." }, "like": { "ref": "#filterablePreference", @@ -109,7 +110,8 @@ "accepted" ] } - } + }, + "description": "Deprecated: use chat.bsky.notification preferences instead. This will only return a default value." }, "activitySubscription": { "type": "object", @@ -170,4 +172,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/app/bsky/richtext/facet.json b/bskyembed/lexicons/app/bsky/richtext/facet.json index f8e5e54c17..39b039b790 100644 --- a/bskyembed/lexicons/app/bsky/richtext/facet.json +++ b/bskyembed/lexicons/app/bsky/richtext/facet.json @@ -87,4 +87,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/com/atproto/identity/resolveHandle.json b/bskyembed/lexicons/com/atproto/identity/resolveHandle.json index 8043cf334a..855e1b9827 100644 --- a/bskyembed/lexicons/com/atproto/identity/resolveHandle.json +++ b/bskyembed/lexicons/com/atproto/identity/resolveHandle.json @@ -42,4 +42,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/com/atproto/label/defs.json b/bskyembed/lexicons/com/atproto/label/defs.json index 34f4bbff9c..4c2a357295 100644 --- a/bskyembed/lexicons/com/atproto/label/defs.json +++ b/bskyembed/lexicons/com/atproto/label/defs.json @@ -187,4 +187,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/com/atproto/moderation/defs.json b/bskyembed/lexicons/com/atproto/moderation/defs.json index 8c3538f84d..57fff90b21 100644 --- a/bskyembed/lexicons/com/atproto/moderation/defs.json +++ b/bskyembed/lexicons/com/atproto/moderation/defs.json @@ -93,4 +93,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/com/atproto/repo/strongRef.json b/bskyembed/lexicons/com/atproto/repo/strongRef.json index 51bb61c231..f45cca3908 100644 --- a/bskyembed/lexicons/com/atproto/repo/strongRef.json +++ b/bskyembed/lexicons/com/atproto/repo/strongRef.json @@ -22,4 +22,4 @@ "$type": "com.atproto.lexicon.schema", "lexicon": 1, "description": "A URI with a content-hash fingerprint." -} \ No newline at end of file +} diff --git a/bskyembed/lexicons/tools/ozone/report/defs.json b/bskyembed/lexicons/tools/ozone/report/defs.json index 06da120689..2742fbd1ff 100644 --- a/bskyembed/lexicons/tools/ozone/report/defs.json +++ b/bskyembed/lexicons/tools/ozone/report/defs.json @@ -209,4 +209,4 @@ }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 -} \ No newline at end of file +} diff --git a/bskyembed/package.json b/bskyembed/package.json index 8aae1deae1..aba9ba70af 100644 --- a/bskyembed/package.json +++ b/bskyembed/package.json @@ -26,6 +26,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "@preact/preset-vite": "^2.10.5", + "@typescript-eslint/parser": "^8.64.0", "@vitejs/plugin-legacy": "^8.2.1", "autoprefixer": "^10.5.3", "eslint": "^10.7.0", diff --git a/bskyembed/pnpm-lock.yaml b/bskyembed/pnpm-lock.yaml index 46da9cc8fb..adb046d805 100644 --- a/bskyembed/pnpm-lock.yaml +++ b/bskyembed/pnpm-lock.yaml @@ -24,6 +24,9 @@ importers: '@preact/preset-vite': specifier: ^2.10.5 version: 2.10.5(@babel/core@7.29.7)(preact@10.29.7)(vite@8.1.5(jiti@1.21.7)(terser@5.49.0)) + '@typescript-eslint/parser': + specifier: ^8.64.0 + version: 8.64.0(eslint@10.7.0(jiti@1.21.7))(typescript@7.0.2) '@vitejs/plugin-legacy': specifier: ^8.2.1 version: 8.2.1(terser@5.49.0)(vite@8.1.5(jiti@1.21.7)(terser@5.49.0))