a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky
atproto bluesky typescript npm
101
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: regenerate definitions with blob constraints

Mary 43b2d762 22b51819

+126 -23
+11
.changeset/regenerate-blob-constraints.md
··· 1 + --- 2 + '@atcute/bluesky': patch 3 + '@atcute/bluemoji': patch 4 + '@atcute/frontpage': patch 5 + '@atcute/leaflet': patch 6 + '@atcute/pckt': patch 7 + '@atcute/standard-site': patch 8 + '@atcute/tangled': patch 9 + --- 10 + 11 + regenerate with blob constraints
+7 -2
packages/definitions/bluemoji/lib/lexicons/types/blue/moji/collection/item.ts
··· 3 3 import type {} from '@atcute/lexicons/ambient'; 4 4 import * as v from '@atcute/lexicons/validations'; 5 5 6 - const _blob_v0Schema = /*#__PURE__*/ v.blob(); 6 + const _blob_v0Schema = /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [/*#__PURE__*/ v.blobSize(262144)]); 7 7 const _bytes_v0Schema = /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.bytes(), [ 8 8 /*#__PURE__*/ v.bytesSize(0, 65536), 9 9 ]); ··· 22 22 * @accept image/*, application/lottie+zip 23 23 * @maxSize 1000000 24 24 */ 25 - original: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 25 + original: /*#__PURE__*/ v.optional( 26 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 27 + /*#__PURE__*/ v.blobSize(1000000), 28 + /*#__PURE__*/ v.blobAccept(['image/*', 'application/lottie+zip']), 29 + ]), 30 + ), 26 31 get png_128() { 27 32 return /*#__PURE__*/ v.optional(blob_v0Schema); 28 33 },
+6 -1
packages/definitions/bluemoji/lib/lexicons/types/blue/moji/packs/pack.ts
··· 31 31 * @accept image/png, image/jpeg 32 32 * @maxSize 1000000 33 33 */ 34 - icon: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 34 + icon: /*#__PURE__*/ v.optional( 35 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 36 + /*#__PURE__*/ v.blobSize(1000000), 37 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg']), 38 + ]), 39 + ), 35 40 /** 36 41 * Self-label values for this emoji. Effectively content warnings. 37 42 */
+12 -2
packages/definitions/bluesky/lib/lexicons/types/app/bsky/actor/profile.ts
··· 13 13 * @accept image/png, image/jpeg 14 14 * @maxSize 1000000 15 15 */ 16 - avatar: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 16 + avatar: /*#__PURE__*/ v.optional( 17 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 18 + /*#__PURE__*/ v.blobSize(1000000), 19 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg']), 20 + ]), 21 + ), 17 22 /** 18 23 * Larger horizontal image to display behind profile view. 19 24 * @accept image/png, image/jpeg 20 25 * @maxSize 1000000 21 26 */ 22 - banner: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 27 + banner: /*#__PURE__*/ v.optional( 28 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 29 + /*#__PURE__*/ v.blobSize(1000000), 30 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg']), 31 + ]), 32 + ), 23 33 createdAt: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.datetimeString()), 24 34 /** 25 35 * Free-form profile description text.
+6 -1
packages/definitions/bluesky/lib/lexicons/types/app/bsky/embed/external.ts
··· 8 8 * @accept image/* 9 9 * @maxSize 1000000 10 10 */ 11 - thumb: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 11 + thumb: /*#__PURE__*/ v.optional( 12 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 13 + /*#__PURE__*/ v.blobSize(1000000), 14 + /*#__PURE__*/ v.blobAccept(['image/*']), 15 + ]), 16 + ), 12 17 title: /*#__PURE__*/ v.string(), 13 18 uri: /*#__PURE__*/ v.genericUriString(), 14 19 });
+4 -1
packages/definitions/bluesky/lib/lexicons/types/app/bsky/embed/images.ts
··· 17 17 * @accept image/* 18 18 * @maxSize 2000000 19 19 */ 20 - image: /*#__PURE__*/ v.blob(), 20 + image: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 21 + /*#__PURE__*/ v.blobSize(2000000), 22 + /*#__PURE__*/ v.blobAccept(['image/*']), 23 + ]), 21 24 }); 22 25 const _mainSchema = /*#__PURE__*/ v.object({ 23 26 $type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('app.bsky.embed.images')),
+8 -2
packages/definitions/bluesky/lib/lexicons/types/app/bsky/embed/video.ts
··· 9 9 * @accept text/vtt 10 10 * @maxSize 20000 11 11 */ 12 - file: /*#__PURE__*/ v.blob(), 12 + file: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 13 + /*#__PURE__*/ v.blobSize(20000), 14 + /*#__PURE__*/ v.blobAccept(['text/vtt']), 15 + ]), 13 16 lang: /*#__PURE__*/ v.languageCodeString(), 14 17 }); 15 18 const _mainSchema = /*#__PURE__*/ v.object({ ··· 45 48 * @accept video/mp4 46 49 * @maxSize 100000000 47 50 */ 48 - video: /*#__PURE__*/ v.blob(), 51 + video: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 52 + /*#__PURE__*/ v.blobSize(100000000), 53 + /*#__PURE__*/ v.blobAccept(['video/mp4']), 54 + ]), 49 55 }); 50 56 const _viewSchema = /*#__PURE__*/ v.object({ 51 57 $type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('app.bsky.embed.video#view')),
+6 -1
packages/definitions/bluesky/lib/lexicons/types/app/bsky/feed/generator.ts
··· 17 17 * @accept image/png, image/jpeg 18 18 * @maxSize 1000000 19 19 */ 20 - avatar: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 20 + avatar: /*#__PURE__*/ v.optional( 21 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 22 + /*#__PURE__*/ v.blobSize(1000000), 23 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg']), 24 + ]), 25 + ), 21 26 contentMode: /*#__PURE__*/ v.optional( 22 27 /*#__PURE__*/ v.string< 23 28 'app.bsky.feed.defs#contentModeUnspecified' | 'app.bsky.feed.defs#contentModeVideo' | (string & {})
+6 -1
packages/definitions/bluesky/lib/lexicons/types/app/bsky/graph/list.ts
··· 15 15 * @accept image/png, image/jpeg 16 16 * @maxSize 1000000 17 17 */ 18 - avatar: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 18 + avatar: /*#__PURE__*/ v.optional( 19 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 20 + /*#__PURE__*/ v.blobSize(1000000), 21 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg']), 22 + ]), 23 + ), 19 24 createdAt: /*#__PURE__*/ v.datetimeString(), 20 25 /** 21 26 * @maxLength 3000
+6 -1
packages/definitions/frontpage/lib/lexicons/types/fyi/frontpage/feed/generator.ts
··· 15 15 * @accept image/png, image/jpeg 16 16 * @maxSize 1000000 17 17 */ 18 - avatar: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 18 + avatar: /*#__PURE__*/ v.optional( 19 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 20 + /*#__PURE__*/ v.blobSize(1000000), 21 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg']), 22 + ]), 23 + ), 19 24 /** 20 25 * Client-declared timestamp when this generator was created. 21 26 */
+4 -1
packages/definitions/leaflet/lib/lexicons/types/pub/leaflet/blocks/image.ts
··· 23 23 * @accept image/* 24 24 * @maxSize 1000000 25 25 */ 26 - image: /*#__PURE__*/ v.blob(), 26 + image: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 27 + /*#__PURE__*/ v.blobSize(1000000), 28 + /*#__PURE__*/ v.blobAccept(['image/*']), 29 + ]), 27 30 }); 28 31 29 32 type aspectRatio$schematype = typeof _aspectRatioSchema;
+6 -1
packages/definitions/leaflet/lib/lexicons/types/pub/leaflet/blocks/website.ts
··· 8 8 * @accept image/* 9 9 * @maxSize 1000000 10 10 */ 11 - previewImage: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 11 + previewImage: /*#__PURE__*/ v.optional( 12 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 13 + /*#__PURE__*/ v.blobSize(1000000), 14 + /*#__PURE__*/ v.blobAccept(['image/*']), 15 + ]), 16 + ), 12 17 src: /*#__PURE__*/ v.genericUriString(), 13 18 title: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()), 14 19 });
+6 -1
packages/definitions/leaflet/lib/lexicons/types/pub/leaflet/document.ts
··· 16 16 * @accept image/png, image/jpeg, image/webp 17 17 * @maxSize 1000000 18 18 */ 19 - coverImage: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 19 + coverImage: /*#__PURE__*/ v.optional( 20 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 21 + /*#__PURE__*/ v.blobSize(1000000), 22 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg', 'image/webp']), 23 + ]), 24 + ), 20 25 /** 21 26 * @maxLength 30000 22 27 * @maxGraphemes 3000
+6 -1
packages/definitions/leaflet/lib/lexicons/types/pub/leaflet/publication.ts
··· 20 20 * @accept image/* 21 21 * @maxSize 1000000 22 22 */ 23 - icon: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 23 + icon: /*#__PURE__*/ v.optional( 24 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 25 + /*#__PURE__*/ v.blobSize(1000000), 26 + /*#__PURE__*/ v.blobAccept(['image/*']), 27 + ]), 28 + ), 24 29 /** 25 30 * @maxLength 2000 26 31 */
+4 -1
packages/definitions/leaflet/lib/lexicons/types/pub/leaflet/theme/backgroundImage.ts
··· 7 7 * @accept image/* 8 8 * @maxSize 1000000 9 9 */ 10 - image: /*#__PURE__*/ v.blob(), 10 + image: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 11 + /*#__PURE__*/ v.blobSize(1000000), 12 + /*#__PURE__*/ v.blobAccept(['image/*']), 13 + ]), 11 14 repeat: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.boolean()), 12 15 width: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()), 13 16 });
+6 -1
packages/definitions/pckt/lib/lexicons/types/blog/pckt/block/image.ts
··· 42 42 * @accept image/* 43 43 * @maxSize 10000000 44 44 */ 45 - blob: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 45 + blob: /*#__PURE__*/ v.optional( 46 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 47 + /*#__PURE__*/ v.blobSize(10000000), 48 + /*#__PURE__*/ v.blobAccept(['image/*']), 49 + ]), 50 + ), 46 51 /** 47 52 * Image source URL or blob reference (blob:CID format for AT Protocol blobs) 48 53 * @maxLength 2000
+6 -1
packages/definitions/standard-site/lib/lexicons/types/site/standard/document.ts
··· 24 24 * @accept image/* 25 25 * @maxSize 1000000 26 26 */ 27 - coverImage: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 27 + coverImage: /*#__PURE__*/ v.optional( 28 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 29 + /*#__PURE__*/ v.blobSize(1000000), 30 + /*#__PURE__*/ v.blobAccept(['image/*']), 31 + ]), 32 + ), 28 33 /** 29 34 * A brief description or excerpt from the document. 30 35 * @maxLength 30000
+6 -1
packages/definitions/standard-site/lib/lexicons/types/site/standard/publication.ts
··· 30 30 * @accept image/* 31 31 * @maxSize 1000000 32 32 */ 33 - icon: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 33 + icon: /*#__PURE__*/ v.optional( 34 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 35 + /*#__PURE__*/ v.blobSize(1000000), 36 + /*#__PURE__*/ v.blobAccept(['image/*']), 37 + ]), 38 + ), 34 39 /** 35 40 * Name of the publication. 36 41 * @maxLength 5000
+6 -1
packages/definitions/tangled/lib/lexicons/types/sh/tangled/actor/profile.ts
··· 11 11 * @accept image/png, image/jpeg 12 12 * @maxSize 1000000 13 13 */ 14 - avatar: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()), 14 + avatar: /*#__PURE__*/ v.optional( 15 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 16 + /*#__PURE__*/ v.blobSize(1000000), 17 + /*#__PURE__*/ v.blobAccept(['image/png', 'image/jpeg']), 18 + ]), 19 + ), 15 20 /** 16 21 * Include link to this account on Bluesky. 17 22 */
+1 -1
packages/definitions/tangled/lib/lexicons/types/sh/tangled/repo/artifact.ts
··· 11 11 * @accept *\/* 12 12 * @maxSize 52428800 13 13 */ 14 - artifact: /*#__PURE__*/ v.blob(), 14 + artifact: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [/*#__PURE__*/ v.blobSize(52428800)]), 15 15 /** 16 16 * time of creation of this artifact 17 17 */
+3 -1
packages/definitions/tangled/lib/lexicons/types/sh/tangled/repo/pull.ts
··· 18 18 * patch content 19 19 * @accept text/x-patch 20 20 */ 21 - patchBlob: /*#__PURE__*/ v.blob(), 21 + patchBlob: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.blob(), [ 22 + /*#__PURE__*/ v.blobAccept(['text/x-patch']), 23 + ]), 22 24 references: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.array(/*#__PURE__*/ v.resourceUriString())), 23 25 get source() { 24 26 return /*#__PURE__*/ v.optional(sourceSchema);