diff --git a/bskyembed/eslint.config.mjs b/bskyembed/eslint.config.mjs
index 2e020cd55d..0934a2a755 100644
--- a/bskyembed/eslint.config.mjs
+++ b/bskyembed/eslint.config.mjs
@@ -4,6 +4,7 @@ import {defineConfig} from 'eslint/config'
import tseslint from 'typescript-eslint'
import simpleImportSort from 'eslint-plugin-simple-import-sort'
import {importX} from 'eslint-plugin-import-x'
+import {createTypeScriptImportResolver} from 'eslint-import-resolver-typescript'
import globals from 'globals'
export default defineConfig(
@@ -55,5 +56,8 @@ export default defineConfig(
],
'import-x/consistent-type-specifier-style': ['warn', 'prefer-inline'],
},
+ settings: {
+ 'import-x/resolver-next': [createTypeScriptImportResolver()],
+ },
},
)
diff --git a/bskyembed/lexicons.json b/bskyembed/lexicons.json
deleted file mode 100644
index 0562a65bb7..0000000000
--- a/bskyembed/lexicons.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "version": 1,
- "lexicons": [
- "app.bsky.feed.getPosts",
- "app.bsky.feed.post",
- "app.bsky.graph.starterpack",
- "com.atproto.identity.resolveHandle"
- ],
- "resolutions": {
- "app.bsky.actor.defs": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.actor.defs",
- "cid": "bafyreielcp7ccfxuvtdthry5qqdqmvcqo5wx3shkuz32xd5rlypmhw6ufa"
- },
- "app.bsky.actor.status": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.actor.status",
- "cid": "bafyreifdg4b64wohpwkh5lydc6tckvol2rspnpni6dec6recy2rhvlnz4a"
- },
- "app.bsky.embed.defs": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.defs",
- "cid": "bafyreia42uud4qil67wknywzbxfyxc3b7woewsii54cakq2ould3ldetei"
- },
- "app.bsky.embed.external": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.external",
- "cid": "bafyreigwach36azu4xg3jvcmb6fe53umfln3wkuj5srqsvcjaypa6rw534"
- },
- "app.bsky.embed.gallery": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.gallery",
- "cid": "bafyreia4tixag4sadkirfo63qfma6fz3ifbqanify4e6ce6swkl5lwjnfq"
- },
- "app.bsky.embed.images": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.images",
- "cid": "bafyreifw77mkqkzlvm5csjwutkrnaivsjvlhg2qxdlwwabqpahlyyjrpwi"
- },
- "app.bsky.embed.record": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.record",
- "cid": "bafyreia7yq4c6rqkz32fjf6gj5rcvxsirguducn545s3dvls7qutnn2ali"
- },
- "app.bsky.embed.recordWithMedia": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.recordWithMedia",
- "cid": "bafyreidszvpeqf7copdmowm4ln4eyhahlqxktlvootjjjdmtkwy6s62jya"
- },
- "app.bsky.embed.video": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.video",
- "cid": "bafyreie3nug4ezpwodl6yrpgv5edkazzn22t7ea4yaeuun4rctyekkngai"
- },
- "app.bsky.feed.defs": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.feed.defs",
- "cid": "bafyreibg2zvz4n25vtd5yfqlodqra72s4h4lz7vwdexoutv3523wbw6jca"
- },
- "app.bsky.feed.getPosts": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.feed.getPosts",
- "cid": "bafyreihy4tanaizkynghab46n3qztsspvoaqtbrkzinvxi4igeylg5ghji"
- },
- "app.bsky.feed.post": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.feed.post",
- "cid": "bafyreia7rgxu7467phwpcgzaw62l5bzmxufkpikrc5zm4q3xhjmuhq4pti"
- },
- "app.bsky.feed.postgate": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.feed.postgate",
- "cid": "bafyreiai5efexyluyptv5tbl6kqbqlnneczqzexcqnxmitmulyjfaftgva"
- },
- "app.bsky.feed.threadgate": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.feed.threadgate",
- "cid": "bafyreiht77wd6duduz4yqp62m6dwma5dy7gdihps4g2nd73acfzqlglvdi"
- },
- "app.bsky.graph.defs": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.graph.defs",
- "cid": "bafyreifcipomli7yggtl46xufgxlnrw7se6xmsdxmzgfcz2tiu76ljatxm"
- },
- "app.bsky.graph.starterpack": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.graph.starterpack",
- "cid": "bafyreiejgf46gibbkpmjtgt5yyiir3wyxgrtvnfxtcdeyxrdrdnsvwgjc4"
- },
- "app.bsky.labeler.defs": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.labeler.defs",
- "cid": "bafyreicxx5i36v5dbqk5vvfzhnta5gajrvc544mnepux4wksrkid7mw3q4"
- },
- "app.bsky.notification.defs": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.notification.defs",
- "cid": "bafyreifzktxnol5rafjoznauk5j7ub2gsxxm7qjskg3vqmcgn6krrsz55u"
- },
- "app.bsky.richtext.facet": {
- "uri": "at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.richtext.facet",
- "cid": "bafyreidg56eo7zynf6ihz4xb627vwoqf5idnevkmwp7sxc4tijg6xngbu4"
- },
- "com.atproto.identity.resolveHandle": {
- "uri": "at://did:plc:6msi3pj7krzih5qxqtryxlzw/com.atproto.lexicon.schema/com.atproto.identity.resolveHandle",
- "cid": "bafyreigckmqtt3jrtzd7tvigjatnz6ajqyafs26h5pwcudwag2anedxnmu"
- },
- "com.atproto.label.defs": {
- "uri": "at://did:plc:6msi3pj7krzih5qxqtryxlzw/com.atproto.lexicon.schema/com.atproto.label.defs",
- "cid": "bafyreidp2wpcbzl2qiob2uwoc7lhntojx3tjcr553mmahw2f5cumtm3wpm"
- },
- "com.atproto.moderation.defs": {
- "uri": "at://did:plc:6msi3pj7krzih5qxqtryxlzw/com.atproto.lexicon.schema/com.atproto.moderation.defs",
- "cid": "bafyreideawy4rlpgces2oebk5q4kpurbonhb5qtl4pes7dvxsc5osaiksy"
- },
- "com.atproto.repo.strongRef": {
- "uri": "at://did:plc:6msi3pj7krzih5qxqtryxlzw/com.atproto.lexicon.schema/com.atproto.repo.strongRef",
- "cid": "bafyreifrkdbnkvfjujntdaeigolnrjj3srrs53tfixjhmacclps72qlov4"
- },
- "tools.ozone.report.defs": {
- "uri": "at://did:plc:33dt5kftu3jq2h5h4jjlqezt/com.atproto.lexicon.schema/tools.ozone.report.defs",
- "cid": "bafyreic3l2rmh2ugirt3jz372wcvy333m7t2ynlyzj2k54oshijs6lxdfu"
- }
- }
-}
diff --git a/bskyembed/package.json b/bskyembed/package.json
index b54e525f39..e9d2f3d223 100644
--- a/bskyembed/package.json
+++ b/bskyembed/package.json
@@ -10,18 +10,13 @@
"analyze": "ANALYZE=1 vite build",
"lint": "eslint --cache src",
"typecheck": "tsc --noEmit",
- "format": "prettier -w src",
- "lex": "lex",
- "lex:install": "lex install",
- "lex:update": "lex install --update",
- "lex:ci": "lex install --ci",
- "lex:build": "lex build --lexicons ./lexicons --out ./src/lexicons --clear",
- "postinstall": "pnpm lex:ci && pnpm lex:build"
+ "format": "prettier -w src"
},
"dependencies": {
"@atproto/lex": "^0.3.0",
"@atproto/syntax": "^0.7.2",
- "@typescript/native": "npm:typescript@^7.0.2",
+ "@bsky.app/sdk": "npm:bsky-sdk-preview@0.0.1-preview.1",
+ "@tailwindcss/vite": "^4.3.2",
"preact": "^10.29.7"
},
"devDependencies": {
@@ -31,6 +26,7 @@
"@vitejs/plugin-legacy": "^8.2.1",
"autoprefixer": "^10.5.3",
"eslint": "^10.7.0",
+ "eslint-import-resolver-typescript": "^4.4.5",
"eslint-plugin-import-x": "^4.17.1",
"eslint-plugin-simple-import-sort": "^13.0.0",
"globals": "^17.7.0",
@@ -39,7 +35,7 @@
"serve": "^14.2.6",
"tailwindcss": "^4.3.2",
"terser": "^5.49.0",
- "typescript": "npm:@typescript/typescript6@^6.0.2",
+ "typescript": "^6.0.3",
"typescript-eslint": "^8.64.0",
"vite": "^8.1.5",
"vite-bundle-analyzer": "^1.3.9"
diff --git a/bskyembed/pnpm-lock.yaml b/bskyembed/pnpm-lock.yaml
index c8cefadf59..aa48201c6f 100644
--- a/bskyembed/pnpm-lock.yaml
+++ b/bskyembed/pnpm-lock.yaml
@@ -14,37 +14,43 @@ importers:
'@atproto/syntax':
specifier: ^0.7.2
version: 0.7.2
- '@typescript/native':
- specifier: npm:typescript@^7.0.2
- version: typescript@7.0.2
+ '@bsky.app/sdk':
+ specifier: npm:bsky-sdk-preview@0.0.1-preview.1
+ version: bsky-sdk-preview@0.0.1-preview.1
+ '@tailwindcss/vite':
+ specifier: ^4.3.2
+ version: 4.3.2(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))
preact:
specifier: ^10.29.7
version: 10.29.7
devDependencies:
'@eslint/js':
specifier: ^10.0.1
- version: 10.0.1(eslint@10.7.0(jiti@1.21.7))
+ version: 10.0.1(eslint@10.7.0(jiti@2.7.0))
'@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))
+ version: 2.10.5(@babel/core@7.29.7)(preact@10.29.7)(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))
'@typescript-eslint/parser':
specifier: ^8.64.0
- version: 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
+ version: 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
'@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))
+ version: 8.2.1(terser@5.49.0)(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))
autoprefixer:
specifier: ^10.5.3
version: 10.5.3(postcss@8.5.19)
eslint:
specifier: ^10.7.0
- version: 10.7.0(jiti@1.21.7)
+ version: 10.7.0(jiti@2.7.0)
+ eslint-import-resolver-typescript:
+ specifier: ^4.4.5
+ version: 4.4.5(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)))(eslint@10.7.0(jiti@2.7.0))
eslint-plugin-import-x:
specifier: ^4.17.1
- version: 4.17.1(@typescript-eslint/utils@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7)))(eslint@10.7.0(jiti@1.21.7))
+ version: 4.17.1(@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0))
eslint-plugin-simple-import-sort:
specifier: ^13.0.0
- version: 13.0.0(eslint@10.7.0(jiti@1.21.7))
+ version: 13.0.0(eslint@10.7.0(jiti@2.7.0))
globals:
specifier: ^17.7.0
version: 17.7.0
@@ -64,14 +70,14 @@ importers:
specifier: ^5.49.0
version: 5.49.0
typescript:
- specifier: npm:@typescript/typescript6@^6.0.2
- version: '@typescript/typescript6@6.0.2'
+ specifier: ^6.0.3
+ version: 6.0.3
typescript-eslint:
specifier: ^8.64.0
- version: 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
+ version: 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
vite:
specifier: ^8.1.5
- version: 8.1.5(jiti@1.21.7)(terser@5.49.0)
+ version: 8.1.5(jiti@2.7.0)(terser@5.49.0)
vite-bundle-analyzer:
specifier: ^1.3.9
version: 1.3.9
@@ -86,6 +92,10 @@ packages:
resolution: {integrity: sha512-YxXwi8HMk2HHDd5rljPGqxZ8bSeU78sFNz511Y222D0FraEq98p2r1ifkIgI23KQOfy0k0VzafeJAiGDh1CvfQ==}
engines: {node: '>=22'}
+ '@atproto-labs/handle-resolver@0.4.6':
+ resolution: {integrity: sha512-a3ZoQ0xpIowFuIhvjXwaloJwT3He6NJ02FfrKaRW0tdT2GvEH6nLaVHr46ps8A4ddCz+Q4oUha9atfr4O+0P2g==}
+ engines: {node: '>=22'}
+
'@atproto-labs/pipe@0.2.4':
resolution: {integrity: sha512-n67jCcrC+ouAeO10cWkpPzzLMlDi/lDCU30Us+LGqhOPhT6c4t5ASdBLQi9W3jUQtRzQBt3G9zipF+xKWNvVbw==}
engines: {node: '>=22'}
@@ -122,6 +132,10 @@ packages:
resolution: {integrity: sha512-1reaooZfNFunJn2Fz21Up7iFQBPZlifQKlBsRvQoLG67mv43nmH4dZWgnGLD54ShCu8dyZ8Y6Wgh7BCg+2gRSw==}
engines: {node: '>=22'}
+ '@atproto/lex-client@0.2.4':
+ resolution: {integrity: sha512-Y640ET2TF07yjwctfBFZFY1S7Du3h8v5YgGWcSZt1qWeA5JedeNbnioYemY1tj9k0j9hDIWp/cC2WgoibLI9mQ==}
+ engines: {node: '>=22'}
+
'@atproto/lex-client@0.3.0':
resolution: {integrity: sha512-P+S3hWdIIOgNTun7J42dvxSyCkQog3Q2ShTjvcwP761TqiRex7zDWaRAaT9gvCy6I4pRuNdBCStysjSMlJeSdg==}
engines: {node: '>=22'}
@@ -146,6 +160,10 @@ packages:
resolution: {integrity: sha512-/7rm1bq2me4ptNoPWOrWmlmzRSPhxbcm3BaeD0V8+OzJ5VKBrYHxqp8BBZTzqgVSmwF+TqANctUG4c/y0hkigw==}
engines: {node: '>=22'}
+ '@atproto/lex-schema@0.1.6':
+ resolution: {integrity: sha512-4AMwaB0HumrQuaXmYQDHeeZGKj8x6ACiIb8fX96Y0ZZaiM/JUmgZl0LTl/1kbQ7cGPfG+NoGsiuz1iJuFhTjxw==}
+ engines: {node: '>=22'}
+
'@atproto/lex-schema@0.2.2':
resolution: {integrity: sha512-UFK0EH8pw31dvL27aoZ5K78z+UMiD3ybIgkCyd7Idm267KM1IpycerTDeABqo4CYP3/IAnzjGpQaUaVc12bELA==}
engines: {node: '>=22'}
@@ -159,6 +177,10 @@ packages:
resolution: {integrity: sha512-ayX/ieAni4ZMbpdu6VMOCYIjzT8HctCQtcSBWWR8eoynsGZ6FzK/Lln6bH8i0wAj8vPV2pcecd57d33YsahRcQ==}
engines: {node: '>=22'}
+ '@atproto/syntax@0.6.4':
+ resolution: {integrity: sha512-ELgpShRGMF65cvLXcoMCZFL0HBzy67yz/Nlhox3yOtTh120B09KjjvZYXhMysVog3nUJqv2EW5rf1VRYCeM/hw==}
+ engines: {node: '>=22'}
+
'@atproto/syntax@0.7.2':
resolution: {integrity: sha512-tZ1Tr0R9pK4bI4Zs69t29cjMlCFQvRNBeNkqJC5pGeNuCt64D0eoF7s/AlqeVmYppClmQ0xJquggGgsMDP6j7w==}
engines: {node: '>=22'}
@@ -931,6 +953,100 @@ packages:
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
+ '@tailwindcss/node@4.3.2':
+ resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==}
+
+ '@tailwindcss/oxide-android-arm64@4.3.2':
+ resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/oxide-darwin-arm64@4.3.2':
+ resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-darwin-x64@4.3.2':
+ resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-freebsd-x64@4.3.2':
+ resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2':
+ resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==}
+ engines: {node: '>= 20'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.2':
+ resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.2':
+ resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.2':
+ resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@tailwindcss/oxide-linux-x64-musl@4.3.2':
+ resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@tailwindcss/oxide-wasm32-wasi@4.3.2':
+ resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.2':
+ resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.2':
+ resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/oxide@4.3.2':
+ resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==}
+ engines: {node: '>= 20'}
+
+ '@tailwindcss/vite@4.3.2':
+ resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==}
+ peerDependencies:
+ vite: ^5.2.0 || ^6 || ^7 || ^8
+
'@ts-morph/common@0.28.1':
resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==}
@@ -1005,130 +1121,6 @@ packages:
resolution: {integrity: sha512-mrtuL8Nsn6gi2H4mo5KMTp823M+3Q19Ew/i+Zlikq20tIMm99C3Ez0dCmkWWnxut20esQvTg8aUSEhMcAOXhEw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript/typescript-aix-ppc64@7.0.2':
- resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==}
- engines: {node: '>=16.20.0'}
- cpu: [ppc64]
- os: [aix]
-
- '@typescript/typescript-darwin-arm64@7.0.2':
- resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==}
- engines: {node: '>=16.20.0'}
- cpu: [arm64]
- os: [darwin]
-
- '@typescript/typescript-darwin-x64@7.0.2':
- resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==}
- engines: {node: '>=16.20.0'}
- cpu: [x64]
- os: [darwin]
-
- '@typescript/typescript-freebsd-arm64@7.0.2':
- resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==}
- engines: {node: '>=16.20.0'}
- cpu: [arm64]
- os: [freebsd]
-
- '@typescript/typescript-freebsd-x64@7.0.2':
- resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==}
- engines: {node: '>=16.20.0'}
- cpu: [x64]
- os: [freebsd]
-
- '@typescript/typescript-linux-arm64@7.0.2':
- resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==}
- engines: {node: '>=16.20.0'}
- cpu: [arm64]
- os: [linux]
-
- '@typescript/typescript-linux-arm@7.0.2':
- resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==}
- engines: {node: '>=16.20.0'}
- cpu: [arm]
- os: [linux]
-
- '@typescript/typescript-linux-loong64@7.0.2':
- resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==}
- engines: {node: '>=16.20.0'}
- cpu: [loong64]
- os: [linux]
-
- '@typescript/typescript-linux-mips64el@7.0.2':
- resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==}
- engines: {node: '>=16.20.0'}
- cpu: [mips64el]
- os: [linux]
-
- '@typescript/typescript-linux-ppc64@7.0.2':
- resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==}
- engines: {node: '>=16.20.0'}
- cpu: [ppc64]
- os: [linux]
-
- '@typescript/typescript-linux-riscv64@7.0.2':
- resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==}
- engines: {node: '>=16.20.0'}
- cpu: [riscv64]
- os: [linux]
-
- '@typescript/typescript-linux-s390x@7.0.2':
- resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==}
- engines: {node: '>=16.20.0'}
- cpu: [s390x]
- os: [linux]
-
- '@typescript/typescript-linux-x64@7.0.2':
- resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==}
- engines: {node: '>=16.20.0'}
- cpu: [x64]
- os: [linux]
-
- '@typescript/typescript-netbsd-arm64@7.0.2':
- resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==}
- engines: {node: '>=16.20.0'}
- cpu: [arm64]
- os: [netbsd]
-
- '@typescript/typescript-netbsd-x64@7.0.2':
- resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==}
- engines: {node: '>=16.20.0'}
- cpu: [x64]
- os: [netbsd]
-
- '@typescript/typescript-openbsd-arm64@7.0.2':
- resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==}
- engines: {node: '>=16.20.0'}
- cpu: [arm64]
- os: [openbsd]
-
- '@typescript/typescript-openbsd-x64@7.0.2':
- resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==}
- engines: {node: '>=16.20.0'}
- cpu: [x64]
- os: [openbsd]
-
- '@typescript/typescript-sunos-x64@7.0.2':
- resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==}
- engines: {node: '>=16.20.0'}
- cpu: [x64]
- os: [sunos]
-
- '@typescript/typescript-win32-arm64@7.0.2':
- resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==}
- engines: {node: '>=16.20.0'}
- cpu: [arm64]
- os: [win32]
-
- '@typescript/typescript-win32-x64@7.0.2':
- resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==}
- engines: {node: '>=16.20.0'}
- cpu: [x64]
- os: [win32]
-
- '@typescript/typescript6@6.0.2':
- resolution: {integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==}
- hasBin: true
-
'@unrs/resolver-binding-android-arm-eabi@1.12.2':
resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==}
cpu: [arm]
@@ -1369,6 +1361,10 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ bsky-sdk-preview@0.0.1-preview.1:
+ resolution: {integrity: sha512-mIKnugbD/zues2c0sFdw0jimcM+oQWxc5RxVfU8HnHNV2lwGbarfFo7GDJjgL767LhvN/fC/YWX7KVZS+HQNtA==}
+ engines: {node: '>=22.12.0'}
+
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@@ -1527,6 +1523,10 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ enhanced-resolve@5.21.6:
+ resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==}
+ engines: {node: '>=10.13.0'}
+
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -1552,6 +1552,19 @@ packages:
unrs-resolver:
optional: true
+ eslint-import-resolver-typescript@4.4.5:
+ resolution: {integrity: sha512-nbE5XLph6TLtGYcu/U6e6ZVXyKBhbDWK5cLGk76eJ7NdZpwf1P9EFkpt1Z01mNZNrrilsAYWKH6zUkL4reoXbw==}
+ engines: {node: ^16.17.0 || >=18.6.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ eslint-plugin-import-x: '*'
+ peerDependenciesMeta:
+ eslint-plugin-import:
+ optional: true
+ eslint-plugin-import-x:
+ optional: true
+
eslint-plugin-import-x@4.17.1:
resolution: {integrity: sha512-4cdstYkKCyjumM2Q9NSI03K8D2a9F4Ssz33K2lv2hQa4KmR9jPLwk3uWGtNvclfqBrPGfGuMBwsGMbe6dMRbfg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1693,6 +1706,9 @@ packages:
resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==}
engines: {node: '>=18'}
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
@@ -1724,6 +1740,9 @@ packages:
ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ is-bun-module@2.0.0:
+ resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==}
+
is-core-module@2.16.2:
resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==}
engines: {node: '>= 0.4'}
@@ -1763,8 +1782,8 @@ packages:
iso-datestring-validator@2.2.2:
resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==}
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
+ jiti@2.7.0:
+ resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
hasBin: true
js-tokens@4.0.0:
@@ -2235,6 +2254,10 @@ packages:
resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==}
hasBin: true
+ tapable@2.3.3:
+ resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
+ engines: {node: '>=6'}
+
terser@5.49.0:
resolution: {integrity: sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==}
engines: {node: '>=10'}
@@ -2248,6 +2271,10 @@ packages:
resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
engines: {node: '>=12.0.0'}
+ tlds@1.261.0:
+ resolution: {integrity: sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==}
+ hasBin: true
+
ts-api-utils@2.5.0:
resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==}
engines: {node: '>=18.12'}
@@ -2280,11 +2307,6 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
- typescript@7.0.2:
- resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==}
- engines: {node: '>=16.20.0'}
- hasBin: true
-
uint8arrays@5.1.1:
resolution: {integrity: sha512-9muQwa4wZG4dKi9gMAIBtnk2Pw87SRpvWTH6lOGm19V2Uqxr4uomUf2PGqPnWc+qs06sN8owUU4jfcoWOcfwVQ==}
@@ -2442,6 +2464,13 @@ snapshots:
dependencies:
'@atproto-labs/pipe': 0.2.4
+ '@atproto-labs/handle-resolver@0.4.6':
+ dependencies:
+ '@atproto-labs/simple-store': 0.4.4
+ '@atproto-labs/simple-store-memory': 0.2.4
+ '@atproto/did': 0.5.4
+ zod: 3.25.76
+
'@atproto-labs/pipe@0.2.4': {}
'@atproto-labs/simple-store-memory@0.2.4':
@@ -2490,6 +2519,13 @@ snapshots:
cborg: 4.5.8
tslib: 2.8.1
+ '@atproto/lex-client@0.2.4':
+ dependencies:
+ '@atproto/lex-data': 0.1.5
+ '@atproto/lex-json': 0.1.4
+ '@atproto/lex-schema': 0.2.2
+ tslib: 2.8.1
+
'@atproto/lex-client@0.3.0':
dependencies:
'@atproto/lex-data': 0.1.5
@@ -2537,6 +2573,13 @@ snapshots:
'@atproto/syntax': 0.7.2
tslib: 2.8.1
+ '@atproto/lex-schema@0.1.6':
+ dependencies:
+ '@atproto/lex-data': 0.1.5
+ '@atproto/syntax': 0.6.4
+ '@standard-schema/spec': 1.1.0
+ tslib: 2.8.1
+
'@atproto/lex-schema@0.2.2':
dependencies:
'@atproto/lex-data': 0.1.5
@@ -2566,6 +2609,11 @@ snapshots:
varint: 6.0.0
zod: 3.25.76
+ '@atproto/syntax@0.6.4':
+ dependencies:
+ iso-datestring-validator: 2.2.2
+ tslib: 2.8.1
+
'@atproto/syntax@0.7.2':
dependencies:
iso-datestring-validator: 2.2.2
@@ -3287,9 +3335,9 @@ snapshots:
tslib: 2.8.1
optional: true
- '@eslint-community/eslint-utils@4.9.1(eslint@10.7.0(jiti@1.21.7))':
+ '@eslint-community/eslint-utils@4.9.1(eslint@10.7.0(jiti@2.7.0))':
dependencies:
- eslint: 10.7.0(jiti@1.21.7)
+ eslint: 10.7.0(jiti@2.7.0)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
@@ -3310,9 +3358,9 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/js@10.0.1(eslint@10.7.0(jiti@1.21.7))':
+ '@eslint/js@10.0.1(eslint@10.7.0(jiti@2.7.0))':
optionalDependencies:
- eslint: 10.7.0(jiti@1.21.7)
+ eslint: 10.7.0(jiti@2.7.0)
'@eslint/object-schema@3.0.5': {}
@@ -3385,19 +3433,19 @@ snapshots:
'@pinojs/redact@0.4.0': {}
- '@preact/preset-vite@2.10.5(@babel/core@7.29.7)(preact@10.29.7)(vite@8.1.5(jiti@1.21.7)(terser@5.49.0))':
+ '@preact/preset-vite@2.10.5(@babel/core@7.29.7)(preact@10.29.7)(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))':
dependencies:
'@babel/core': 7.29.7
'@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7)
'@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7)
- '@prefresh/vite': 2.4.12(preact@10.29.7)(vite@8.1.5(jiti@1.21.7)(terser@5.49.0))
+ '@prefresh/vite': 2.4.12(preact@10.29.7)(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))
'@rollup/pluginutils': 5.4.0
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.7)
debug: 4.4.3
magic-string: 0.30.21
picocolors: 1.1.1
- vite: 8.1.5(jiti@1.21.7)(terser@5.49.0)
- vite-prerender-plugin: 0.5.13(vite@8.1.5(jiti@1.21.7)(terser@5.49.0))
+ vite: 8.1.5(jiti@2.7.0)(terser@5.49.0)
+ vite-prerender-plugin: 0.5.13(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))
zimmerframe: 1.1.4
transitivePeerDependencies:
- preact
@@ -3412,7 +3460,7 @@ snapshots:
'@prefresh/utils@1.2.1': {}
- '@prefresh/vite@2.4.12(preact@10.29.7)(vite@8.1.5(jiti@1.21.7)(terser@5.49.0))':
+ '@prefresh/vite@2.4.12(preact@10.29.7)(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))':
dependencies:
'@babel/core': 7.29.7
'@prefresh/babel-plugin': 0.5.3
@@ -3420,7 +3468,7 @@ snapshots:
'@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1
preact: 10.29.7
- vite: 8.1.5(jiti@1.21.7)(terser@5.49.0)
+ vite: 8.1.5(jiti@2.7.0)(terser@5.49.0)
transitivePeerDependencies:
- supports-color
@@ -3488,6 +3536,74 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
+ '@tailwindcss/node@4.3.2':
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ enhanced-resolve: 5.21.6
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ magic-string: 0.30.21
+ source-map-js: 1.2.1
+ tailwindcss: 4.3.2
+
+ '@tailwindcss/oxide-android-arm64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-wasm32-wasi@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.2':
+ optional: true
+
+ '@tailwindcss/oxide@4.3.2':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.3.2
+ '@tailwindcss/oxide-darwin-arm64': 4.3.2
+ '@tailwindcss/oxide-darwin-x64': 4.3.2
+ '@tailwindcss/oxide-freebsd-x64': 4.3.2
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2
+ '@tailwindcss/oxide-linux-arm64-musl': 4.3.2
+ '@tailwindcss/oxide-linux-x64-gnu': 4.3.2
+ '@tailwindcss/oxide-linux-x64-musl': 4.3.2
+ '@tailwindcss/oxide-wasm32-wasi': 4.3.2
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2
+ '@tailwindcss/oxide-win32-x64-msvc': 4.3.2
+
+ '@tailwindcss/vite@4.3.2(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))':
+ dependencies:
+ '@tailwindcss/node': 4.3.2
+ '@tailwindcss/oxide': 4.3.2
+ tailwindcss: 4.3.2
+ vite: 8.1.5(jiti@2.7.0)(terser@5.49.0)
+
'@ts-morph/common@0.28.1':
dependencies:
minimatch: 10.2.5
@@ -3505,40 +3621,40 @@ snapshots:
'@types/json-schema@7.0.15': {}
- '@typescript-eslint/eslint-plugin@8.64.0(@typescript-eslint/parser@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7)))(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))':
+ '@typescript-eslint/eslint-plugin@8.64.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
+ '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
'@typescript-eslint/scope-manager': 8.64.0
- '@typescript-eslint/type-utils': 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
- '@typescript-eslint/utils': 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
+ '@typescript-eslint/type-utils': 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
'@typescript-eslint/visitor-keys': 8.64.0
- eslint: 10.7.0(jiti@1.21.7)
+ eslint: 10.7.0(jiti@2.7.0)
ignore: 7.0.6
natural-compare: 1.4.0
- ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2)
- typescript: '@typescript/typescript6@6.0.2'
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))':
+ '@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.64.0
'@typescript-eslint/types': 8.64.0
- '@typescript-eslint/typescript-estree': 8.64.0(@typescript/typescript6@6.0.2)
+ '@typescript-eslint/typescript-estree': 8.64.0(typescript@6.0.3)
'@typescript-eslint/visitor-keys': 8.64.0
debug: 4.4.3
- eslint: 10.7.0(jiti@1.21.7)
- typescript: '@typescript/typescript6@6.0.2'
+ eslint: 10.7.0(jiti@2.7.0)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.64.0(@typescript/typescript6@6.0.2)':
+ '@typescript-eslint/project-service@8.64.0(typescript@6.0.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.64.0(@typescript/typescript6@6.0.2)
+ '@typescript-eslint/tsconfig-utils': 8.64.0(typescript@6.0.3)
'@typescript-eslint/types': 8.64.0
debug: 4.4.3
- typescript: '@typescript/typescript6@6.0.2'
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
@@ -3547,47 +3663,47 @@ snapshots:
'@typescript-eslint/types': 8.64.0
'@typescript-eslint/visitor-keys': 8.64.0
- '@typescript-eslint/tsconfig-utils@8.64.0(@typescript/typescript6@6.0.2)':
+ '@typescript-eslint/tsconfig-utils@8.64.0(typescript@6.0.3)':
dependencies:
- typescript: '@typescript/typescript6@6.0.2'
+ typescript: 6.0.3
- '@typescript-eslint/type-utils@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))':
+ '@typescript-eslint/type-utils@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
'@typescript-eslint/types': 8.64.0
- '@typescript-eslint/typescript-estree': 8.64.0(@typescript/typescript6@6.0.2)
- '@typescript-eslint/utils': 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
+ '@typescript-eslint/typescript-estree': 8.64.0(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
debug: 4.4.3
- eslint: 10.7.0(jiti@1.21.7)
- ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2)
- typescript: '@typescript/typescript6@6.0.2'
+ eslint: 10.7.0(jiti@2.7.0)
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.64.0': {}
- '@typescript-eslint/typescript-estree@8.64.0(@typescript/typescript6@6.0.2)':
+ '@typescript-eslint/typescript-estree@8.64.0(typescript@6.0.3)':
dependencies:
- '@typescript-eslint/project-service': 8.64.0(@typescript/typescript6@6.0.2)
- '@typescript-eslint/tsconfig-utils': 8.64.0(@typescript/typescript6@6.0.2)
+ '@typescript-eslint/project-service': 8.64.0(typescript@6.0.3)
+ '@typescript-eslint/tsconfig-utils': 8.64.0(typescript@6.0.3)
'@typescript-eslint/types': 8.64.0
'@typescript-eslint/visitor-keys': 8.64.0
debug: 4.4.3
minimatch: 10.2.5
semver: 7.8.5
tinyglobby: 0.2.17
- ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2)
- typescript: '@typescript/typescript6@6.0.2'
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))':
+ '@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0))
'@typescript-eslint/scope-manager': 8.64.0
'@typescript-eslint/types': 8.64.0
- '@typescript-eslint/typescript-estree': 8.64.0(@typescript/typescript6@6.0.2)
- eslint: 10.7.0(jiti@1.21.7)
- typescript: '@typescript/typescript6@6.0.2'
+ '@typescript-eslint/typescript-estree': 8.64.0(typescript@6.0.3)
+ eslint: 10.7.0(jiti@2.7.0)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
@@ -3596,70 +3712,6 @@ snapshots:
'@typescript-eslint/types': 8.64.0
eslint-visitor-keys: 5.0.1
- '@typescript/typescript-aix-ppc64@7.0.2':
- optional: true
-
- '@typescript/typescript-darwin-arm64@7.0.2':
- optional: true
-
- '@typescript/typescript-darwin-x64@7.0.2':
- optional: true
-
- '@typescript/typescript-freebsd-arm64@7.0.2':
- optional: true
-
- '@typescript/typescript-freebsd-x64@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-arm64@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-arm@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-loong64@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-mips64el@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-ppc64@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-riscv64@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-s390x@7.0.2':
- optional: true
-
- '@typescript/typescript-linux-x64@7.0.2':
- optional: true
-
- '@typescript/typescript-netbsd-arm64@7.0.2':
- optional: true
-
- '@typescript/typescript-netbsd-x64@7.0.2':
- optional: true
-
- '@typescript/typescript-openbsd-arm64@7.0.2':
- optional: true
-
- '@typescript/typescript-openbsd-x64@7.0.2':
- optional: true
-
- '@typescript/typescript-sunos-x64@7.0.2':
- optional: true
-
- '@typescript/typescript-win32-arm64@7.0.2':
- optional: true
-
- '@typescript/typescript-win32-x64@7.0.2':
- optional: true
-
- '@typescript/typescript6@6.0.2':
- dependencies:
- '@typescript/old': typescript@6.0.3
-
'@unrs/resolver-binding-android-arm-eabi@1.12.2':
optional: true
@@ -3730,7 +3782,7 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.12.2':
optional: true
- '@vitejs/plugin-legacy@8.2.1(terser@5.49.0)(vite@8.1.5(jiti@1.21.7)(terser@5.49.0))':
+ '@vitejs/plugin-legacy@8.2.1(terser@5.49.0)(vite@8.1.5(jiti@2.7.0)(terser@5.49.0))':
dependencies:
'@babel/core': 7.29.7
'@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7)
@@ -3745,7 +3797,7 @@ snapshots:
regenerator-runtime: 0.14.1
systemjs: 6.15.1
terser: 5.49.0
- vite: 8.1.5(jiti@1.21.7)(terser@5.49.0)
+ vite: 8.1.5(jiti@2.7.0)(terser@5.49.0)
transitivePeerDependencies:
- supports-color
@@ -3869,6 +3921,15 @@ snapshots:
node-releases: 2.0.51
update-browserslist-db: 1.2.3(browserslist@4.28.6)
+ bsky-sdk-preview@0.0.1-preview.1:
+ dependencies:
+ '@atproto-labs/handle-resolver': 0.4.6
+ '@atproto/lex-client': 0.2.4
+ '@atproto/lex-data': 0.1.5
+ '@atproto/lex-schema': 0.1.6
+ '@atproto/syntax': 0.6.4
+ tlds: 1.261.0
+
buffer-from@1.1.2: {}
bytes@3.0.0: {}
@@ -4006,6 +4067,11 @@ snapshots:
emoji-regex@9.2.2: {}
+ enhanced-resolve@5.21.6:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.3.3
+
entities@4.5.0: {}
es-errors@1.3.0: {}
@@ -4021,12 +4087,27 @@ snapshots:
optionalDependencies:
unrs-resolver: 1.12.2
- eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7)))(eslint@10.7.0(jiti@1.21.7)):
+ eslint-import-resolver-typescript@4.4.5(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)))(eslint@10.7.0(jiti@2.7.0)):
+ dependencies:
+ debug: 4.4.3
+ eslint: 10.7.0(jiti@2.7.0)
+ eslint-import-context: 0.1.9(unrs-resolver@1.12.2)
+ get-tsconfig: 4.14.0
+ is-bun-module: 2.0.0
+ stable-hash-x: 0.2.0
+ tinyglobby: 0.2.17
+ unrs-resolver: 1.12.2
+ optionalDependencies:
+ eslint-plugin-import-x: 4.17.1(@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0))
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)):
dependencies:
'@typescript-eslint/types': 8.64.0
comment-parser: 1.4.7
debug: 4.4.3
- eslint: 10.7.0(jiti@1.21.7)
+ eslint: 10.7.0(jiti@2.7.0)
eslint-import-context: 0.1.9(unrs-resolver@1.12.2)
is-glob: 4.0.3
minimatch: 10.2.5
@@ -4034,13 +4115,13 @@ snapshots:
stable-hash-x: 0.2.0
unrs-resolver: 1.12.2
optionalDependencies:
- '@typescript-eslint/utils': 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
+ '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
transitivePeerDependencies:
- supports-color
- eslint-plugin-simple-import-sort@13.0.0(eslint@10.7.0(jiti@1.21.7)):
+ eslint-plugin-simple-import-sort@13.0.0(eslint@10.7.0(jiti@2.7.0)):
dependencies:
- eslint: 10.7.0(jiti@1.21.7)
+ eslint: 10.7.0(jiti@2.7.0)
eslint-scope@9.1.2:
dependencies:
@@ -4053,9 +4134,9 @@ snapshots:
eslint-visitor-keys@5.0.1: {}
- eslint@10.7.0(jiti@1.21.7):
+ eslint@10.7.0(jiti@2.7.0):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@1.21.7))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0))
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.23.5
'@eslint/config-helpers': 0.6.0
@@ -4086,7 +4167,7 @@ snapshots:
natural-compare: 1.4.0
optionator: 0.9.4
optionalDependencies:
- jiti: 1.21.7
+ jiti: 2.7.0
transitivePeerDependencies:
- supports-color
@@ -4175,6 +4256,8 @@ snapshots:
globals@17.7.0: {}
+ graceful-fs@4.2.11: {}
+
has-flag@4.0.0: {}
hasown@2.0.4:
@@ -4193,6 +4276,10 @@ snapshots:
ini@1.3.8: {}
+ is-bun-module@2.0.0:
+ dependencies:
+ semver: 7.8.5
+
is-core-module@2.16.2:
dependencies:
hasown: 2.0.4
@@ -4219,8 +4306,7 @@ snapshots:
iso-datestring-validator@2.2.2: {}
- jiti@1.21.7:
- optional: true
+ jiti@2.7.0: {}
js-tokens@4.0.0: {}
@@ -4632,6 +4718,8 @@ snapshots:
tailwindcss@4.3.2: {}
+ tapable@2.3.3: {}
+
terser@5.49.0:
dependencies:
'@jridgewell/source-map': 0.3.11
@@ -4648,9 +4736,11 @@ snapshots:
fdir: 6.5.0(picomatch@4.0.5)
picomatch: 4.0.5
- ts-api-utils@2.5.0(@typescript/typescript6@6.0.2):
+ tlds@1.261.0: {}
+
+ ts-api-utils@2.5.0(typescript@6.0.3):
dependencies:
- typescript: '@typescript/typescript6@6.0.2'
+ typescript: 6.0.3
ts-morph@27.0.2:
dependencies:
@@ -4665,42 +4755,19 @@ snapshots:
type-fest@2.19.0: {}
- typescript-eslint@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7)):
+ typescript-eslint@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.64.0(@typescript-eslint/parser@8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7)))(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
- '@typescript-eslint/parser': 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
- '@typescript-eslint/typescript-estree': 8.64.0(@typescript/typescript6@6.0.2)
- '@typescript-eslint/utils': 8.64.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@1.21.7))
- eslint: 10.7.0(jiti@1.21.7)
- typescript: '@typescript/typescript6@6.0.2'
+ '@typescript-eslint/eslint-plugin': 8.64.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/typescript-estree': 8.64.0(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)
+ eslint: 10.7.0(jiti@2.7.0)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
typescript@6.0.3: {}
- typescript@7.0.2:
- optionalDependencies:
- '@typescript/typescript-aix-ppc64': 7.0.2
- '@typescript/typescript-darwin-arm64': 7.0.2
- '@typescript/typescript-darwin-x64': 7.0.2
- '@typescript/typescript-freebsd-arm64': 7.0.2
- '@typescript/typescript-freebsd-x64': 7.0.2
- '@typescript/typescript-linux-arm': 7.0.2
- '@typescript/typescript-linux-arm64': 7.0.2
- '@typescript/typescript-linux-loong64': 7.0.2
- '@typescript/typescript-linux-mips64el': 7.0.2
- '@typescript/typescript-linux-ppc64': 7.0.2
- '@typescript/typescript-linux-riscv64': 7.0.2
- '@typescript/typescript-linux-s390x': 7.0.2
- '@typescript/typescript-linux-x64': 7.0.2
- '@typescript/typescript-netbsd-arm64': 7.0.2
- '@typescript/typescript-netbsd-x64': 7.0.2
- '@typescript/typescript-openbsd-arm64': 7.0.2
- '@typescript/typescript-openbsd-x64': 7.0.2
- '@typescript/typescript-sunos-x64': 7.0.2
- '@typescript/typescript-win32-arm64': 7.0.2
- '@typescript/typescript-win32-x64': 7.0.2
-
uint8arrays@5.1.1:
dependencies:
multiformats: 13.4.2
@@ -4766,7 +4833,7 @@ snapshots:
vite-bundle-analyzer@1.3.9: {}
- vite-prerender-plugin@0.5.13(vite@8.1.5(jiti@1.21.7)(terser@5.49.0)):
+ vite-prerender-plugin@0.5.13(vite@8.1.5(jiti@2.7.0)(terser@5.49.0)):
dependencies:
kolorist: 1.8.0
magic-string: 0.30.21
@@ -4774,9 +4841,9 @@ snapshots:
simple-code-frame: 1.3.0
source-map: 0.7.6
stack-trace: 1.0.0
- vite: 8.1.5(jiti@1.21.7)(terser@5.49.0)
+ vite: 8.1.5(jiti@2.7.0)(terser@5.49.0)
- vite@8.1.5(jiti@1.21.7)(terser@5.49.0):
+ vite@8.1.5(jiti@2.7.0)(terser@5.49.0):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.5
@@ -4785,7 +4852,7 @@ snapshots:
tinyglobby: 0.2.17
optionalDependencies:
fsevents: 2.3.3
- jiti: 1.21.7
+ jiti: 2.7.0
terser: 5.49.0
which@2.0.2:
diff --git a/bskyembed/pnpm-workspace.yaml b/bskyembed/pnpm-workspace.yaml
index 0fd811707e..92953e723c 100644
--- a/bskyembed/pnpm-workspace.yaml
+++ b/bskyembed/pnpm-workspace.yaml
@@ -5,3 +5,4 @@ minimumReleaseAgeExclude:
- '@atproto/*'
- '@atproto-labs/*'
- '@bsky.app/*'
+ - 'bsky-sdk-preview@0.0.1-preview.1'
diff --git a/bskyembed/postcss.config.cjs b/bskyembed/postcss.config.cjs
deleted file mode 100644
index 33ad091d26..0000000000
--- a/bskyembed/postcss.config.cjs
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/bskyembed/src/components/embed.tsx b/bskyembed/src/components/embed.tsx
index 9d4ddcf26f..4e8945a957 100644
--- a/bskyembed/src/components/embed.tsx
+++ b/bskyembed/src/components/embed.tsx
@@ -1,16 +1,17 @@
+import {app} from '@bsky.app/sdk/lexicons'
import {ComponentChildren, h} from 'preact'
import {useMemo} from 'preact/hooks'
-import infoIcon from '../../assets/circleInfo_stroke2_corner0_rounded.svg'
+import {Link} from '#/components/link'
+import {VerificationCheck} from '#/components/verification-check'
+import {Globe} from '#/icons/Globe'
+import {CONTENT_LABELS, labelsToInfo} from '#/labels'
+import {getRkey} from '#/util/rkey'
+import {getVerificationState} from '#/util/verification-state'
+
+import infoIcon from '../../assets/arrowBottom_stroke2_corner0_rounded.svg'
import playIcon from '../../assets/play_filled_corner0_rounded.svg'
import starterPackIcon from '../../assets/starterPack.svg'
-import {Globe} from '../icons/Globe'
-import {CONTENT_LABELS, labelsToInfo} from '../labels'
-import * as app from '../lexicons/app'
-import {getRkey} from '../util/rkey'
-import {getVerificationState} from '../util/verification-state'
-import {Link} from './link'
-import {VerificationCheck} from './verification-check'
export function Embed({
content,
@@ -32,7 +33,7 @@ export function Embed({
}
// Case 1b: Gallery (Photos v2)
- if (AppBskyEmbedGallery.isView(content)) {
+ if (app.bsky.embed.gallery.view.isTypeOf(content)) {
return
that adds an extra flex gap above the embed
if (!record?.text) return null
- const rt = new FacetRenderer({text: record.text, facets: record.facets})
+ const rt = new RichText({text: record.text, facets: record.facets})
const richText: ComponentChild[] = []
let counter = 0
diff --git a/bskyembed/src/labels.ts b/bskyembed/src/labels.ts
index 3e392eacb3..8a55c28c82 100644
--- a/bskyembed/src/labels.ts
+++ b/bskyembed/src/labels.ts
@@ -1,4 +1,4 @@
-import * as app from './lexicons/app'
+import {app} from '@bsky.app/sdk/lexicons'
export const CONTENT_LABELS = ['porn', 'sexual', 'nudity', 'graphic-media']
diff --git a/bskyembed/src/screens/landing.tsx b/bskyembed/src/screens/landing.tsx
index 70c2f21383..0984916c1e 100644
--- a/bskyembed/src/screens/landing.tsx
+++ b/bskyembed/src/screens/landing.tsx
@@ -2,22 +2,22 @@ import '../index.css'
import {AtUriString, Client, type HandleString} from '@atproto/lex'
import {AtUri} from '@atproto/syntax'
+import {app, com} from '@bsky.app/sdk/lexicons'
import {h, render} from 'preact'
import {useEffect, useMemo, useRef, useState} from 'preact/hooks'
-import arrowBottom from '../../assets/arrowBottom_stroke2_corner0_rounded.svg'
-import logo from '../../assets/logo.svg'
import {
assertColorModeValues,
ColorModeValues,
initSystemColorMode,
-} from '../color-mode'
-import {Container} from '../components/container'
-import {Link} from '../components/link'
-import {Post} from '../components/post'
-import * as app from '../lexicons/app'
-import * as com from '../lexicons/com'
-import {niceDate} from '../util/nice-date'
+} from '#/color-mode'
+import {Container} from '#/components/container'
+import {Link} from '#/components/link'
+import {Post} from '#/components/post'
+import {niceDate} from '#/util/nice-date'
+
+import arrowBottom from '../../assets/arrowBottom_stroke2_corner0_rounded.svg'
+import logo from '../../assets/logo.svg'
const DEFAULT_POST =
'https://bsky.app/profile/did:plc:vjug55kidv6sye7ykr5faxxn/post/3jzn6g7ixgq2y'
@@ -85,7 +85,7 @@ function LandingPage() {
atUri = `at://${did}/app.bsky.feed.post/${rkey}`
} catch (err) {
console.log(err)
- throw new Error('Invalid Bluesky URL')
+ throw new Error('Invalid Bluesky URL', {cause: err})
}
}
}
diff --git a/bskyembed/src/screens/post.tsx b/bskyembed/src/screens/post.tsx
index 32ee7be488..9c93f5676c 100644
--- a/bskyembed/src/screens/post.tsx
+++ b/bskyembed/src/screens/post.tsx
@@ -1,15 +1,16 @@
import '../index.css'
import {Client, isAtUriString} from '@atproto/lex'
+import {app} from '@bsky.app/sdk/lexicons'
import {h, render} from 'preact'
+import {applyTheme, initSystemColorMode} from '#/color-mode'
+import {Container} from '#/components/container'
+import {Link} from '#/components/link'
+import {Post} from '#/components/post'
+import {getRkey} from '#/util/rkey'
+
import logo from '../../assets/logo.svg'
-import {applyTheme, initSystemColorMode} from '../color-mode'
-import {Container} from '../components/container'
-import {Link} from '../components/link'
-import {Post} from '../components/post'
-import * as app from '../lexicons/app'
-import {getRkey} from '../util/rkey'
const root = document.getElementById('app')
if (!root) throw new Error('No root element')
diff --git a/bskyembed/src/util/facet-renderer.ts b/bskyembed/src/util/facet-renderer.ts
deleted file mode 100644
index c195083d30..0000000000
--- a/bskyembed/src/util/facet-renderer.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import * as app from '../lexicons/app'
-
-type Facet = app.bsky.richtext.facet.Main
-
-const encoder = new TextEncoder()
-const decoder = new TextDecoder()
-
-export class FacetSegment {
- constructor(
- public text: string,
- public facet?: Facet,
- ) {}
-
- get link() {
- return this.facet?.features.find(app.bsky.richtext.facet.link.$isTypeOf)
- }
-
- get mention() {
- return this.facet?.features.find(app.bsky.richtext.facet.mention.$isTypeOf)
- }
-
- get tag() {
- return this.facet?.features.find(app.bsky.richtext.facet.tag.$isTypeOf)
- }
-}
-
-export class FacetRenderer {
- private utf8: Uint8Array
- private facets: Facet[]
-
- constructor({text, facets}: {text: string; facets?: Facet[]}) {
- this.utf8 = encoder.encode(text)
- this.facets = (facets ?? [])
- .filter(f => f.index.byteStart <= f.index.byteEnd)
- .sort((a, b) => a.index.byteStart - b.index.byteStart)
- }
-
- private slice(start: number, end: number): string {
- return decoder.decode(this.utf8.slice(start, end))
- }
-
- *segments(): Generator