a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky

chore(pckt): pull latest pckt lexicons

mary.my.id 22b79e37 4f170221

verified
+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 + }