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(pckt): pull latest pckt lexicons

Mary 22b79e37 4f170221

+150 -1
+5
.changeset/social-doodles-invent.md
··· 1 + --- 2 + '@atcute/pckt': patch 3 + --- 4 + 5 + pull latest pckt lexicons
+1 -1
packages/definitions/pckt/lexicons/blog/pckt/authFull.json
··· 9 9 { 10 10 "type": "permission", 11 11 "resource": "repo", 12 - "collection": ["blog.pckt.publication", "blog.pckt.document"] 12 + "collection": ["blog.pckt.publication", "blog.pckt.document", "blog.pckt.gallery"] 13 13 } 14 14 ] 15 15 }
+19
packages/definitions/pckt/lexicons/blog/pckt/block/gallery.json
··· 1 + { 2 + "id": "blog.pckt.block.gallery", 3 + "defs": { 4 + "main": { 5 + "type": "object", 6 + "required": ["ref"], 7 + "properties": { 8 + "ref": { 9 + "type": "string", 10 + "format": "at-uri", 11 + "description": "Reference to a blog.pckt.gallery record" 12 + } 13 + } 14 + } 15 + }, 16 + "$type": "com.atproto.lexicon.schema", 17 + "lexicon": 1, 18 + "description": "An embeddable gallery block that references a standalone gallery." 19 + }
+44
packages/definitions/pckt/lexicons/blog/pckt/gallery.json
··· 1 + { 2 + "id": "blog.pckt.gallery", 3 + "defs": { 4 + "main": { 5 + "key": "tid", 6 + "type": "record", 7 + "record": { 8 + "type": "object", 9 + "required": ["images"], 10 + "properties": { 11 + "title": { 12 + "type": "string", 13 + "maxLength": 200, 14 + "description": "Optional title for the gallery" 15 + }, 16 + "images": { 17 + "type": "array", 18 + "items": { 19 + "ref": "blog.pckt.block.image#imageAttrs", 20 + "type": "ref" 21 + }, 22 + "maxLength": 50, 23 + "minLength": 1, 24 + "description": "Array of image blocks in display order" 25 + }, 26 + "layout": { 27 + "type": "string", 28 + "maxLength": 50, 29 + "description": "Layout style for rendering the gallery (e.g. grid, carousel, masonry, list)" 30 + }, 31 + "caption": { 32 + "type": "string", 33 + "maxLength": 3000, 34 + "description": "Optional caption for the entire gallery", 35 + "maxGraphemes": 300 36 + } 37 + } 38 + } 39 + } 40 + }, 41 + "$type": "com.atproto.lexicon.schema", 42 + "lexicon": 1, 43 + "description": "A standalone image gallery that can be embedded in posts or other content." 44 + }
+2
packages/definitions/pckt/lib/lexicons/index.ts
··· 2 2 export * as BlogPcktBlockBlueskyEmbed from './types/blog/pckt/block/blueskyEmbed.js'; 3 3 export * as BlogPcktBlockBulletList from './types/blog/pckt/block/bulletList.js'; 4 4 export * as BlogPcktBlockCodeBlock from './types/blog/pckt/block/codeBlock.js'; 5 + export * as BlogPcktBlockGallery from './types/blog/pckt/block/gallery.js'; 5 6 export * as BlogPcktBlockHardBreak from './types/blog/pckt/block/hardBreak.js'; 6 7 export * as BlogPcktBlockHeading from './types/blog/pckt/block/heading.js'; 7 8 export * as BlogPcktBlockHorizontalRule from './types/blog/pckt/block/horizontalRule.js'; ··· 20 21 export * as BlogPcktBlockWebsite from './types/blog/pckt/block/website.js'; 21 22 export * as BlogPcktContent from './types/blog/pckt/content.js'; 22 23 export * as BlogPcktDocument from './types/blog/pckt/document.js'; 24 + export * as BlogPcktGallery from './types/blog/pckt/gallery.js'; 23 25 export * as BlogPcktPublication from './types/blog/pckt/publication.js'; 24 26 export * as BlogPcktRichtextFacet from './types/blog/pckt/richtext/facet.js'; 25 27 export * as BlogPcktTheme from './types/blog/pckt/theme.js';
+18
packages/definitions/pckt/lib/lexicons/types/blog/pckt/block/gallery.ts
··· 1 + import type {} from '@atcute/lexicons'; 2 + import * as v from '@atcute/lexicons/validations'; 3 + 4 + const _mainSchema = /*#__PURE__*/ v.object({ 5 + $type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.literal('blog.pckt.block.gallery')), 6 + /** 7 + * Reference to a blog.pckt.gallery record 8 + */ 9 + ref: /*#__PURE__*/ v.resourceUriString(), 10 + }); 11 + 12 + type main$schematype = typeof _mainSchema; 13 + 14 + export interface mainSchema extends main$schematype {} 15 + 16 + export const mainSchema = _mainSchema as mainSchema; 17 + 18 + export interface Main extends v.InferInput<typeof mainSchema> {}
+61
packages/definitions/pckt/lib/lexicons/types/blog/pckt/gallery.ts
··· 1 + import type {} from '@atcute/lexicons'; 2 + import type {} from '@atcute/lexicons/ambient'; 3 + import * as v from '@atcute/lexicons/validations'; 4 + 5 + import * as BlogPcktBlockImage from './block/image.js'; 6 + 7 + const _mainSchema = /*#__PURE__*/ v.record( 8 + /*#__PURE__*/ v.tidString(), 9 + /*#__PURE__*/ v.object({ 10 + $type: /*#__PURE__*/ v.literal('blog.pckt.gallery'), 11 + /** 12 + * Optional caption for the entire gallery 13 + * @maxLength 3000 14 + * @maxGraphemes 300 15 + */ 16 + caption: /*#__PURE__*/ v.optional( 17 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [ 18 + /*#__PURE__*/ v.stringLength(0, 3000), 19 + /*#__PURE__*/ v.stringGraphemes(0, 300), 20 + ]), 21 + ), 22 + /** 23 + * Array of image blocks in display order 24 + * @minLength 1 25 + * @maxLength 50 26 + */ 27 + get images() { 28 + return /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.array(BlogPcktBlockImage.imageAttrsSchema), [ 29 + /*#__PURE__*/ v.arrayLength(1, 50), 30 + ]); 31 + }, 32 + /** 33 + * Layout style for rendering the gallery (e.g. grid, carousel, masonry, list) 34 + * @maxLength 50 35 + */ 36 + layout: /*#__PURE__*/ v.optional( 37 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [/*#__PURE__*/ v.stringLength(0, 50)]), 38 + ), 39 + /** 40 + * Optional title for the gallery 41 + * @maxLength 200 42 + */ 43 + title: /*#__PURE__*/ v.optional( 44 + /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [/*#__PURE__*/ v.stringLength(0, 200)]), 45 + ), 46 + }), 47 + ); 48 + 49 + type main$schematype = typeof _mainSchema; 50 + 51 + export interface mainSchema extends main$schematype {} 52 + 53 + export const mainSchema = _mainSchema as mainSchema; 54 + 55 + export interface Main extends v.InferInput<typeof mainSchema> {} 56 + 57 + declare module '@atcute/lexicons/ambient' { 58 + interface Records { 59 + 'blog.pckt.gallery': mainSchema; 60 + } 61 + }