From 53dca1408c6b04d0822eefc3c9fee3331aa2cc1b Mon Sep 17 00:00:00 2001 From: Jared Pereira Date: Mon, 22 Sep 2025 14:55:26 +0900 Subject: [PATCH] update lex-cli --- lexicons/api/index.ts | 750 +++-- lexicons/api/lexicons.ts | 2705 ++++++++--------- lexicons/api/types/app/bsky/actor/profile.ts | 8 +- lexicons/api/types/com/atproto/label/defs.ts | 8 +- .../api/types/com/atproto/repo/applyWrites.ts | 10 +- .../types/com/atproto/repo/createRecord.ts | 10 +- lexicons/api/types/com/atproto/repo/defs.ts | 8 +- .../types/com/atproto/repo/deleteRecord.ts | 10 +- .../types/com/atproto/repo/describeRepo.ts | 11 +- .../api/types/com/atproto/repo/getRecord.ts | 11 +- .../api/types/com/atproto/repo/importRepo.ts | 11 +- .../com/atproto/repo/listMissingBlobs.ts | 11 +- .../api/types/com/atproto/repo/listRecords.ts | 11 +- .../api/types/com/atproto/repo/putRecord.ts | 10 +- .../api/types/com/atproto/repo/strongRef.ts | 8 +- .../api/types/com/atproto/repo/uploadBlob.ts | 11 +- .../types/pub/leaflet/blocks/blockquote.ts | 8 +- .../api/types/pub/leaflet/blocks/bskyPost.ts | 8 +- lexicons/api/types/pub/leaflet/blocks/code.ts | 8 +- .../api/types/pub/leaflet/blocks/header.ts | 8 +- .../pub/leaflet/blocks/horizontalRule.ts | 8 +- .../api/types/pub/leaflet/blocks/iframe.ts | 8 +- .../api/types/pub/leaflet/blocks/image.ts | 8 +- lexicons/api/types/pub/leaflet/blocks/math.ts | 8 +- lexicons/api/types/pub/leaflet/blocks/text.ts | 8 +- .../types/pub/leaflet/blocks/unorderedList.ts | 8 +- .../api/types/pub/leaflet/blocks/website.ts | 8 +- lexicons/api/types/pub/leaflet/comment.ts | 4 +- lexicons/api/types/pub/leaflet/document.ts | 4 +- .../types/pub/leaflet/graph/subscription.ts | 8 +- .../types/pub/leaflet/pages/linearDocument.ts | 8 +- lexicons/api/types/pub/leaflet/publication.ts | 4 +- .../api/types/pub/leaflet/richtext/facet.ts | 8 +- .../pub/leaflet/theme/backgroundImage.ts | 8 +- lexicons/api/types/pub/leaflet/theme/color.ts | 8 +- lexicons/api/util.ts | 2 +- package-lock.json | 147 +- package.json | 2 +- 38 files changed, 2078 insertions(+), 1806 deletions(-) diff --git a/lexicons/api/index.ts b/lexicons/api/index.ts index 6e01f58e..39556372 100644 --- a/lexicons/api/index.ts +++ b/lexicons/api/index.ts @@ -1,13 +1,28 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { XrpcClient, FetchHandler, FetchHandlerOptions } from '@atproto/xrpc' +import { + XrpcClient, + type FetchHandler, + type FetchHandlerOptions, +} from '@atproto/xrpc' import { schemas } from './lexicons' import { CID } from 'multiformats/cid' -import { OmitKey, Un$Typed } from './util' -import * as PubLeafletComment from './types/pub/leaflet/comment' -import * as PubLeafletDocument from './types/pub/leaflet/document' -import * as PubLeafletPublication from './types/pub/leaflet/publication' +import { type OmitKey, type Un$Typed } from './util' +import * as AppBskyActorProfile from './types/app/bsky/actor/profile' +import * as ComAtprotoLabelDefs from './types/com/atproto/label/defs' +import * as ComAtprotoRepoApplyWrites from './types/com/atproto/repo/applyWrites' +import * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord' +import * as ComAtprotoRepoDefs from './types/com/atproto/repo/defs' +import * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord' +import * as ComAtprotoRepoDescribeRepo from './types/com/atproto/repo/describeRepo' +import * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord' +import * as ComAtprotoRepoImportRepo from './types/com/atproto/repo/importRepo' +import * as ComAtprotoRepoListMissingBlobs from './types/com/atproto/repo/listMissingBlobs' +import * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords' +import * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord' +import * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef' +import * as ComAtprotoRepoUploadBlob from './types/com/atproto/repo/uploadBlob' import * as PubLeafletBlocksBlockquote from './types/pub/leaflet/blocks/blockquote' import * as PubLeafletBlocksBskyPost from './types/pub/leaflet/blocks/bskyPost' import * as PubLeafletBlocksCode from './types/pub/leaflet/blocks/code' @@ -19,29 +34,29 @@ import * as PubLeafletBlocksMath from './types/pub/leaflet/blocks/math' import * as PubLeafletBlocksText from './types/pub/leaflet/blocks/text' import * as PubLeafletBlocksUnorderedList from './types/pub/leaflet/blocks/unorderedList' import * as PubLeafletBlocksWebsite from './types/pub/leaflet/blocks/website' +import * as PubLeafletComment from './types/pub/leaflet/comment' +import * as PubLeafletDocument from './types/pub/leaflet/document' import * as PubLeafletGraphSubscription from './types/pub/leaflet/graph/subscription' import * as PubLeafletPagesLinearDocument from './types/pub/leaflet/pages/linearDocument' +import * as PubLeafletPublication from './types/pub/leaflet/publication' import * as PubLeafletRichtextFacet from './types/pub/leaflet/richtext/facet' import * as PubLeafletThemeBackgroundImage from './types/pub/leaflet/theme/backgroundImage' import * as PubLeafletThemeColor from './types/pub/leaflet/theme/color' -import * as ComAtprotoLabelDefs from './types/com/atproto/label/defs' -import * as ComAtprotoRepoApplyWrites from './types/com/atproto/repo/applyWrites' -import * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord' -import * as ComAtprotoRepoDefs from './types/com/atproto/repo/defs' -import * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord' -import * as ComAtprotoRepoDescribeRepo from './types/com/atproto/repo/describeRepo' -import * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord' -import * as ComAtprotoRepoImportRepo from './types/com/atproto/repo/importRepo' -import * as ComAtprotoRepoListMissingBlobs from './types/com/atproto/repo/listMissingBlobs' -import * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords' -import * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord' -import * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef' -import * as ComAtprotoRepoUploadBlob from './types/com/atproto/repo/uploadBlob' -import * as AppBskyActorProfile from './types/app/bsky/actor/profile' -export * as PubLeafletComment from './types/pub/leaflet/comment' -export * as PubLeafletDocument from './types/pub/leaflet/document' -export * as PubLeafletPublication from './types/pub/leaflet/publication' +export * as AppBskyActorProfile from './types/app/bsky/actor/profile' +export * as ComAtprotoLabelDefs from './types/com/atproto/label/defs' +export * as ComAtprotoRepoApplyWrites from './types/com/atproto/repo/applyWrites' +export * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord' +export * as ComAtprotoRepoDefs from './types/com/atproto/repo/defs' +export * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord' +export * as ComAtprotoRepoDescribeRepo from './types/com/atproto/repo/describeRepo' +export * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord' +export * as ComAtprotoRepoImportRepo from './types/com/atproto/repo/importRepo' +export * as ComAtprotoRepoListMissingBlobs from './types/com/atproto/repo/listMissingBlobs' +export * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords' +export * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord' +export * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef' +export * as ComAtprotoRepoUploadBlob from './types/com/atproto/repo/uploadBlob' export * as PubLeafletBlocksBlockquote from './types/pub/leaflet/blocks/blockquote' export * as PubLeafletBlocksBskyPost from './types/pub/leaflet/blocks/bskyPost' export * as PubLeafletBlocksCode from './types/pub/leaflet/blocks/code' @@ -53,25 +68,14 @@ export * as PubLeafletBlocksMath from './types/pub/leaflet/blocks/math' export * as PubLeafletBlocksText from './types/pub/leaflet/blocks/text' export * as PubLeafletBlocksUnorderedList from './types/pub/leaflet/blocks/unorderedList' export * as PubLeafletBlocksWebsite from './types/pub/leaflet/blocks/website' +export * as PubLeafletComment from './types/pub/leaflet/comment' +export * as PubLeafletDocument from './types/pub/leaflet/document' export * as PubLeafletGraphSubscription from './types/pub/leaflet/graph/subscription' export * as PubLeafletPagesLinearDocument from './types/pub/leaflet/pages/linearDocument' +export * as PubLeafletPublication from './types/pub/leaflet/publication' export * as PubLeafletRichtextFacet from './types/pub/leaflet/richtext/facet' export * as PubLeafletThemeBackgroundImage from './types/pub/leaflet/theme/backgroundImage' export * as PubLeafletThemeColor from './types/pub/leaflet/theme/color' -export * as ComAtprotoLabelDefs from './types/com/atproto/label/defs' -export * as ComAtprotoRepoApplyWrites from './types/com/atproto/repo/applyWrites' -export * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord' -export * as ComAtprotoRepoDefs from './types/com/atproto/repo/defs' -export * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord' -export * as ComAtprotoRepoDescribeRepo from './types/com/atproto/repo/describeRepo' -export * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord' -export * as ComAtprotoRepoImportRepo from './types/com/atproto/repo/importRepo' -export * as ComAtprotoRepoListMissingBlobs from './types/com/atproto/repo/listMissingBlobs' -export * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords' -export * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord' -export * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef' -export * as ComAtprotoRepoUploadBlob from './types/com/atproto/repo/uploadBlob' -export * as AppBskyActorProfile from './types/app/bsky/actor/profile' export const PUB_LEAFLET_PAGES = { LinearDocumentTextAlignLeft: 'pub.leaflet.pages.linearDocument#textAlignLeft', @@ -82,15 +86,15 @@ export const PUB_LEAFLET_PAGES = { } export class AtpBaseClient extends XrpcClient { - pub: PubNS - com: ComNS app: AppNS + com: ComNS + pub: PubNS constructor(options: FetchHandler | FetchHandlerOptions) { super(options, schemas) - this.pub = new PubNS(this) - this.com = new ComNS(this) this.app = new AppNS(this) + this.com = new ComNS(this) + this.pub = new PubNS(this) } /** @deprecated use `this` instead */ @@ -99,59 +103,37 @@ export class AtpBaseClient extends XrpcClient { } } -export class PubNS { - _client: XrpcClient - leaflet: PubLeafletNS - - constructor(client: XrpcClient) { - this._client = client - this.leaflet = new PubLeafletNS(client) - } -} - -export class PubLeafletNS { +export class AppNS { _client: XrpcClient - comment: CommentRecord - document: DocumentRecord - publication: PublicationRecord - blocks: PubLeafletBlocksNS - graph: PubLeafletGraphNS - pages: PubLeafletPagesNS - richtext: PubLeafletRichtextNS - theme: PubLeafletThemeNS + bsky: AppBskyNS constructor(client: XrpcClient) { this._client = client - this.blocks = new PubLeafletBlocksNS(client) - this.graph = new PubLeafletGraphNS(client) - this.pages = new PubLeafletPagesNS(client) - this.richtext = new PubLeafletRichtextNS(client) - this.theme = new PubLeafletThemeNS(client) - this.comment = new CommentRecord(client) - this.document = new DocumentRecord(client) - this.publication = new PublicationRecord(client) + this.bsky = new AppBskyNS(client) } } -export class PubLeafletBlocksNS { +export class AppBskyNS { _client: XrpcClient + actor: AppBskyActorNS constructor(client: XrpcClient) { this._client = client + this.actor = new AppBskyActorNS(client) } } -export class PubLeafletGraphNS { +export class AppBskyActorNS { _client: XrpcClient - subscription: SubscriptionRecord + profile: AppBskyActorProfileRecord constructor(client: XrpcClient) { this._client = client - this.subscription = new SubscriptionRecord(client) + this.profile = new AppBskyActorProfileRecord(client) } } -export class SubscriptionRecord { +export class AppBskyActorProfileRecord { _client: XrpcClient constructor(client: XrpcClient) { @@ -162,10 +144,10 @@ export class SubscriptionRecord { params: OmitKey, ): Promise<{ cursor?: string - records: { uri: string; value: PubLeafletGraphSubscription.Record }[] + records: { uri: string; value: AppBskyActorProfile.Record }[] }> { const res = await this._client.call('com.atproto.repo.listRecords', { - collection: 'pub.leaflet.graph.subscription', + collection: 'app.bsky.actor.profile', ...params, }) return res.data @@ -173,13 +155,9 @@ export class SubscriptionRecord { async get( params: OmitKey, - ): Promise<{ - uri: string - cid: string - value: PubLeafletGraphSubscription.Record - }> { + ): Promise<{ uri: string; cid: string; value: AppBskyActorProfile.Record }> { const res = await this._client.call('com.atproto.repo.getRecord', { - collection: 'pub.leaflet.graph.subscription', + collection: 'app.bsky.actor.profile', ...params, }) return res.data @@ -190,13 +168,36 @@ export class SubscriptionRecord { ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record' >, - record: Un$Typed, + record: Un$Typed, headers?: Record, ): Promise<{ uri: string; cid: string }> { - const collection = 'pub.leaflet.graph.subscription' + const collection = 'app.bsky.actor.profile' const res = await this._client.call( 'com.atproto.repo.createRecord', undefined, + { + collection, + rkey: 'self', + ...params, + record: { ...record, $type: collection }, + }, + { encoding: 'application/json', headers }, + ) + return res.data + } + + async put( + params: OmitKey< + ComAtprotoRepoPutRecord.InputSchema, + 'collection' | 'record' + >, + record: Un$Typed, + headers?: Record, + ): Promise<{ uri: string; cid: string }> { + const collection = 'app.bsky.actor.profile' + const res = await this._client.call( + 'com.atproto.repo.putRecord', + undefined, { collection, ...params, record: { ...record, $type: collection } }, { encoding: 'application/json', headers }, ) @@ -210,159 +211,208 @@ export class SubscriptionRecord { await this._client.call( 'com.atproto.repo.deleteRecord', undefined, - { collection: 'pub.leaflet.graph.subscription', ...params }, + { collection: 'app.bsky.actor.profile', ...params }, { headers }, ) } } -export class PubLeafletPagesNS { - _client: XrpcClient - - constructor(client: XrpcClient) { - this._client = client - } -} - -export class PubLeafletRichtextNS { +export class ComNS { _client: XrpcClient + atproto: ComAtprotoNS constructor(client: XrpcClient) { this._client = client + this.atproto = new ComAtprotoNS(client) } } -export class PubLeafletThemeNS { +export class ComAtprotoNS { _client: XrpcClient + repo: ComAtprotoRepoNS constructor(client: XrpcClient) { this._client = client + this.repo = new ComAtprotoRepoNS(client) } } -export class CommentRecord { +export class ComAtprotoRepoNS { _client: XrpcClient constructor(client: XrpcClient) { this._client = client } - async list( - params: OmitKey, - ): Promise<{ - cursor?: string - records: { uri: string; value: PubLeafletComment.Record }[] - }> { - const res = await this._client.call('com.atproto.repo.listRecords', { - collection: 'pub.leaflet.comment', - ...params, - }) - return res.data + applyWrites( + data?: ComAtprotoRepoApplyWrites.InputSchema, + opts?: ComAtprotoRepoApplyWrites.CallOptions, + ): Promise { + return this._client + .call('com.atproto.repo.applyWrites', opts?.qp, data, opts) + .catch((e) => { + throw ComAtprotoRepoApplyWrites.toKnownErr(e) + }) } - async get( - params: OmitKey, - ): Promise<{ uri: string; cid: string; value: PubLeafletComment.Record }> { - const res = await this._client.call('com.atproto.repo.getRecord', { - collection: 'pub.leaflet.comment', - ...params, - }) - return res.data + createRecord( + data?: ComAtprotoRepoCreateRecord.InputSchema, + opts?: ComAtprotoRepoCreateRecord.CallOptions, + ): Promise { + return this._client + .call('com.atproto.repo.createRecord', opts?.qp, data, opts) + .catch((e) => { + throw ComAtprotoRepoCreateRecord.toKnownErr(e) + }) } - async create( - params: OmitKey< - ComAtprotoRepoCreateRecord.InputSchema, - 'collection' | 'record' - >, - record: Un$Typed, - headers?: Record, - ): Promise<{ uri: string; cid: string }> { - const collection = 'pub.leaflet.comment' - const res = await this._client.call( - 'com.atproto.repo.createRecord', - undefined, - { collection, ...params, record: { ...record, $type: collection } }, - { encoding: 'application/json', headers }, - ) - return res.data + deleteRecord( + data?: ComAtprotoRepoDeleteRecord.InputSchema, + opts?: ComAtprotoRepoDeleteRecord.CallOptions, + ): Promise { + return this._client + .call('com.atproto.repo.deleteRecord', opts?.qp, data, opts) + .catch((e) => { + throw ComAtprotoRepoDeleteRecord.toKnownErr(e) + }) } - async delete( - params: OmitKey, - headers?: Record, - ): Promise { - await this._client.call( - 'com.atproto.repo.deleteRecord', + describeRepo( + params?: ComAtprotoRepoDescribeRepo.QueryParams, + opts?: ComAtprotoRepoDescribeRepo.CallOptions, + ): Promise { + return this._client.call( + 'com.atproto.repo.describeRepo', + params, undefined, - { collection: 'pub.leaflet.comment', ...params }, - { headers }, + opts, ) } -} -export class DocumentRecord { - _client: XrpcClient - - constructor(client: XrpcClient) { - this._client = client + getRecord( + params?: ComAtprotoRepoGetRecord.QueryParams, + opts?: ComAtprotoRepoGetRecord.CallOptions, + ): Promise { + return this._client + .call('com.atproto.repo.getRecord', params, undefined, opts) + .catch((e) => { + throw ComAtprotoRepoGetRecord.toKnownErr(e) + }) } - async list( - params: OmitKey, - ): Promise<{ - cursor?: string - records: { uri: string; value: PubLeafletDocument.Record }[] - }> { - const res = await this._client.call('com.atproto.repo.listRecords', { - collection: 'pub.leaflet.document', - ...params, - }) - return res.data + importRepo( + data?: ComAtprotoRepoImportRepo.InputSchema, + opts?: ComAtprotoRepoImportRepo.CallOptions, + ): Promise { + return this._client.call( + 'com.atproto.repo.importRepo', + opts?.qp, + data, + opts, + ) } - async get( - params: OmitKey, - ): Promise<{ uri: string; cid: string; value: PubLeafletDocument.Record }> { - const res = await this._client.call('com.atproto.repo.getRecord', { - collection: 'pub.leaflet.document', - ...params, - }) - return res.data + listMissingBlobs( + params?: ComAtprotoRepoListMissingBlobs.QueryParams, + opts?: ComAtprotoRepoListMissingBlobs.CallOptions, + ): Promise { + return this._client.call( + 'com.atproto.repo.listMissingBlobs', + params, + undefined, + opts, + ) } - async create( - params: OmitKey< - ComAtprotoRepoCreateRecord.InputSchema, - 'collection' | 'record' - >, - record: Un$Typed, - headers?: Record, - ): Promise<{ uri: string; cid: string }> { - const collection = 'pub.leaflet.document' - const res = await this._client.call( - 'com.atproto.repo.createRecord', + listRecords( + params?: ComAtprotoRepoListRecords.QueryParams, + opts?: ComAtprotoRepoListRecords.CallOptions, + ): Promise { + return this._client.call( + 'com.atproto.repo.listRecords', + params, undefined, - { collection, ...params, record: { ...record, $type: collection } }, - { encoding: 'application/json', headers }, + opts, ) - return res.data } - async delete( - params: OmitKey, - headers?: Record, - ): Promise { - await this._client.call( - 'com.atproto.repo.deleteRecord', - undefined, - { collection: 'pub.leaflet.document', ...params }, - { headers }, + putRecord( + data?: ComAtprotoRepoPutRecord.InputSchema, + opts?: ComAtprotoRepoPutRecord.CallOptions, + ): Promise { + return this._client + .call('com.atproto.repo.putRecord', opts?.qp, data, opts) + .catch((e) => { + throw ComAtprotoRepoPutRecord.toKnownErr(e) + }) + } + + uploadBlob( + data?: ComAtprotoRepoUploadBlob.InputSchema, + opts?: ComAtprotoRepoUploadBlob.CallOptions, + ): Promise { + return this._client.call( + 'com.atproto.repo.uploadBlob', + opts?.qp, + data, + opts, ) } } -export class PublicationRecord { +export class PubNS { + _client: XrpcClient + leaflet: PubLeafletNS + + constructor(client: XrpcClient) { + this._client = client + this.leaflet = new PubLeafletNS(client) + } +} + +export class PubLeafletNS { + _client: XrpcClient + comment: PubLeafletCommentRecord + document: PubLeafletDocumentRecord + publication: PubLeafletPublicationRecord + blocks: PubLeafletBlocksNS + graph: PubLeafletGraphNS + pages: PubLeafletPagesNS + richtext: PubLeafletRichtextNS + theme: PubLeafletThemeNS + + constructor(client: XrpcClient) { + this._client = client + this.blocks = new PubLeafletBlocksNS(client) + this.graph = new PubLeafletGraphNS(client) + this.pages = new PubLeafletPagesNS(client) + this.richtext = new PubLeafletRichtextNS(client) + this.theme = new PubLeafletThemeNS(client) + this.comment = new PubLeafletCommentRecord(client) + this.document = new PubLeafletDocumentRecord(client) + this.publication = new PubLeafletPublicationRecord(client) + } +} + +export class PubLeafletBlocksNS { + _client: XrpcClient + + constructor(client: XrpcClient) { + this._client = client + } +} + +export class PubLeafletGraphNS { + _client: XrpcClient + subscription: PubLeafletGraphSubscriptionRecord + + constructor(client: XrpcClient) { + this._client = client + this.subscription = new PubLeafletGraphSubscriptionRecord(client) + } +} + +export class PubLeafletGraphSubscriptionRecord { _client: XrpcClient constructor(client: XrpcClient) { @@ -373,10 +423,10 @@ export class PublicationRecord { params: OmitKey, ): Promise<{ cursor?: string - records: { uri: string; value: PubLeafletPublication.Record }[] + records: { uri: string; value: PubLeafletGraphSubscription.Record }[] }> { const res = await this._client.call('com.atproto.repo.listRecords', { - collection: 'pub.leaflet.publication', + collection: 'pub.leaflet.graph.subscription', ...params, }) return res.data @@ -387,10 +437,10 @@ export class PublicationRecord { ): Promise<{ uri: string cid: string - value: PubLeafletPublication.Record + value: PubLeafletGraphSubscription.Record }> { const res = await this._client.call('com.atproto.repo.getRecord', { - collection: 'pub.leaflet.publication', + collection: 'pub.leaflet.graph.subscription', ...params, }) return res.data @@ -401,10 +451,10 @@ export class PublicationRecord { ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record' >, - record: Un$Typed, + record: Un$Typed, headers?: Record, ): Promise<{ uri: string; cid: string }> { - const collection = 'pub.leaflet.publication' + const collection = 'pub.leaflet.graph.subscription' const res = await this._client.call( 'com.atproto.repo.createRecord', undefined, @@ -414,6 +464,24 @@ export class PublicationRecord { return res.data } + async put( + params: OmitKey< + ComAtprotoRepoPutRecord.InputSchema, + 'collection' | 'record' + >, + record: Un$Typed, + headers?: Record, + ): Promise<{ uri: string; cid: string }> { + const collection = 'pub.leaflet.graph.subscription' + const res = await this._client.call( + 'com.atproto.repo.putRecord', + undefined, + { collection, ...params, record: { ...record, $type: collection } }, + { encoding: 'application/json', headers }, + ) + return res.data + } + async delete( params: OmitKey, headers?: Record, @@ -421,186 +489,195 @@ export class PublicationRecord { await this._client.call( 'com.atproto.repo.deleteRecord', undefined, - { collection: 'pub.leaflet.publication', ...params }, + { collection: 'pub.leaflet.graph.subscription', ...params }, { headers }, ) } } -export class ComNS { +export class PubLeafletPagesNS { _client: XrpcClient - atproto: ComAtprotoNS constructor(client: XrpcClient) { this._client = client - this.atproto = new ComAtprotoNS(client) } } -export class ComAtprotoNS { +export class PubLeafletRichtextNS { _client: XrpcClient - repo: ComAtprotoRepoNS constructor(client: XrpcClient) { this._client = client - this.repo = new ComAtprotoRepoNS(client) } } -export class ComAtprotoRepoNS { +export class PubLeafletThemeNS { _client: XrpcClient constructor(client: XrpcClient) { this._client = client } +} - applyWrites( - data?: ComAtprotoRepoApplyWrites.InputSchema, - opts?: ComAtprotoRepoApplyWrites.CallOptions, - ): Promise { - return this._client - .call('com.atproto.repo.applyWrites', opts?.qp, data, opts) - .catch((e) => { - throw ComAtprotoRepoApplyWrites.toKnownErr(e) - }) - } - - createRecord( - data?: ComAtprotoRepoCreateRecord.InputSchema, - opts?: ComAtprotoRepoCreateRecord.CallOptions, - ): Promise { - return this._client - .call('com.atproto.repo.createRecord', opts?.qp, data, opts) - .catch((e) => { - throw ComAtprotoRepoCreateRecord.toKnownErr(e) - }) - } - - deleteRecord( - data?: ComAtprotoRepoDeleteRecord.InputSchema, - opts?: ComAtprotoRepoDeleteRecord.CallOptions, - ): Promise { - return this._client - .call('com.atproto.repo.deleteRecord', opts?.qp, data, opts) - .catch((e) => { - throw ComAtprotoRepoDeleteRecord.toKnownErr(e) - }) - } +export class PubLeafletCommentRecord { + _client: XrpcClient - describeRepo( - params?: ComAtprotoRepoDescribeRepo.QueryParams, - opts?: ComAtprotoRepoDescribeRepo.CallOptions, - ): Promise { - return this._client.call( - 'com.atproto.repo.describeRepo', - params, - undefined, - opts, - ) + constructor(client: XrpcClient) { + this._client = client } - getRecord( - params?: ComAtprotoRepoGetRecord.QueryParams, - opts?: ComAtprotoRepoGetRecord.CallOptions, - ): Promise { - return this._client - .call('com.atproto.repo.getRecord', params, undefined, opts) - .catch((e) => { - throw ComAtprotoRepoGetRecord.toKnownErr(e) - }) + async list( + params: OmitKey, + ): Promise<{ + cursor?: string + records: { uri: string; value: PubLeafletComment.Record }[] + }> { + const res = await this._client.call('com.atproto.repo.listRecords', { + collection: 'pub.leaflet.comment', + ...params, + }) + return res.data } - importRepo( - data?: ComAtprotoRepoImportRepo.InputSchema, - opts?: ComAtprotoRepoImportRepo.CallOptions, - ): Promise { - return this._client.call( - 'com.atproto.repo.importRepo', - opts?.qp, - data, - opts, - ) + async get( + params: OmitKey, + ): Promise<{ uri: string; cid: string; value: PubLeafletComment.Record }> { + const res = await this._client.call('com.atproto.repo.getRecord', { + collection: 'pub.leaflet.comment', + ...params, + }) + return res.data } - listMissingBlobs( - params?: ComAtprotoRepoListMissingBlobs.QueryParams, - opts?: ComAtprotoRepoListMissingBlobs.CallOptions, - ): Promise { - return this._client.call( - 'com.atproto.repo.listMissingBlobs', - params, + async create( + params: OmitKey< + ComAtprotoRepoCreateRecord.InputSchema, + 'collection' | 'record' + >, + record: Un$Typed, + headers?: Record, + ): Promise<{ uri: string; cid: string }> { + const collection = 'pub.leaflet.comment' + const res = await this._client.call( + 'com.atproto.repo.createRecord', undefined, - opts, + { collection, ...params, record: { ...record, $type: collection } }, + { encoding: 'application/json', headers }, ) + return res.data } - listRecords( - params?: ComAtprotoRepoListRecords.QueryParams, - opts?: ComAtprotoRepoListRecords.CallOptions, - ): Promise { - return this._client.call( - 'com.atproto.repo.listRecords', - params, + async put( + params: OmitKey< + ComAtprotoRepoPutRecord.InputSchema, + 'collection' | 'record' + >, + record: Un$Typed, + headers?: Record, + ): Promise<{ uri: string; cid: string }> { + const collection = 'pub.leaflet.comment' + const res = await this._client.call( + 'com.atproto.repo.putRecord', undefined, - opts, + { collection, ...params, record: { ...record, $type: collection } }, + { encoding: 'application/json', headers }, ) + return res.data } - putRecord( - data?: ComAtprotoRepoPutRecord.InputSchema, - opts?: ComAtprotoRepoPutRecord.CallOptions, - ): Promise { - return this._client - .call('com.atproto.repo.putRecord', opts?.qp, data, opts) - .catch((e) => { - throw ComAtprotoRepoPutRecord.toKnownErr(e) - }) - } - - uploadBlob( - data?: ComAtprotoRepoUploadBlob.InputSchema, - opts?: ComAtprotoRepoUploadBlob.CallOptions, - ): Promise { - return this._client.call( - 'com.atproto.repo.uploadBlob', - opts?.qp, - data, - opts, + async delete( + params: OmitKey, + headers?: Record, + ): Promise { + await this._client.call( + 'com.atproto.repo.deleteRecord', + undefined, + { collection: 'pub.leaflet.comment', ...params }, + { headers }, ) } } -export class AppNS { +export class PubLeafletDocumentRecord { _client: XrpcClient - bsky: AppBskyNS constructor(client: XrpcClient) { this._client = client - this.bsky = new AppBskyNS(client) } -} -export class AppBskyNS { - _client: XrpcClient - actor: AppBskyActorNS + async list( + params: OmitKey, + ): Promise<{ + cursor?: string + records: { uri: string; value: PubLeafletDocument.Record }[] + }> { + const res = await this._client.call('com.atproto.repo.listRecords', { + collection: 'pub.leaflet.document', + ...params, + }) + return res.data + } - constructor(client: XrpcClient) { - this._client = client - this.actor = new AppBskyActorNS(client) + async get( + params: OmitKey, + ): Promise<{ uri: string; cid: string; value: PubLeafletDocument.Record }> { + const res = await this._client.call('com.atproto.repo.getRecord', { + collection: 'pub.leaflet.document', + ...params, + }) + return res.data } -} -export class AppBskyActorNS { - _client: XrpcClient - profile: ProfileRecord + async create( + params: OmitKey< + ComAtprotoRepoCreateRecord.InputSchema, + 'collection' | 'record' + >, + record: Un$Typed, + headers?: Record, + ): Promise<{ uri: string; cid: string }> { + const collection = 'pub.leaflet.document' + const res = await this._client.call( + 'com.atproto.repo.createRecord', + undefined, + { collection, ...params, record: { ...record, $type: collection } }, + { encoding: 'application/json', headers }, + ) + return res.data + } - constructor(client: XrpcClient) { - this._client = client - this.profile = new ProfileRecord(client) + async put( + params: OmitKey< + ComAtprotoRepoPutRecord.InputSchema, + 'collection' | 'record' + >, + record: Un$Typed, + headers?: Record, + ): Promise<{ uri: string; cid: string }> { + const collection = 'pub.leaflet.document' + const res = await this._client.call( + 'com.atproto.repo.putRecord', + undefined, + { collection, ...params, record: { ...record, $type: collection } }, + { encoding: 'application/json', headers }, + ) + return res.data + } + + async delete( + params: OmitKey, + headers?: Record, + ): Promise { + await this._client.call( + 'com.atproto.repo.deleteRecord', + undefined, + { collection: 'pub.leaflet.document', ...params }, + { headers }, + ) } } -export class ProfileRecord { +export class PubLeafletPublicationRecord { _client: XrpcClient constructor(client: XrpcClient) { @@ -611,10 +688,10 @@ export class ProfileRecord { params: OmitKey, ): Promise<{ cursor?: string - records: { uri: string; value: AppBskyActorProfile.Record }[] + records: { uri: string; value: PubLeafletPublication.Record }[] }> { const res = await this._client.call('com.atproto.repo.listRecords', { - collection: 'app.bsky.actor.profile', + collection: 'pub.leaflet.publication', ...params, }) return res.data @@ -622,9 +699,13 @@ export class ProfileRecord { async get( params: OmitKey, - ): Promise<{ uri: string; cid: string; value: AppBskyActorProfile.Record }> { + ): Promise<{ + uri: string + cid: string + value: PubLeafletPublication.Record + }> { const res = await this._client.call('com.atproto.repo.getRecord', { - collection: 'app.bsky.actor.profile', + collection: 'pub.leaflet.publication', ...params, }) return res.data @@ -635,19 +716,32 @@ export class ProfileRecord { ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record' >, - record: Un$Typed, + record: Un$Typed, headers?: Record, ): Promise<{ uri: string; cid: string }> { - const collection = 'app.bsky.actor.profile' + const collection = 'pub.leaflet.publication' const res = await this._client.call( 'com.atproto.repo.createRecord', undefined, - { - collection, - rkey: 'self', - ...params, - record: { ...record, $type: collection }, - }, + { collection, ...params, record: { ...record, $type: collection } }, + { encoding: 'application/json', headers }, + ) + return res.data + } + + async put( + params: OmitKey< + ComAtprotoRepoPutRecord.InputSchema, + 'collection' | 'record' + >, + record: Un$Typed, + headers?: Record, + ): Promise<{ uri: string; cid: string }> { + const collection = 'pub.leaflet.publication' + const res = await this._client.call( + 'com.atproto.repo.putRecord', + undefined, + { collection, ...params, record: { ...record, $type: collection } }, { encoding: 'application/json', headers }, ) return res.data @@ -660,7 +754,7 @@ export class ProfileRecord { await this._client.call( 'com.atproto.repo.deleteRecord', undefined, - { collection: 'app.bsky.actor.profile', ...params }, + { collection: 'pub.leaflet.publication', ...params }, { headers }, ) } diff --git a/lexicons/api/lexicons.ts b/lexicons/api/lexicons.ts index ed01a3ee..7b367c5a 100644 --- a/lexicons/api/lexicons.ts +++ b/lexicons/api/lexicons.ts @@ -2,982 +2,896 @@ * GENERATED CODE - DO NOT MODIFY */ import { - LexiconDoc, + type LexiconDoc, Lexicons, ValidationError, - ValidationResult, + type ValidationResult, } from '@atproto/lexicon' -import { $Typed, is$typed, maybe$typed } from './util' +import { type $Typed, is$typed, maybe$typed } from './util' export const schemaDict = { - PubLeafletComment: { + AppBskyActorProfile: { lexicon: 1, - id: 'pub.leaflet.comment', - revision: 1, - description: 'A lexicon for comments on documents', + id: 'app.bsky.actor.profile', defs: { main: { type: 'record', - key: 'tid', - description: 'Record containing a comment', + description: 'A declaration of a Bluesky account profile.', + key: 'literal:self', record: { type: 'object', - required: ['subject', 'plaintext', 'createdAt'], properties: { - subject: { + displayName: { type: 'string', - format: 'at-uri', + maxGraphemes: 64, + maxLength: 640, }, - createdAt: { + description: { type: 'string', - format: 'datetime', - }, - reply: { - type: 'ref', - ref: 'lex:pub.leaflet.comment#replyRef', + description: 'Free-form profile description text.', + maxGraphemes: 256, + maxLength: 2560, }, - plaintext: { - type: 'string', + avatar: { + type: 'blob', + description: + "Small image to be displayed next to posts from account. AKA, 'profile picture'", + accept: ['image/png', 'image/jpeg'], + maxSize: 1000000, }, - facets: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:pub.leaflet.richtext.facet', - }, + banner: { + type: 'blob', + description: + 'Larger horizontal image to display behind profile view.', + accept: ['image/png', 'image/jpeg'], + maxSize: 1000000, }, - attachment: { + labels: { type: 'union', - refs: ['lex:pub.leaflet.comment#linearDocumentQuote'], - }, - }, - }, - }, - linearDocumentQuote: { - type: 'object', - required: ['document', 'quote'], - properties: { - document: { - type: 'string', - format: 'at-uri', - }, - quote: { - type: 'ref', - ref: 'lex:pub.leaflet.pages.linearDocument#quote', - }, - }, - }, - replyRef: { - type: 'object', - required: ['parent'], - properties: { - parent: { - type: 'string', - format: 'at-uri', - }, - }, - }, - }, - }, - PubLeafletDocument: { - lexicon: 1, - id: 'pub.leaflet.document', - revision: 1, - description: 'A lexicon for long form rich media documents', - defs: { - main: { - type: 'record', - key: 'tid', - description: 'Record containing a document', - record: { - type: 'object', - required: ['pages', 'author', 'title', 'publication'], - properties: { - title: { - type: 'string', - maxLength: 1280, - maxGraphemes: 128, + description: + 'Self-label values, specific to the Bluesky application, on the overall account.', + refs: ['lex:com.atproto.label.defs#selfLabels'], }, - postRef: { + joinedViaStarterPack: { type: 'ref', ref: 'lex:com.atproto.repo.strongRef', }, - description: { - type: 'string', - maxLength: 3000, - maxGraphemes: 300, + pinnedPost: { + type: 'ref', + ref: 'lex:com.atproto.repo.strongRef', }, - publishedAt: { + createdAt: { type: 'string', format: 'datetime', }, - publication: { - type: 'string', - format: 'at-uri', - }, - author: { - type: 'string', - format: 'at-identifier', - }, - pages: { - type: 'array', - items: { - type: 'union', - refs: ['lex:pub.leaflet.pages.linearDocument'], - }, - }, }, }, }, }, }, - PubLeafletPublication: { + ComAtprotoLabelDefs: { lexicon: 1, - id: 'pub.leaflet.publication', + id: 'com.atproto.label.defs', defs: { - main: { - type: 'record', - key: 'tid', - description: 'Record declaring a publication', - record: { - type: 'object', - required: ['name'], - properties: { - name: { - type: 'string', - maxLength: 2000, - }, - base_path: { - type: 'string', - format: 'uri', - }, - description: { - type: 'string', - maxLength: 2000, - }, - icon: { - type: 'blob', - accept: ['image/*'], - maxSize: 1000000, - }, - theme: { - type: 'ref', - ref: 'lex:pub.leaflet.publication#theme', - }, - preferences: { - type: 'ref', - ref: 'lex:pub.leaflet.publication#preferences', - }, - }, - }, - }, - preferences: { + label: { type: 'object', + description: + 'Metadata tag on an atproto resource (eg, repo or record).', + required: ['src', 'uri', 'val', 'cts'], properties: { - showInDiscover: { - type: 'boolean', - default: true, - }, - showComments: { - type: 'boolean', - default: true, + ver: { + type: 'integer', + description: 'The AT Protocol version of the label object.', }, - }, - }, - theme: { - type: 'object', - properties: { - backgroundColor: { - type: 'union', - refs: [ - 'lex:pub.leaflet.theme.color#rgba', - 'lex:pub.leaflet.theme.color#rgb', - ], + src: { + type: 'string', + format: 'did', + description: 'DID of the actor who created this label.', }, - backgroundImage: { - type: 'ref', - ref: 'lex:pub.leaflet.theme.backgroundImage', + uri: { + type: 'string', + format: 'uri', + description: + 'AT URI of the record, repository (account), or other resource that this label applies to.', }, - primary: { - type: 'union', - refs: [ - 'lex:pub.leaflet.theme.color#rgba', - 'lex:pub.leaflet.theme.color#rgb', - ], + cid: { + type: 'string', + format: 'cid', + description: + "Optionally, CID specifying the specific version of 'uri' resource this label applies to.", }, - pageBackground: { - type: 'union', - refs: [ - 'lex:pub.leaflet.theme.color#rgba', - 'lex:pub.leaflet.theme.color#rgb', - ], + val: { + type: 'string', + maxLength: 128, + description: + 'The short string name of the value or type of this label.', }, - showPageBackground: { + neg: { type: 'boolean', - default: false, + description: + 'If true, this is a negation label, overwriting a previous label.', }, - accentBackground: { - type: 'union', - refs: [ - 'lex:pub.leaflet.theme.color#rgba', - 'lex:pub.leaflet.theme.color#rgb', - ], + cts: { + type: 'string', + format: 'datetime', + description: 'Timestamp when this label was created.', }, - accentText: { - type: 'union', - refs: [ - 'lex:pub.leaflet.theme.color#rgba', - 'lex:pub.leaflet.theme.color#rgb', - ], + exp: { + type: 'string', + format: 'datetime', + description: + 'Timestamp at which this label expires (no longer applies).', + }, + sig: { + type: 'bytes', + description: 'Signature of dag-cbor encoded label.', }, }, }, - }, - }, - PubLeafletBlocksBlockquote: { - lexicon: 1, - id: 'pub.leaflet.blocks.blockquote', - defs: { - main: { + selfLabels: { type: 'object', - required: ['plaintext'], + description: + 'Metadata tags on an atproto record, published by the author within the record.', + required: ['values'], properties: { - plaintext: { - type: 'string', - }, - facets: { + values: { type: 'array', items: { type: 'ref', - ref: 'lex:pub.leaflet.richtext.facet', + ref: 'lex:com.atproto.label.defs#selfLabel', }, + maxLength: 10, }, }, }, - }, - }, - PubLeafletBlocksBskyPost: { - lexicon: 1, - id: 'pub.leaflet.blocks.bskyPost', - defs: { - main: { + selfLabel: { type: 'object', - required: ['postRef'], + description: + 'Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.', + required: ['val'], properties: { - postRef: { - type: 'ref', - ref: 'lex:com.atproto.repo.strongRef', + val: { + type: 'string', + maxLength: 128, + description: + 'The short string name of the value or type of this label.', }, }, }, - }, - }, - PubLeafletBlocksCode: { - lexicon: 1, - id: 'pub.leaflet.blocks.code', - defs: { - main: { + labelValueDefinition: { type: 'object', - required: ['plaintext'], + description: + 'Declares a label value and its expected interpretations and behaviors.', + required: ['identifier', 'severity', 'blurs', 'locales'], properties: { - plaintext: { + identifier: { type: 'string', + description: + "The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).", + maxLength: 100, + maxGraphemes: 100, }, - language: { + severity: { type: 'string', + description: + "How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing.", + knownValues: ['inform', 'alert', 'none'], }, - syntaxHighlightingTheme: { + blurs: { type: 'string', + description: + "What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing.", + knownValues: ['content', 'media', 'none'], }, - }, - }, - }, - }, - PubLeafletBlocksHeader: { - lexicon: 1, - id: 'pub.leaflet.blocks.header', - defs: { - main: { - type: 'object', - required: ['plaintext'], - properties: { - level: { - type: 'integer', - minimum: 1, - maximum: 6, - }, - plaintext: { + defaultSetting: { type: 'string', + description: 'The default setting for this label.', + knownValues: ['ignore', 'warn', 'hide'], + default: 'warn', }, - facets: { + adultOnly: { + type: 'boolean', + description: + 'Does the user need to have adult content enabled in order to configure this label?', + }, + locales: { type: 'array', items: { type: 'ref', - ref: 'lex:pub.leaflet.richtext.facet', + ref: 'lex:com.atproto.label.defs#labelValueDefinitionStrings', }, }, }, }, - }, - }, - PubLeafletBlocksHorizontalRule: { - lexicon: 1, - id: 'pub.leaflet.blocks.horizontalRule', - defs: { - main: { - type: 'object', - required: [], - properties: {}, - }, - }, - }, - PubLeafletBlocksIframe: { - lexicon: 1, - id: 'pub.leaflet.blocks.iframe', - defs: { - main: { + labelValueDefinitionStrings: { type: 'object', - required: ['url'], + description: + 'Strings which describe the label in the UI, localized into a specific language.', + required: ['lang', 'name', 'description'], properties: { - url: { + lang: { type: 'string', - format: 'uri', - }, - height: { - type: 'integer', - minimum: 16, - maximum: 1600, + description: + 'The code of the language these strings are written in.', + format: 'language', }, - }, - }, - }, - }, - PubLeafletBlocksImage: { - lexicon: 1, - id: 'pub.leaflet.blocks.image', - defs: { - main: { - type: 'object', - required: ['image', 'aspectRatio'], - properties: { - image: { - type: 'blob', - accept: ['image/*'], - maxSize: 1000000, + name: { + type: 'string', + description: 'A short human-readable name for the label.', + maxGraphemes: 64, + maxLength: 640, }, - alt: { + description: { type: 'string', description: - 'Alt text description of the image, for accessibility.', - }, - aspectRatio: { - type: 'ref', - ref: 'lex:pub.leaflet.blocks.image#aspectRatio', + 'A longer description of what the label means and why it might be applied.', + maxGraphemes: 10000, + maxLength: 100000, }, }, }, - aspectRatio: { - type: 'object', - required: ['width', 'height'], - properties: { - width: { - type: 'integer', - }, - height: { - type: 'integer', - }, - }, + labelValue: { + type: 'string', + knownValues: [ + '!hide', + '!no-promote', + '!warn', + '!no-unauthenticated', + 'dmca-violation', + 'doxxing', + 'porn', + 'sexual', + 'nudity', + 'nsfl', + 'gore', + ], }, }, }, - PubLeafletBlocksMath: { + ComAtprotoRepoApplyWrites: { lexicon: 1, - id: 'pub.leaflet.blocks.math', + id: 'com.atproto.repo.applyWrites', defs: { main: { - type: 'object', - required: ['tex'], - properties: { - tex: { - type: 'string', + type: 'procedure', + description: + 'Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS.', + input: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['repo', 'writes'], + properties: { + repo: { + type: 'string', + format: 'at-identifier', + description: + 'The handle or DID of the repo (aka, current account).', + }, + validate: { + type: 'boolean', + description: + "Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons.", + }, + writes: { + type: 'array', + items: { + type: 'union', + refs: [ + 'lex:com.atproto.repo.applyWrites#create', + 'lex:com.atproto.repo.applyWrites#update', + 'lex:com.atproto.repo.applyWrites#delete', + ], + closed: true, + }, + }, + swapCommit: { + type: 'string', + description: + 'If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations.', + format: 'cid', + }, + }, }, }, - }, - }, - }, - PubLeafletBlocksText: { - lexicon: 1, - id: 'pub.leaflet.blocks.text', - defs: { - main: { - type: 'object', - required: ['plaintext'], - properties: { - plaintext: { - type: 'string', - }, - facets: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:pub.leaflet.richtext.facet', + output: { + encoding: 'application/json', + schema: { + type: 'object', + required: [], + properties: { + commit: { + type: 'ref', + ref: 'lex:com.atproto.repo.defs#commitMeta', + }, + results: { + type: 'array', + items: { + type: 'union', + refs: [ + 'lex:com.atproto.repo.applyWrites#createResult', + 'lex:com.atproto.repo.applyWrites#updateResult', + 'lex:com.atproto.repo.applyWrites#deleteResult', + ], + closed: true, + }, + }, }, }, }, - }, - }, - }, - PubLeafletBlocksUnorderedList: { - lexicon: 1, - id: 'pub.leaflet.blocks.unorderedList', - defs: { - main: { - type: 'object', - required: ['children'], - properties: { - children: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:pub.leaflet.blocks.unorderedList#listItem', - }, + errors: [ + { + name: 'InvalidSwap', + description: + "Indicates that the 'swapCommit' parameter did not match current commit.", }, - }, + ], }, - listItem: { + create: { type: 'object', - required: ['content'], + description: 'Operation which creates a new record.', + required: ['collection', 'value'], properties: { - content: { - type: 'union', - refs: [ - 'lex:pub.leaflet.blocks.text', - 'lex:pub.leaflet.blocks.header', - 'lex:pub.leaflet.blocks.image', - ], + collection: { + type: 'string', + format: 'nsid', }, - children: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:pub.leaflet.blocks.unorderedList#listItem', - }, + rkey: { + type: 'string', + maxLength: 512, + format: 'record-key', + description: + 'NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility.', + }, + value: { + type: 'unknown', }, }, }, - }, - }, - PubLeafletBlocksWebsite: { - lexicon: 1, - id: 'pub.leaflet.blocks.website', - defs: { - main: { + update: { type: 'object', - required: ['src'], + description: 'Operation which updates an existing record.', + required: ['collection', 'rkey', 'value'], properties: { - previewImage: { - type: 'blob', - accept: ['image/*'], - maxSize: 1000000, - }, - title: { - type: 'string', - }, - description: { + collection: { type: 'string', + format: 'nsid', }, - src: { + rkey: { type: 'string', - format: 'uri', + format: 'record-key', }, - }, - }, - }, - }, - PubLeafletGraphSubscription: { - lexicon: 1, - id: 'pub.leaflet.graph.subscription', - defs: { - main: { - type: 'record', - key: 'tid', - description: 'Record declaring a subscription to a publication', - record: { - type: 'object', - required: ['publication'], - properties: { - publication: { - type: 'string', - format: 'at-uri', - }, + value: { + type: 'unknown', }, }, }, - }, - }, - PubLeafletPagesLinearDocument: { - lexicon: 1, - id: 'pub.leaflet.pages.linearDocument', - defs: { - main: { + delete: { type: 'object', + description: 'Operation which deletes an existing record.', + required: ['collection', 'rkey'], properties: { - blocks: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:pub.leaflet.pages.linearDocument#block', - }, + collection: { + type: 'string', + format: 'nsid', + }, + rkey: { + type: 'string', + format: 'record-key', }, }, }, - block: { + createResult: { type: 'object', - required: ['block'], + required: ['uri', 'cid'], properties: { - block: { - type: 'union', - refs: [ - 'lex:pub.leaflet.blocks.iframe', - 'lex:pub.leaflet.blocks.text', - 'lex:pub.leaflet.blocks.blockquote', - 'lex:pub.leaflet.blocks.header', - 'lex:pub.leaflet.blocks.image', - 'lex:pub.leaflet.blocks.unorderedList', - 'lex:pub.leaflet.blocks.website', - 'lex:pub.leaflet.blocks.math', - 'lex:pub.leaflet.blocks.code', - 'lex:pub.leaflet.blocks.horizontalRule', - 'lex:pub.leaflet.blocks.bskyPost', - ], + uri: { + type: 'string', + format: 'at-uri', }, - alignment: { + cid: { type: 'string', - knownValues: [ - 'lex:pub.leaflet.pages.linearDocument#textAlignLeft', - 'lex:pub.leaflet.pages.linearDocument#textAlignCenter', - 'lex:pub.leaflet.pages.linearDocument#textAlignRight', - 'lex:pub.leaflet.pages.linearDocument#textAlignJustify', - ], + format: 'cid', + }, + validationStatus: { + type: 'string', + knownValues: ['valid', 'unknown'], }, }, }, - textAlignLeft: { - type: 'token', - }, - textAlignCenter: { - type: 'token', - }, - textAlignRight: { - type: 'token', - }, - quote: { + updateResult: { type: 'object', - required: ['start', 'end'], + required: ['uri', 'cid'], properties: { - start: { - type: 'ref', - ref: 'lex:pub.leaflet.pages.linearDocument#position', + uri: { + type: 'string', + format: 'at-uri', }, - end: { - type: 'ref', - ref: 'lex:pub.leaflet.pages.linearDocument#position', + cid: { + type: 'string', + format: 'cid', + }, + validationStatus: { + type: 'string', + knownValues: ['valid', 'unknown'], }, }, }, - position: { + deleteResult: { type: 'object', - required: ['block', 'offset'], - properties: { - block: { - type: 'array', - items: { - type: 'integer', - }, - }, - offset: { - type: 'integer', - }, - }, + required: [], + properties: {}, }, }, }, - PubLeafletRichtextFacet: { + ComAtprotoRepoCreateRecord: { lexicon: 1, - id: 'pub.leaflet.richtext.facet', + id: 'com.atproto.repo.createRecord', defs: { main: { - type: 'object', - description: 'Annotation of a sub-string within rich text.', - required: ['index', 'features'], - properties: { - index: { - type: 'ref', - ref: 'lex:pub.leaflet.richtext.facet#byteSlice', - }, - features: { - type: 'array', - items: { - type: 'union', - refs: [ - 'lex:pub.leaflet.richtext.facet#link', - 'lex:pub.leaflet.richtext.facet#code', - 'lex:pub.leaflet.richtext.facet#highlight', - 'lex:pub.leaflet.richtext.facet#underline', - 'lex:pub.leaflet.richtext.facet#strikethrough', - 'lex:pub.leaflet.richtext.facet#id', - 'lex:pub.leaflet.richtext.facet#bold', - 'lex:pub.leaflet.richtext.facet#italic', - ], - }, - }, - }, - }, - byteSlice: { - type: 'object', + type: 'procedure', description: - 'Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.', - required: ['byteStart', 'byteEnd'], - properties: { - byteStart: { - type: 'integer', - minimum: 0, + 'Create a single new repository record. Requires auth, implemented by PDS.', + input: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['repo', 'collection', 'record'], + properties: { + repo: { + type: 'string', + format: 'at-identifier', + description: + 'The handle or DID of the repo (aka, current account).', + }, + collection: { + type: 'string', + format: 'nsid', + description: 'The NSID of the record collection.', + }, + rkey: { + type: 'string', + format: 'record-key', + description: 'The Record Key.', + maxLength: 512, + }, + validate: { + type: 'boolean', + description: + "Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.", + }, + record: { + type: 'unknown', + description: 'The record itself. Must contain a $type field.', + }, + swapCommit: { + type: 'string', + format: 'cid', + description: + 'Compare and swap with the previous commit by CID.', + }, + }, }, - byteEnd: { - type: 'integer', - minimum: 0, + }, + output: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['uri', 'cid'], + properties: { + uri: { + type: 'string', + format: 'at-uri', + }, + cid: { + type: 'string', + format: 'cid', + }, + commit: { + type: 'ref', + ref: 'lex:com.atproto.repo.defs#commitMeta', + }, + validationStatus: { + type: 'string', + knownValues: ['valid', 'unknown'], + }, + }, }, }, + errors: [ + { + name: 'InvalidSwap', + description: + "Indicates that 'swapCommit' didn't match current repo commit.", + }, + ], }, - link: { + }, + }, + ComAtprotoRepoDefs: { + lexicon: 1, + id: 'com.atproto.repo.defs', + defs: { + commitMeta: { type: 'object', - description: - 'Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.', - required: ['uri'], + required: ['cid', 'rev'], properties: { - uri: { + cid: { type: 'string', - format: 'uri', + format: 'cid', }, - }, - }, - code: { - type: 'object', - description: 'Facet feature for inline code.', - required: [], - properties: {}, - }, - highlight: { - type: 'object', - description: 'Facet feature for highlighted text.', - required: [], - properties: {}, - }, - underline: { - type: 'object', - description: 'Facet feature for underline markup', - required: [], - properties: {}, - }, - strikethrough: { - type: 'object', - description: 'Facet feature for strikethrough markup', - required: [], - properties: {}, - }, - id: { - type: 'object', - description: - 'Facet feature for an identifier. Used for linking to a segment', - required: [], - properties: { - id: { + rev: { type: 'string', + format: 'tid', }, }, }, - bold: { - type: 'object', - description: 'Facet feature for bold text', - required: [], - properties: {}, - }, - italic: { - type: 'object', - description: 'Facet feature for italic text', - required: [], - properties: {}, - }, }, }, - PubLeafletThemeBackgroundImage: { + ComAtprotoRepoDeleteRecord: { lexicon: 1, - id: 'pub.leaflet.theme.backgroundImage', + id: 'com.atproto.repo.deleteRecord', defs: { main: { - type: 'object', - required: ['image'], - properties: { - image: { - type: 'blob', - accept: ['image/*'], - maxSize: 1000000, - }, - width: { - type: 'integer', + type: 'procedure', + description: + "Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.", + input: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['repo', 'collection', 'rkey'], + properties: { + repo: { + type: 'string', + format: 'at-identifier', + description: + 'The handle or DID of the repo (aka, current account).', + }, + collection: { + type: 'string', + format: 'nsid', + description: 'The NSID of the record collection.', + }, + rkey: { + type: 'string', + format: 'record-key', + description: 'The Record Key.', + }, + swapRecord: { + type: 'string', + format: 'cid', + description: + 'Compare and swap with the previous record by CID.', + }, + swapCommit: { + type: 'string', + format: 'cid', + description: + 'Compare and swap with the previous commit by CID.', + }, + }, }, - repeat: { - type: 'boolean', + }, + output: { + encoding: 'application/json', + schema: { + type: 'object', + properties: { + commit: { + type: 'ref', + ref: 'lex:com.atproto.repo.defs#commitMeta', + }, + }, }, }, + errors: [ + { + name: 'InvalidSwap', + }, + ], }, }, }, - PubLeafletThemeColor: { + ComAtprotoRepoDescribeRepo: { lexicon: 1, - id: 'pub.leaflet.theme.color', + id: 'com.atproto.repo.describeRepo', defs: { - rgba: { - type: 'object', - required: ['r', 'g', 'b', 'a'], - properties: { - r: { - type: 'integer', - maximum: 255, - minimum: 0, - }, - g: { - type: 'integer', - maximum: 255, - minimum: 0, - }, - b: { - type: 'integer', - maximum: 255, - minimum: 0, - }, - a: { - type: 'integer', - maximum: 100, - minimum: 0, + main: { + type: 'query', + description: + 'Get information about an account and repository, including the list of collections. Does not require auth.', + parameters: { + type: 'params', + required: ['repo'], + properties: { + repo: { + type: 'string', + format: 'at-identifier', + description: 'The handle or DID of the repo.', + }, }, }, - }, - rgb: { - type: 'object', - required: ['r', 'g', 'b'], - properties: { - r: { - type: 'integer', - maximum: 255, - minimum: 0, - }, - g: { - type: 'integer', - maximum: 255, - minimum: 0, - }, - b: { - type: 'integer', - maximum: 255, - minimum: 0, + output: { + encoding: 'application/json', + schema: { + type: 'object', + required: [ + 'handle', + 'did', + 'didDoc', + 'collections', + 'handleIsCorrect', + ], + properties: { + handle: { + type: 'string', + format: 'handle', + }, + did: { + type: 'string', + format: 'did', + }, + didDoc: { + type: 'unknown', + description: 'The complete DID document for this account.', + }, + collections: { + type: 'array', + description: + 'List of all the collections (NSIDs) for which this repo contains at least one record.', + items: { + type: 'string', + format: 'nsid', + }, + }, + handleIsCorrect: { + type: 'boolean', + description: + 'Indicates if handle is currently valid (resolves bi-directionally)', + }, + }, }, }, }, }, }, - ComAtprotoLabelDefs: { + ComAtprotoRepoGetRecord: { lexicon: 1, - id: 'com.atproto.label.defs', + id: 'com.atproto.repo.getRecord', defs: { - label: { - type: 'object', + main: { + type: 'query', description: - 'Metadata tag on an atproto resource (eg, repo or record).', - required: ['src', 'uri', 'val', 'cts'], - properties: { - ver: { - type: 'integer', - description: 'The AT Protocol version of the label object.', - }, - src: { - type: 'string', - format: 'did', - description: 'DID of the actor who created this label.', - }, - uri: { - type: 'string', - format: 'uri', - description: - 'AT URI of the record, repository (account), or other resource that this label applies to.', - }, - cid: { - type: 'string', - format: 'cid', - description: - "Optionally, CID specifying the specific version of 'uri' resource this label applies to.", - }, - val: { - type: 'string', - maxLength: 128, - description: - 'The short string name of the value or type of this label.', - }, - neg: { - type: 'boolean', - description: - 'If true, this is a negation label, overwriting a previous label.', - }, - cts: { - type: 'string', - format: 'datetime', - description: 'Timestamp when this label was created.', - }, - exp: { - type: 'string', - format: 'datetime', - description: - 'Timestamp at which this label expires (no longer applies).', + 'Get a single record from a repository. Does not require auth.', + parameters: { + type: 'params', + required: ['repo', 'collection', 'rkey'], + properties: { + repo: { + type: 'string', + format: 'at-identifier', + description: 'The handle or DID of the repo.', + }, + collection: { + type: 'string', + format: 'nsid', + description: 'The NSID of the record collection.', + }, + rkey: { + type: 'string', + description: 'The Record Key.', + format: 'record-key', + }, + cid: { + type: 'string', + format: 'cid', + description: + 'The CID of the version of the record. If not specified, then return the most recent version.', + }, }, - sig: { - type: 'bytes', - description: 'Signature of dag-cbor encoded label.', + }, + output: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['uri', 'value'], + properties: { + uri: { + type: 'string', + format: 'at-uri', + }, + cid: { + type: 'string', + format: 'cid', + }, + value: { + type: 'unknown', + }, + }, }, }, + errors: [ + { + name: 'RecordNotFound', + }, + ], }, - selfLabels: { - type: 'object', + }, + }, + ComAtprotoRepoImportRepo: { + lexicon: 1, + id: 'com.atproto.repo.importRepo', + defs: { + main: { + type: 'procedure', description: - 'Metadata tags on an atproto record, published by the author within the record.', - required: ['values'], - properties: { - values: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:com.atproto.label.defs#selfLabel', - }, - maxLength: 10, - }, + 'Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.', + input: { + encoding: 'application/vnd.ipld.car', }, }, - selfLabel: { - type: 'object', + }, + }, + ComAtprotoRepoListMissingBlobs: { + lexicon: 1, + id: 'com.atproto.repo.listMissingBlobs', + defs: { + main: { + type: 'query', description: - 'Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.', - required: ['val'], - properties: { - val: { - type: 'string', - maxLength: 128, - description: - 'The short string name of the value or type of this label.', + 'Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow.', + parameters: { + type: 'params', + properties: { + limit: { + type: 'integer', + minimum: 1, + maximum: 1000, + default: 500, + }, + cursor: { + type: 'string', + }, + }, + }, + output: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['blobs'], + properties: { + cursor: { + type: 'string', + }, + blobs: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:com.atproto.repo.listMissingBlobs#recordBlob', + }, + }, + }, }, }, }, - labelValueDefinition: { + recordBlob: { type: 'object', - description: - 'Declares a label value and its expected interpretations and behaviors.', - required: ['identifier', 'severity', 'blurs', 'locales'], + required: ['cid', 'recordUri'], properties: { - identifier: { - type: 'string', - description: - "The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).", - maxLength: 100, - maxGraphemes: 100, - }, - severity: { - type: 'string', - description: - "How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing.", - knownValues: ['inform', 'alert', 'none'], - }, - blurs: { + cid: { type: 'string', - description: - "What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing.", - knownValues: ['content', 'media', 'none'], + format: 'cid', }, - defaultSetting: { + recordUri: { type: 'string', - description: 'The default setting for this label.', - knownValues: ['ignore', 'warn', 'hide'], - default: 'warn', + format: 'at-uri', }, - adultOnly: { - type: 'boolean', - description: - 'Does the user need to have adult content enabled in order to configure this label?', + }, + }, + }, + }, + ComAtprotoRepoListRecords: { + lexicon: 1, + id: 'com.atproto.repo.listRecords', + defs: { + main: { + type: 'query', + description: + 'List a range of records in a repository, matching a specific collection. Does not require auth.', + parameters: { + type: 'params', + required: ['repo', 'collection'], + properties: { + repo: { + type: 'string', + format: 'at-identifier', + description: 'The handle or DID of the repo.', + }, + collection: { + type: 'string', + format: 'nsid', + description: 'The NSID of the record type.', + }, + limit: { + type: 'integer', + minimum: 1, + maximum: 100, + default: 50, + description: 'The number of records to return.', + }, + cursor: { + type: 'string', + }, + rkeyStart: { + type: 'string', + description: + 'DEPRECATED: The lowest sort-ordered rkey to start from (exclusive)', + }, + rkeyEnd: { + type: 'string', + description: + 'DEPRECATED: The highest sort-ordered rkey to stop at (exclusive)', + }, + reverse: { + type: 'boolean', + description: 'Flag to reverse the order of the returned records.', + }, }, - locales: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:com.atproto.label.defs#labelValueDefinitionStrings', + }, + output: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['records'], + properties: { + cursor: { + type: 'string', + }, + records: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:com.atproto.repo.listRecords#record', + }, + }, }, }, }, }, - labelValueDefinitionStrings: { + record: { type: 'object', - description: - 'Strings which describe the label in the UI, localized into a specific language.', - required: ['lang', 'name', 'description'], + required: ['uri', 'cid', 'value'], properties: { - lang: { + uri: { type: 'string', - description: - 'The code of the language these strings are written in.', - format: 'language', + format: 'at-uri', }, - name: { + cid: { type: 'string', - description: 'A short human-readable name for the label.', - maxGraphemes: 64, - maxLength: 640, + format: 'cid', }, - description: { - type: 'string', - description: - 'A longer description of what the label means and why it might be applied.', - maxGraphemes: 10000, - maxLength: 100000, + value: { + type: 'unknown', }, }, }, - labelValue: { - type: 'string', - knownValues: [ - '!hide', - '!no-promote', - '!warn', - '!no-unauthenticated', - 'dmca-violation', - 'doxxing', - 'porn', - 'sexual', - 'nudity', - 'nsfl', - 'gore', - ], - }, }, }, - ComAtprotoRepoApplyWrites: { + ComAtprotoRepoPutRecord: { lexicon: 1, - id: 'com.atproto.repo.applyWrites', + id: 'com.atproto.repo.putRecord', defs: { main: { type: 'procedure', description: - 'Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS.', + 'Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.', input: { encoding: 'application/json', schema: { type: 'object', - required: ['repo', 'writes'], + required: ['repo', 'collection', 'rkey', 'record'], + nullable: ['swapRecord'], properties: { repo: { type: 'string', @@ -985,28 +899,37 @@ export const schemaDict = { description: 'The handle or DID of the repo (aka, current account).', }, + collection: { + type: 'string', + format: 'nsid', + description: 'The NSID of the record collection.', + }, + rkey: { + type: 'string', + format: 'record-key', + description: 'The Record Key.', + maxLength: 512, + }, validate: { type: 'boolean', description: - "Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons.", + "Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.", }, - writes: { - type: 'array', - items: { - type: 'union', - refs: [ - 'lex:com.atproto.repo.applyWrites#create', - 'lex:com.atproto.repo.applyWrites#update', - 'lex:com.atproto.repo.applyWrites#delete', - ], - closed: true, - }, + record: { + type: 'unknown', + description: 'The record to write.', }, - swapCommit: { + swapRecord: { type: 'string', + format: 'cid', description: - 'If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations.', + 'Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation', + }, + swapCommit: { + type: 'string', format: 'cid', + description: + 'Compare and swap with the previous commit by CID.', }, }, }, @@ -1015,23 +938,23 @@ export const schemaDict = { encoding: 'application/json', schema: { type: 'object', - required: [], + required: ['uri', 'cid'], properties: { + uri: { + type: 'string', + format: 'at-uri', + }, + cid: { + type: 'string', + format: 'cid', + }, commit: { type: 'ref', ref: 'lex:com.atproto.repo.defs#commitMeta', }, - results: { - type: 'array', - items: { - type: 'union', - refs: [ - 'lex:com.atproto.repo.applyWrites#createResult', - 'lex:com.atproto.repo.applyWrites#updateResult', - 'lex:com.atproto.repo.applyWrites#deleteResult', - ], - closed: true, - }, + validationStatus: { + type: 'string', + knownValues: ['valid', 'unknown'], }, }, }, @@ -1039,759 +962,835 @@ export const schemaDict = { errors: [ { name: 'InvalidSwap', - description: - "Indicates that the 'swapCommit' parameter did not match current commit.", }, ], }, - create: { + }, + }, + ComAtprotoRepoStrongRef: { + lexicon: 1, + id: 'com.atproto.repo.strongRef', + description: 'A URI with a content-hash fingerprint.', + defs: { + main: { type: 'object', - description: 'Operation which creates a new record.', - required: ['collection', 'value'], + required: ['uri', 'cid'], properties: { - collection: { + uri: { type: 'string', - format: 'nsid', + format: 'at-uri', }, - rkey: { + cid: { type: 'string', - maxLength: 512, - format: 'record-key', - description: - 'NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility.', + format: 'cid', }, - value: { - type: 'unknown', + }, + }, + }, + }, + ComAtprotoRepoUploadBlob: { + lexicon: 1, + id: 'com.atproto.repo.uploadBlob', + defs: { + main: { + type: 'procedure', + description: + 'Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS.', + input: { + encoding: '*/*', + }, + output: { + encoding: 'application/json', + schema: { + type: 'object', + required: ['blob'], + properties: { + blob: { + type: 'blob', + }, + }, }, }, }, - update: { + }, + }, + PubLeafletBlocksBlockquote: { + lexicon: 1, + id: 'pub.leaflet.blocks.blockquote', + defs: { + main: { type: 'object', - description: 'Operation which updates an existing record.', - required: ['collection', 'rkey', 'value'], + required: ['plaintext'], properties: { - collection: { + plaintext: { type: 'string', - format: 'nsid', }, - rkey: { - type: 'string', - format: 'record-key', + facets: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:pub.leaflet.richtext.facet', + }, }, - value: { - type: 'unknown', + }, + }, + }, + }, + PubLeafletBlocksBskyPost: { + lexicon: 1, + id: 'pub.leaflet.blocks.bskyPost', + defs: { + main: { + type: 'object', + required: ['postRef'], + properties: { + postRef: { + type: 'ref', + ref: 'lex:com.atproto.repo.strongRef', }, }, }, - delete: { + }, + }, + PubLeafletBlocksCode: { + lexicon: 1, + id: 'pub.leaflet.blocks.code', + defs: { + main: { type: 'object', - description: 'Operation which deletes an existing record.', - required: ['collection', 'rkey'], + required: ['plaintext'], properties: { - collection: { + plaintext: { type: 'string', - format: 'nsid', }, - rkey: { + language: { + type: 'string', + }, + syntaxHighlightingTheme: { type: 'string', - format: 'record-key', }, }, }, - createResult: { + }, + }, + PubLeafletBlocksHeader: { + lexicon: 1, + id: 'pub.leaflet.blocks.header', + defs: { + main: { type: 'object', - required: ['uri', 'cid'], + required: ['plaintext'], properties: { - uri: { - type: 'string', - format: 'at-uri', + level: { + type: 'integer', + minimum: 1, + maximum: 6, }, - cid: { + plaintext: { type: 'string', - format: 'cid', }, - validationStatus: { - type: 'string', - knownValues: ['valid', 'unknown'], + facets: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:pub.leaflet.richtext.facet', + }, }, }, }, - updateResult: { + }, + }, + PubLeafletBlocksHorizontalRule: { + lexicon: 1, + id: 'pub.leaflet.blocks.horizontalRule', + defs: { + main: { type: 'object', - required: ['uri', 'cid'], + required: [], + properties: {}, + }, + }, + }, + PubLeafletBlocksIframe: { + lexicon: 1, + id: 'pub.leaflet.blocks.iframe', + defs: { + main: { + type: 'object', + required: ['url'], properties: { - uri: { + url: { type: 'string', - format: 'at-uri', + format: 'uri', }, - cid: { - type: 'string', - format: 'cid', + height: { + type: 'integer', + minimum: 16, + maximum: 1600, }, - validationStatus: { + }, + }, + }, + }, + PubLeafletBlocksImage: { + lexicon: 1, + id: 'pub.leaflet.blocks.image', + defs: { + main: { + type: 'object', + required: ['image', 'aspectRatio'], + properties: { + image: { + type: 'blob', + accept: ['image/*'], + maxSize: 1000000, + }, + alt: { type: 'string', - knownValues: ['valid', 'unknown'], + description: + 'Alt text description of the image, for accessibility.', + }, + aspectRatio: { + type: 'ref', + ref: 'lex:pub.leaflet.blocks.image#aspectRatio', }, }, }, - deleteResult: { + aspectRatio: { type: 'object', - required: [], - properties: {}, + required: ['width', 'height'], + properties: { + width: { + type: 'integer', + }, + height: { + type: 'integer', + }, + }, }, }, }, - ComAtprotoRepoCreateRecord: { + PubLeafletBlocksMath: { lexicon: 1, - id: 'com.atproto.repo.createRecord', + id: 'pub.leaflet.blocks.math', defs: { main: { - type: 'procedure', - description: - 'Create a single new repository record. Requires auth, implemented by PDS.', - input: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['repo', 'collection', 'record'], - properties: { - repo: { - type: 'string', - format: 'at-identifier', - description: - 'The handle or DID of the repo (aka, current account).', - }, - collection: { - type: 'string', - format: 'nsid', - description: 'The NSID of the record collection.', - }, - rkey: { - type: 'string', - format: 'record-key', - description: 'The Record Key.', - maxLength: 512, - }, - validate: { - type: 'boolean', - description: - "Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.", - }, - record: { - type: 'unknown', - description: 'The record itself. Must contain a $type field.', - }, - swapCommit: { - type: 'string', - format: 'cid', - description: - 'Compare and swap with the previous commit by CID.', - }, - }, - }, - }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['uri', 'cid'], - properties: { - uri: { - type: 'string', - format: 'at-uri', - }, - cid: { - type: 'string', - format: 'cid', - }, - commit: { - type: 'ref', - ref: 'lex:com.atproto.repo.defs#commitMeta', - }, - validationStatus: { - type: 'string', - knownValues: ['valid', 'unknown'], - }, - }, + type: 'object', + required: ['tex'], + properties: { + tex: { + type: 'string', }, }, - errors: [ - { - name: 'InvalidSwap', - description: - "Indicates that 'swapCommit' didn't match current repo commit.", - }, - ], }, }, }, - ComAtprotoRepoDefs: { + PubLeafletBlocksText: { lexicon: 1, - id: 'com.atproto.repo.defs', + id: 'pub.leaflet.blocks.text', defs: { - commitMeta: { + main: { type: 'object', - required: ['cid', 'rev'], + required: ['plaintext'], properties: { - cid: { + plaintext: { type: 'string', - format: 'cid', }, - rev: { - type: 'string', - format: 'tid', + facets: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:pub.leaflet.richtext.facet', + }, }, }, }, }, }, - ComAtprotoRepoDeleteRecord: { + PubLeafletBlocksUnorderedList: { lexicon: 1, - id: 'com.atproto.repo.deleteRecord', + id: 'pub.leaflet.blocks.unorderedList', defs: { main: { - type: 'procedure', - description: - "Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.", - input: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['repo', 'collection', 'rkey'], - properties: { - repo: { - type: 'string', - format: 'at-identifier', - description: - 'The handle or DID of the repo (aka, current account).', - }, - collection: { - type: 'string', - format: 'nsid', - description: 'The NSID of the record collection.', - }, - rkey: { - type: 'string', - format: 'record-key', - description: 'The Record Key.', - }, - swapRecord: { - type: 'string', - format: 'cid', - description: - 'Compare and swap with the previous record by CID.', - }, - swapCommit: { - type: 'string', - format: 'cid', - description: - 'Compare and swap with the previous commit by CID.', - }, + type: 'object', + required: ['children'], + properties: { + children: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:pub.leaflet.blocks.unorderedList#listItem', }, }, }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - properties: { - commit: { - type: 'ref', - ref: 'lex:com.atproto.repo.defs#commitMeta', - }, + }, + listItem: { + type: 'object', + required: ['content'], + properties: { + content: { + type: 'union', + refs: [ + 'lex:pub.leaflet.blocks.text', + 'lex:pub.leaflet.blocks.header', + 'lex:pub.leaflet.blocks.image', + ], + }, + children: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:pub.leaflet.blocks.unorderedList#listItem', }, }, }, - errors: [ - { - name: 'InvalidSwap', + }, + }, + }, + PubLeafletBlocksWebsite: { + lexicon: 1, + id: 'pub.leaflet.blocks.website', + defs: { + main: { + type: 'object', + required: ['src'], + properties: { + previewImage: { + type: 'blob', + accept: ['image/*'], + maxSize: 1000000, }, - ], + title: { + type: 'string', + }, + description: { + type: 'string', + }, + src: { + type: 'string', + format: 'uri', + }, + }, }, }, }, - ComAtprotoRepoDescribeRepo: { + PubLeafletComment: { lexicon: 1, - id: 'com.atproto.repo.describeRepo', + id: 'pub.leaflet.comment', + revision: 1, + description: 'A lexicon for comments on documents', defs: { main: { - type: 'query', - description: - 'Get information about an account and repository, including the list of collections. Does not require auth.', - parameters: { - type: 'params', - required: ['repo'], + type: 'record', + key: 'tid', + description: 'Record containing a comment', + record: { + type: 'object', + required: ['subject', 'plaintext', 'createdAt'], properties: { - repo: { + subject: { + type: 'string', + format: 'at-uri', + }, + createdAt: { + type: 'string', + format: 'datetime', + }, + reply: { + type: 'ref', + ref: 'lex:pub.leaflet.comment#replyRef', + }, + plaintext: { type: 'string', - format: 'at-identifier', - description: 'The handle or DID of the repo.', }, - }, - }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - required: [ - 'handle', - 'did', - 'didDoc', - 'collections', - 'handleIsCorrect', - ], - properties: { - handle: { - type: 'string', - format: 'handle', - }, - did: { - type: 'string', - format: 'did', - }, - didDoc: { - type: 'unknown', - description: 'The complete DID document for this account.', - }, - collections: { - type: 'array', - description: - 'List of all the collections (NSIDs) for which this repo contains at least one record.', - items: { - type: 'string', - format: 'nsid', - }, - }, - handleIsCorrect: { - type: 'boolean', - description: - 'Indicates if handle is currently valid (resolves bi-directionally)', + facets: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:pub.leaflet.richtext.facet', }, }, + attachment: { + type: 'union', + refs: ['lex:pub.leaflet.comment#linearDocumentQuote'], + }, + }, + }, + }, + linearDocumentQuote: { + type: 'object', + required: ['document', 'quote'], + properties: { + document: { + type: 'string', + format: 'at-uri', + }, + quote: { + type: 'ref', + ref: 'lex:pub.leaflet.pages.linearDocument#quote', + }, + }, + }, + replyRef: { + type: 'object', + required: ['parent'], + properties: { + parent: { + type: 'string', + format: 'at-uri', }, }, }, }, }, - ComAtprotoRepoGetRecord: { + PubLeafletDocument: { lexicon: 1, - id: 'com.atproto.repo.getRecord', + id: 'pub.leaflet.document', + revision: 1, + description: 'A lexicon for long form rich media documents', defs: { main: { - type: 'query', - description: - 'Get a single record from a repository. Does not require auth.', - parameters: { - type: 'params', - required: ['repo', 'collection', 'rkey'], + type: 'record', + key: 'tid', + description: 'Record containing a document', + record: { + type: 'object', + required: ['pages', 'author', 'title', 'publication'], properties: { - repo: { + title: { type: 'string', - format: 'at-identifier', - description: 'The handle or DID of the repo.', + maxLength: 1280, + maxGraphemes: 128, }, - collection: { + postRef: { + type: 'ref', + ref: 'lex:com.atproto.repo.strongRef', + }, + description: { type: 'string', - format: 'nsid', - description: 'The NSID of the record collection.', + maxLength: 3000, + maxGraphemes: 300, }, - rkey: { + publishedAt: { type: 'string', - description: 'The Record Key.', - format: 'record-key', + format: 'datetime', }, - cid: { + publication: { type: 'string', - format: 'cid', - description: - 'The CID of the version of the record. If not specified, then return the most recent version.', + format: 'at-uri', }, - }, - }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['uri', 'value'], - properties: { - uri: { - type: 'string', - format: 'at-uri', - }, - cid: { - type: 'string', - format: 'cid', - }, - value: { - type: 'unknown', + author: { + type: 'string', + format: 'at-identifier', + }, + pages: { + type: 'array', + items: { + type: 'union', + refs: ['lex:pub.leaflet.pages.linearDocument'], }, }, }, }, - errors: [ - { - name: 'RecordNotFound', - }, - ], }, }, }, - ComAtprotoRepoImportRepo: { + PubLeafletGraphSubscription: { lexicon: 1, - id: 'com.atproto.repo.importRepo', + id: 'pub.leaflet.graph.subscription', defs: { main: { - type: 'procedure', - description: - 'Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.', - input: { - encoding: 'application/vnd.ipld.car', + type: 'record', + key: 'tid', + description: 'Record declaring a subscription to a publication', + record: { + type: 'object', + required: ['publication'], + properties: { + publication: { + type: 'string', + format: 'at-uri', + }, + }, }, }, }, }, - ComAtprotoRepoListMissingBlobs: { + PubLeafletPagesLinearDocument: { lexicon: 1, - id: 'com.atproto.repo.listMissingBlobs', + id: 'pub.leaflet.pages.linearDocument', defs: { main: { - type: 'query', - description: - 'Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow.', - parameters: { - type: 'params', - properties: { - limit: { - type: 'integer', - minimum: 1, - maximum: 1000, - default: 500, - }, - cursor: { - type: 'string', + type: 'object', + properties: { + blocks: { + type: 'array', + items: { + type: 'ref', + ref: 'lex:pub.leaflet.pages.linearDocument#block', }, }, }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['blobs'], - properties: { - cursor: { - type: 'string', - }, - blobs: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:com.atproto.repo.listMissingBlobs#recordBlob', - }, - }, - }, + }, + block: { + type: 'object', + required: ['block'], + properties: { + block: { + type: 'union', + refs: [ + 'lex:pub.leaflet.blocks.iframe', + 'lex:pub.leaflet.blocks.text', + 'lex:pub.leaflet.blocks.blockquote', + 'lex:pub.leaflet.blocks.header', + 'lex:pub.leaflet.blocks.image', + 'lex:pub.leaflet.blocks.unorderedList', + 'lex:pub.leaflet.blocks.website', + 'lex:pub.leaflet.blocks.math', + 'lex:pub.leaflet.blocks.code', + 'lex:pub.leaflet.blocks.horizontalRule', + 'lex:pub.leaflet.blocks.bskyPost', + ], + }, + alignment: { + type: 'string', + knownValues: [ + 'lex:pub.leaflet.pages.linearDocument#textAlignLeft', + 'lex:pub.leaflet.pages.linearDocument#textAlignCenter', + 'lex:pub.leaflet.pages.linearDocument#textAlignRight', + 'lex:pub.leaflet.pages.linearDocument#textAlignJustify', + ], + }, + }, + }, + textAlignLeft: { + type: 'token', + }, + textAlignCenter: { + type: 'token', + }, + textAlignRight: { + type: 'token', + }, + quote: { + type: 'object', + required: ['start', 'end'], + properties: { + start: { + type: 'ref', + ref: 'lex:pub.leaflet.pages.linearDocument#position', + }, + end: { + type: 'ref', + ref: 'lex:pub.leaflet.pages.linearDocument#position', }, }, }, - recordBlob: { + position: { type: 'object', - required: ['cid', 'recordUri'], + required: ['block', 'offset'], properties: { - cid: { - type: 'string', - format: 'cid', + block: { + type: 'array', + items: { + type: 'integer', + }, }, - recordUri: { - type: 'string', - format: 'at-uri', + offset: { + type: 'integer', }, }, }, }, }, - ComAtprotoRepoListRecords: { + PubLeafletPublication: { lexicon: 1, - id: 'com.atproto.repo.listRecords', + id: 'pub.leaflet.publication', defs: { main: { - type: 'query', - description: - 'List a range of records in a repository, matching a specific collection. Does not require auth.', - parameters: { - type: 'params', - required: ['repo', 'collection'], + type: 'record', + key: 'tid', + description: 'Record declaring a publication', + record: { + type: 'object', + required: ['name'], properties: { - repo: { + name: { type: 'string', - format: 'at-identifier', - description: 'The handle or DID of the repo.', + maxLength: 2000, }, - collection: { + base_path: { type: 'string', - format: 'nsid', - description: 'The NSID of the record type.', - }, - limit: { - type: 'integer', - minimum: 1, - maximum: 100, - default: 50, - description: 'The number of records to return.', + format: 'uri', }, - cursor: { + description: { type: 'string', + maxLength: 2000, }, - rkeyStart: { - type: 'string', - description: - 'DEPRECATED: The lowest sort-ordered rkey to start from (exclusive)', + icon: { + type: 'blob', + accept: ['image/*'], + maxSize: 1000000, }, - rkeyEnd: { - type: 'string', - description: - 'DEPRECATED: The highest sort-ordered rkey to stop at (exclusive)', + theme: { + type: 'ref', + ref: 'lex:pub.leaflet.publication#theme', }, - reverse: { - type: 'boolean', - description: 'Flag to reverse the order of the returned records.', + preferences: { + type: 'ref', + ref: 'lex:pub.leaflet.publication#preferences', }, }, }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['records'], - properties: { - cursor: { - type: 'string', - }, - records: { - type: 'array', - items: { - type: 'ref', - ref: 'lex:com.atproto.repo.listRecords#record', - }, - }, - }, + }, + preferences: { + type: 'object', + properties: { + showInDiscover: { + type: 'boolean', + default: true, + }, + showComments: { + type: 'boolean', + default: true, }, }, }, - record: { + theme: { type: 'object', - required: ['uri', 'cid', 'value'], properties: { - uri: { - type: 'string', - format: 'at-uri', + backgroundColor: { + type: 'union', + refs: [ + 'lex:pub.leaflet.theme.color#rgba', + 'lex:pub.leaflet.theme.color#rgb', + ], }, - cid: { - type: 'string', - format: 'cid', + backgroundImage: { + type: 'ref', + ref: 'lex:pub.leaflet.theme.backgroundImage', }, - value: { - type: 'unknown', + primary: { + type: 'union', + refs: [ + 'lex:pub.leaflet.theme.color#rgba', + 'lex:pub.leaflet.theme.color#rgb', + ], + }, + pageBackground: { + type: 'union', + refs: [ + 'lex:pub.leaflet.theme.color#rgba', + 'lex:pub.leaflet.theme.color#rgb', + ], + }, + showPageBackground: { + type: 'boolean', + default: false, + }, + accentBackground: { + type: 'union', + refs: [ + 'lex:pub.leaflet.theme.color#rgba', + 'lex:pub.leaflet.theme.color#rgb', + ], + }, + accentText: { + type: 'union', + refs: [ + 'lex:pub.leaflet.theme.color#rgba', + 'lex:pub.leaflet.theme.color#rgb', + ], }, }, }, }, }, - ComAtprotoRepoPutRecord: { + PubLeafletRichtextFacet: { lexicon: 1, - id: 'com.atproto.repo.putRecord', + id: 'pub.leaflet.richtext.facet', defs: { main: { - type: 'procedure', - description: - 'Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.', - input: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['repo', 'collection', 'rkey', 'record'], - nullable: ['swapRecord'], - properties: { - repo: { - type: 'string', - format: 'at-identifier', - description: - 'The handle or DID of the repo (aka, current account).', - }, - collection: { - type: 'string', - format: 'nsid', - description: 'The NSID of the record collection.', - }, - rkey: { - type: 'string', - format: 'record-key', - description: 'The Record Key.', - maxLength: 512, - }, - validate: { - type: 'boolean', - description: - "Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.", - }, - record: { - type: 'unknown', - description: 'The record to write.', - }, - swapRecord: { - type: 'string', - format: 'cid', - description: - 'Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation', - }, - swapCommit: { - type: 'string', - format: 'cid', - description: - 'Compare and swap with the previous commit by CID.', - }, - }, + type: 'object', + description: 'Annotation of a sub-string within rich text.', + required: ['index', 'features'], + properties: { + index: { + type: 'ref', + ref: 'lex:pub.leaflet.richtext.facet#byteSlice', }, - }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['uri', 'cid'], - properties: { - uri: { - type: 'string', - format: 'at-uri', - }, - cid: { - type: 'string', - format: 'cid', - }, - commit: { - type: 'ref', - ref: 'lex:com.atproto.repo.defs#commitMeta', - }, - validationStatus: { - type: 'string', - knownValues: ['valid', 'unknown'], - }, + features: { + type: 'array', + items: { + type: 'union', + refs: [ + 'lex:pub.leaflet.richtext.facet#link', + 'lex:pub.leaflet.richtext.facet#code', + 'lex:pub.leaflet.richtext.facet#highlight', + 'lex:pub.leaflet.richtext.facet#underline', + 'lex:pub.leaflet.richtext.facet#strikethrough', + 'lex:pub.leaflet.richtext.facet#id', + 'lex:pub.leaflet.richtext.facet#bold', + 'lex:pub.leaflet.richtext.facet#italic', + ], }, }, }, - errors: [ - { - name: 'InvalidSwap', + }, + byteSlice: { + type: 'object', + description: + 'Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.', + required: ['byteStart', 'byteEnd'], + properties: { + byteStart: { + type: 'integer', + minimum: 0, }, - ], + byteEnd: { + type: 'integer', + minimum: 0, + }, + }, }, - }, - }, - ComAtprotoRepoStrongRef: { - lexicon: 1, - id: 'com.atproto.repo.strongRef', - description: 'A URI with a content-hash fingerprint.', - defs: { - main: { + link: { type: 'object', - required: ['uri', 'cid'], + description: + 'Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.', + required: ['uri'], properties: { uri: { type: 'string', - format: 'at-uri', + format: 'uri', }, - cid: { + }, + }, + code: { + type: 'object', + description: 'Facet feature for inline code.', + required: [], + properties: {}, + }, + highlight: { + type: 'object', + description: 'Facet feature for highlighted text.', + required: [], + properties: {}, + }, + underline: { + type: 'object', + description: 'Facet feature for underline markup', + required: [], + properties: {}, + }, + strikethrough: { + type: 'object', + description: 'Facet feature for strikethrough markup', + required: [], + properties: {}, + }, + id: { + type: 'object', + description: + 'Facet feature for an identifier. Used for linking to a segment', + required: [], + properties: { + id: { type: 'string', - format: 'cid', }, }, }, + bold: { + type: 'object', + description: 'Facet feature for bold text', + required: [], + properties: {}, + }, + italic: { + type: 'object', + description: 'Facet feature for italic text', + required: [], + properties: {}, + }, }, }, - ComAtprotoRepoUploadBlob: { + PubLeafletThemeBackgroundImage: { lexicon: 1, - id: 'com.atproto.repo.uploadBlob', + id: 'pub.leaflet.theme.backgroundImage', defs: { main: { - type: 'procedure', - description: - 'Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS.', - input: { - encoding: '*/*', - }, - output: { - encoding: 'application/json', - schema: { - type: 'object', - required: ['blob'], - properties: { - blob: { - type: 'blob', - }, - }, + type: 'object', + required: ['image'], + properties: { + image: { + type: 'blob', + accept: ['image/*'], + maxSize: 1000000, + }, + width: { + type: 'integer', + }, + repeat: { + type: 'boolean', }, }, }, }, }, - AppBskyActorProfile: { + PubLeafletThemeColor: { lexicon: 1, - id: 'app.bsky.actor.profile', + id: 'pub.leaflet.theme.color', defs: { - main: { - type: 'record', - description: 'A declaration of a Bluesky account profile.', - key: 'literal:self', - record: { - type: 'object', - properties: { - displayName: { - type: 'string', - maxGraphemes: 64, - maxLength: 640, - }, - description: { - type: 'string', - description: 'Free-form profile description text.', - maxGraphemes: 256, - maxLength: 2560, - }, - avatar: { - type: 'blob', - description: - "Small image to be displayed next to posts from account. AKA, 'profile picture'", - accept: ['image/png', 'image/jpeg'], - maxSize: 1000000, - }, - banner: { - type: 'blob', - description: - 'Larger horizontal image to display behind profile view.', - accept: ['image/png', 'image/jpeg'], - maxSize: 1000000, - }, - labels: { - type: 'union', - description: - 'Self-label values, specific to the Bluesky application, on the overall account.', - refs: ['lex:com.atproto.label.defs#selfLabels'], - }, - joinedViaStarterPack: { - type: 'ref', - ref: 'lex:com.atproto.repo.strongRef', - }, - pinnedPost: { - type: 'ref', - ref: 'lex:com.atproto.repo.strongRef', - }, - createdAt: { - type: 'string', - format: 'datetime', - }, + rgba: { + type: 'object', + required: ['r', 'g', 'b', 'a'], + properties: { + r: { + type: 'integer', + maximum: 255, + minimum: 0, + }, + g: { + type: 'integer', + maximum: 255, + minimum: 0, + }, + b: { + type: 'integer', + maximum: 255, + minimum: 0, + }, + a: { + type: 'integer', + maximum: 100, + minimum: 0, + }, + }, + }, + rgb: { + type: 'object', + required: ['r', 'g', 'b'], + properties: { + r: { + type: 'integer', + maximum: 255, + minimum: 0, + }, + g: { + type: 'integer', + maximum: 255, + minimum: 0, + }, + b: { + type: 'integer', + maximum: 255, + minimum: 0, }, }, }, }, }, } as const satisfies Record - export const schemas = Object.values(schemaDict) satisfies LexiconDoc[] export const lexicons: Lexicons = new Lexicons(schemas) @@ -1824,9 +1823,20 @@ export function validate( } export const ids = { - PubLeafletComment: 'pub.leaflet.comment', - PubLeafletDocument: 'pub.leaflet.document', - PubLeafletPublication: 'pub.leaflet.publication', + AppBskyActorProfile: 'app.bsky.actor.profile', + ComAtprotoLabelDefs: 'com.atproto.label.defs', + ComAtprotoRepoApplyWrites: 'com.atproto.repo.applyWrites', + ComAtprotoRepoCreateRecord: 'com.atproto.repo.createRecord', + ComAtprotoRepoDefs: 'com.atproto.repo.defs', + ComAtprotoRepoDeleteRecord: 'com.atproto.repo.deleteRecord', + ComAtprotoRepoDescribeRepo: 'com.atproto.repo.describeRepo', + ComAtprotoRepoGetRecord: 'com.atproto.repo.getRecord', + ComAtprotoRepoImportRepo: 'com.atproto.repo.importRepo', + ComAtprotoRepoListMissingBlobs: 'com.atproto.repo.listMissingBlobs', + ComAtprotoRepoListRecords: 'com.atproto.repo.listRecords', + ComAtprotoRepoPutRecord: 'com.atproto.repo.putRecord', + ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef', + ComAtprotoRepoUploadBlob: 'com.atproto.repo.uploadBlob', PubLeafletBlocksBlockquote: 'pub.leaflet.blocks.blockquote', PubLeafletBlocksBskyPost: 'pub.leaflet.blocks.bskyPost', PubLeafletBlocksCode: 'pub.leaflet.blocks.code', @@ -1838,23 +1848,12 @@ export const ids = { PubLeafletBlocksText: 'pub.leaflet.blocks.text', PubLeafletBlocksUnorderedList: 'pub.leaflet.blocks.unorderedList', PubLeafletBlocksWebsite: 'pub.leaflet.blocks.website', + PubLeafletComment: 'pub.leaflet.comment', + PubLeafletDocument: 'pub.leaflet.document', PubLeafletGraphSubscription: 'pub.leaflet.graph.subscription', PubLeafletPagesLinearDocument: 'pub.leaflet.pages.linearDocument', + PubLeafletPublication: 'pub.leaflet.publication', PubLeafletRichtextFacet: 'pub.leaflet.richtext.facet', PubLeafletThemeBackgroundImage: 'pub.leaflet.theme.backgroundImage', PubLeafletThemeColor: 'pub.leaflet.theme.color', - ComAtprotoLabelDefs: 'com.atproto.label.defs', - ComAtprotoRepoApplyWrites: 'com.atproto.repo.applyWrites', - ComAtprotoRepoCreateRecord: 'com.atproto.repo.createRecord', - ComAtprotoRepoDefs: 'com.atproto.repo.defs', - ComAtprotoRepoDeleteRecord: 'com.atproto.repo.deleteRecord', - ComAtprotoRepoDescribeRepo: 'com.atproto.repo.describeRepo', - ComAtprotoRepoGetRecord: 'com.atproto.repo.getRecord', - ComAtprotoRepoImportRepo: 'com.atproto.repo.importRepo', - ComAtprotoRepoListMissingBlobs: 'com.atproto.repo.listMissingBlobs', - ComAtprotoRepoListRecords: 'com.atproto.repo.listRecords', - ComAtprotoRepoPutRecord: 'com.atproto.repo.putRecord', - ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef', - ComAtprotoRepoUploadBlob: 'com.atproto.repo.uploadBlob', - AppBskyActorProfile: 'app.bsky.actor.profile', } as const diff --git a/lexicons/api/types/app/bsky/actor/profile.ts b/lexicons/api/types/app/bsky/actor/profile.ts index c079f794..27267b18 100644 --- a/lexicons/api/types/app/bsky/actor/profile.ts +++ b/lexicons/api/types/app/bsky/actor/profile.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs' import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef' diff --git a/lexicons/api/types/com/atproto/label/defs.ts b/lexicons/api/types/com/atproto/label/defs.ts index b5f75bfc..3f2d846a 100644 --- a/lexicons/api/types/com/atproto/label/defs.ts +++ b/lexicons/api/types/com/atproto/label/defs.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/com/atproto/repo/applyWrites.ts b/lexicons/api/types/com/atproto/repo/applyWrites.ts index f58a298a..68823de1 100644 --- a/lexicons/api/types/com/atproto/repo/applyWrites.ts +++ b/lexicons/api/types/com/atproto/repo/applyWrites.ts @@ -2,17 +2,21 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as ComAtprotoRepoDefs from './defs' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.applyWrites' -export interface QueryParams {} +export type QueryParams = {} export interface InputSchema { /** The handle or DID of the repo (aka, current account). */ diff --git a/lexicons/api/types/com/atproto/repo/createRecord.ts b/lexicons/api/types/com/atproto/repo/createRecord.ts index 3665c56b..709f8491 100644 --- a/lexicons/api/types/com/atproto/repo/createRecord.ts +++ b/lexicons/api/types/com/atproto/repo/createRecord.ts @@ -2,17 +2,21 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as ComAtprotoRepoDefs from './defs' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.createRecord' -export interface QueryParams {} +export type QueryParams = {} export interface InputSchema { /** The handle or DID of the repo (aka, current account). */ diff --git a/lexicons/api/types/com/atproto/repo/defs.ts b/lexicons/api/types/com/atproto/repo/defs.ts index 3b02739d..e45be7b9 100644 --- a/lexicons/api/types/com/atproto/repo/defs.ts +++ b/lexicons/api/types/com/atproto/repo/defs.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/com/atproto/repo/deleteRecord.ts b/lexicons/api/types/com/atproto/repo/deleteRecord.ts index 4df22d4d..a9aad476 100644 --- a/lexicons/api/types/com/atproto/repo/deleteRecord.ts +++ b/lexicons/api/types/com/atproto/repo/deleteRecord.ts @@ -2,17 +2,21 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as ComAtprotoRepoDefs from './defs' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.deleteRecord' -export interface QueryParams {} +export type QueryParams = {} export interface InputSchema { /** The handle or DID of the repo (aka, current account). */ diff --git a/lexicons/api/types/com/atproto/repo/describeRepo.ts b/lexicons/api/types/com/atproto/repo/describeRepo.ts index 332599f2..b633fe7f 100644 --- a/lexicons/api/types/com/atproto/repo/describeRepo.ts +++ b/lexicons/api/types/com/atproto/repo/describeRepo.ts @@ -2,20 +2,23 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.describeRepo' -export interface QueryParams { +export type QueryParams = { /** The handle or DID of the repo. */ repo: string } - export type InputSchema = undefined export interface OutputSchema { diff --git a/lexicons/api/types/com/atproto/repo/getRecord.ts b/lexicons/api/types/com/atproto/repo/getRecord.ts index eb9934e6..0b021e64 100644 --- a/lexicons/api/types/com/atproto/repo/getRecord.ts +++ b/lexicons/api/types/com/atproto/repo/getRecord.ts @@ -2,16 +2,20 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.getRecord' -export interface QueryParams { +export type QueryParams = { /** The handle or DID of the repo. */ repo: string /** The NSID of the record collection. */ @@ -21,7 +25,6 @@ export interface QueryParams { /** The CID of the version of the record. If not specified, then return the most recent version. */ cid?: string } - export type InputSchema = undefined export interface OutputSchema { diff --git a/lexicons/api/types/com/atproto/repo/importRepo.ts b/lexicons/api/types/com/atproto/repo/importRepo.ts index c23ba123..fc730df0 100644 --- a/lexicons/api/types/com/atproto/repo/importRepo.ts +++ b/lexicons/api/types/com/atproto/repo/importRepo.ts @@ -2,17 +2,20 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.importRepo' -export interface QueryParams {} - +export type QueryParams = {} export type InputSchema = string | Uint8Array | Blob export interface CallOptions { diff --git a/lexicons/api/types/com/atproto/repo/listMissingBlobs.ts b/lexicons/api/types/com/atproto/repo/listMissingBlobs.ts index 6515cd44..7d230e0f 100644 --- a/lexicons/api/types/com/atproto/repo/listMissingBlobs.ts +++ b/lexicons/api/types/com/atproto/repo/listMissingBlobs.ts @@ -2,20 +2,23 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.listMissingBlobs' -export interface QueryParams { +export type QueryParams = { limit?: number cursor?: string } - export type InputSchema = undefined export interface OutputSchema { diff --git a/lexicons/api/types/com/atproto/repo/listRecords.ts b/lexicons/api/types/com/atproto/repo/listRecords.ts index 5efd63c1..40f26016 100644 --- a/lexicons/api/types/com/atproto/repo/listRecords.ts +++ b/lexicons/api/types/com/atproto/repo/listRecords.ts @@ -2,16 +2,20 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.listRecords' -export interface QueryParams { +export type QueryParams = { /** The handle or DID of the repo. */ repo: string /** The NSID of the record type. */ @@ -26,7 +30,6 @@ export interface QueryParams { /** Flag to reverse the order of the returned records. */ reverse?: boolean } - export type InputSchema = undefined export interface OutputSchema { diff --git a/lexicons/api/types/com/atproto/repo/putRecord.ts b/lexicons/api/types/com/atproto/repo/putRecord.ts index cbaa5018..dfc001c1 100644 --- a/lexicons/api/types/com/atproto/repo/putRecord.ts +++ b/lexicons/api/types/com/atproto/repo/putRecord.ts @@ -2,17 +2,21 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as ComAtprotoRepoDefs from './defs' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.putRecord' -export interface QueryParams {} +export type QueryParams = {} export interface InputSchema { /** The handle or DID of the repo (aka, current account). */ diff --git a/lexicons/api/types/com/atproto/repo/strongRef.ts b/lexicons/api/types/com/atproto/repo/strongRef.ts index e2652df5..04734ff1 100644 --- a/lexicons/api/types/com/atproto/repo/strongRef.ts +++ b/lexicons/api/types/com/atproto/repo/strongRef.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/com/atproto/repo/uploadBlob.ts b/lexicons/api/types/com/atproto/repo/uploadBlob.ts index f733edd4..2816249a 100644 --- a/lexicons/api/types/com/atproto/repo/uploadBlob.ts +++ b/lexicons/api/types/com/atproto/repo/uploadBlob.ts @@ -2,17 +2,20 @@ * GENERATED CODE - DO NOT MODIFY */ import { HeadersMap, XRPCError } from '@atproto/xrpc' -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate const id = 'com.atproto.repo.uploadBlob' -export interface QueryParams {} - +export type QueryParams = {} export type InputSchema = string | Uint8Array | Blob export interface OutputSchema { diff --git a/lexicons/api/types/pub/leaflet/blocks/blockquote.ts b/lexicons/api/types/pub/leaflet/blocks/blockquote.ts index 54365f6c..74a9f2c8 100644 --- a/lexicons/api/types/pub/leaflet/blocks/blockquote.ts +++ b/lexicons/api/types/pub/leaflet/blocks/blockquote.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as PubLeafletRichtextFacet from '../richtext/facet' const is$typed = _is$typed, diff --git a/lexicons/api/types/pub/leaflet/blocks/bskyPost.ts b/lexicons/api/types/pub/leaflet/blocks/bskyPost.ts index 501ba0d9..5c371dcb 100644 --- a/lexicons/api/types/pub/leaflet/blocks/bskyPost.ts +++ b/lexicons/api/types/pub/leaflet/blocks/bskyPost.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef' const is$typed = _is$typed, diff --git a/lexicons/api/types/pub/leaflet/blocks/code.ts b/lexicons/api/types/pub/leaflet/blocks/code.ts index 8ef5d096..306b6630 100644 --- a/lexicons/api/types/pub/leaflet/blocks/code.ts +++ b/lexicons/api/types/pub/leaflet/blocks/code.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/blocks/header.ts b/lexicons/api/types/pub/leaflet/blocks/header.ts index 58327d6f..d43932ac 100644 --- a/lexicons/api/types/pub/leaflet/blocks/header.ts +++ b/lexicons/api/types/pub/leaflet/blocks/header.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as PubLeafletRichtextFacet from '../richtext/facet' const is$typed = _is$typed, diff --git a/lexicons/api/types/pub/leaflet/blocks/horizontalRule.ts b/lexicons/api/types/pub/leaflet/blocks/horizontalRule.ts index 5535dcad..7d5e4289 100644 --- a/lexicons/api/types/pub/leaflet/blocks/horizontalRule.ts +++ b/lexicons/api/types/pub/leaflet/blocks/horizontalRule.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/blocks/iframe.ts b/lexicons/api/types/pub/leaflet/blocks/iframe.ts index b3518972..8425a884 100644 --- a/lexicons/api/types/pub/leaflet/blocks/iframe.ts +++ b/lexicons/api/types/pub/leaflet/blocks/iframe.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/blocks/image.ts b/lexicons/api/types/pub/leaflet/blocks/image.ts index e8275213..14073d4d 100644 --- a/lexicons/api/types/pub/leaflet/blocks/image.ts +++ b/lexicons/api/types/pub/leaflet/blocks/image.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/blocks/math.ts b/lexicons/api/types/pub/leaflet/blocks/math.ts index 5c7b05d9..bfbe7775 100644 --- a/lexicons/api/types/pub/leaflet/blocks/math.ts +++ b/lexicons/api/types/pub/leaflet/blocks/math.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/blocks/text.ts b/lexicons/api/types/pub/leaflet/blocks/text.ts index ed094d34..8b8c873b 100644 --- a/lexicons/api/types/pub/leaflet/blocks/text.ts +++ b/lexicons/api/types/pub/leaflet/blocks/text.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as PubLeafletRichtextFacet from '../richtext/facet' const is$typed = _is$typed, diff --git a/lexicons/api/types/pub/leaflet/blocks/unorderedList.ts b/lexicons/api/types/pub/leaflet/blocks/unorderedList.ts index c42a39cf..e759f504 100644 --- a/lexicons/api/types/pub/leaflet/blocks/unorderedList.ts +++ b/lexicons/api/types/pub/leaflet/blocks/unorderedList.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as PubLeafletBlocksText from './text' import type * as PubLeafletBlocksHeader from './header' import type * as PubLeafletBlocksImage from './image' diff --git a/lexicons/api/types/pub/leaflet/blocks/website.ts b/lexicons/api/types/pub/leaflet/blocks/website.ts index eac032f8..272d70a5 100644 --- a/lexicons/api/types/pub/leaflet/blocks/website.ts +++ b/lexicons/api/types/pub/leaflet/blocks/website.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/comment.ts b/lexicons/api/types/pub/leaflet/comment.ts index 6592f2e9..ef7a020d 100644 --- a/lexicons/api/types/pub/leaflet/comment.ts +++ b/lexicons/api/types/pub/leaflet/comment.ts @@ -1,10 +1,10 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../util' +import { type $Typed, is$typed as _is$typed, type OmitKey } from '../../../util' import type * as PubLeafletRichtextFacet from './richtext/facet' import type * as PubLeafletPagesLinearDocument from './pages/linearDocument' diff --git a/lexicons/api/types/pub/leaflet/document.ts b/lexicons/api/types/pub/leaflet/document.ts index e4fcda12..b9ec4abe 100644 --- a/lexicons/api/types/pub/leaflet/document.ts +++ b/lexicons/api/types/pub/leaflet/document.ts @@ -1,10 +1,10 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../util' +import { type $Typed, is$typed as _is$typed, type OmitKey } from '../../../util' import type * as ComAtprotoRepoStrongRef from '../../com/atproto/repo/strongRef' import type * as PubLeafletPagesLinearDocument from './pages/linearDocument' diff --git a/lexicons/api/types/pub/leaflet/graph/subscription.ts b/lexicons/api/types/pub/leaflet/graph/subscription.ts index a90dbc18..cb95c386 100644 --- a/lexicons/api/types/pub/leaflet/graph/subscription.ts +++ b/lexicons/api/types/pub/leaflet/graph/subscription.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/pages/linearDocument.ts b/lexicons/api/types/pub/leaflet/pages/linearDocument.ts index 9c181f6e..bfc1157b 100644 --- a/lexicons/api/types/pub/leaflet/pages/linearDocument.ts +++ b/lexicons/api/types/pub/leaflet/pages/linearDocument.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' import type * as PubLeafletBlocksIframe from '../blocks/iframe' import type * as PubLeafletBlocksText from '../blocks/text' import type * as PubLeafletBlocksBlockquote from '../blocks/blockquote' diff --git a/lexicons/api/types/pub/leaflet/publication.ts b/lexicons/api/types/pub/leaflet/publication.ts index 00bd9d48..dbeebfb5 100644 --- a/lexicons/api/types/pub/leaflet/publication.ts +++ b/lexicons/api/types/pub/leaflet/publication.ts @@ -1,10 +1,10 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../util' +import { type $Typed, is$typed as _is$typed, type OmitKey } from '../../../util' import type * as PubLeafletThemeColor from './theme/color' import type * as PubLeafletThemeBackgroundImage from './theme/backgroundImage' diff --git a/lexicons/api/types/pub/leaflet/richtext/facet.ts b/lexicons/api/types/pub/leaflet/richtext/facet.ts index 61b68fb5..53ff9c02 100644 --- a/lexicons/api/types/pub/leaflet/richtext/facet.ts +++ b/lexicons/api/types/pub/leaflet/richtext/facet.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/theme/backgroundImage.ts b/lexicons/api/types/pub/leaflet/theme/backgroundImage.ts index d1ca2e0f..d363cce9 100644 --- a/lexicons/api/types/pub/leaflet/theme/backgroundImage.ts +++ b/lexicons/api/types/pub/leaflet/theme/backgroundImage.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/types/pub/leaflet/theme/color.ts b/lexicons/api/types/pub/leaflet/theme/color.ts index f993722b..f3ff102f 100644 --- a/lexicons/api/types/pub/leaflet/theme/color.ts +++ b/lexicons/api/types/pub/leaflet/theme/color.ts @@ -1,10 +1,14 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' +import { type ValidationResult, BlobRef } from '@atproto/lexicon' import { CID } from 'multiformats/cid' import { validate as _validate } from '../../../../lexicons' -import { $Typed, is$typed as _is$typed, OmitKey } from '../../../../util' +import { + type $Typed, + is$typed as _is$typed, + type OmitKey, +} from '../../../../util' const is$typed = _is$typed, validate = _validate diff --git a/lexicons/api/util.ts b/lexicons/api/util.ts index 7f88b6a6..816ca10c 100644 --- a/lexicons/api/util.ts +++ b/lexicons/api/util.ts @@ -2,7 +2,7 @@ * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult } from '@atproto/lexicon' +import { type ValidationResult } from '@atproto/lexicon' export type OmitKey = { [K2 in keyof T as K2 extends K ? never : K2]: T[K2] diff --git a/package-lock.json b/package-lock.json index faac00f1..3a59377c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -83,7 +83,7 @@ "zustand": "^5.0.4" }, "devDependencies": { - "@atproto/lex-cli": "^0.6.1", + "@atproto/lex-cli": "^0.9.5", "@atproto/lexicon": "^0.4.7", "@cloudflare/workers-types": "^4.20240512.0", "@types/katex": "^0.16.7", @@ -369,18 +369,18 @@ "license": "(Apache-2.0 AND MIT)" }, "node_modules/@atproto/lex-cli": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@atproto/lex-cli/-/lex-cli-0.6.2.tgz", - "integrity": "sha512-YbypfXBOYdZQATgQRRMpTwcG42/JmRs3iYnN6hQH4ljjn+t5nbDtdZjUF5okiWI7LK+yvOrgagxosIAjjjSe8Q==", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@atproto/lex-cli/-/lex-cli-0.9.5.tgz", + "integrity": "sha512-zun4jhD1dbjD7IHtLIjh/1UsMx+6E8+OyOT2GXYAKIj9N6wmLKM/v2OeQBKxcyqUmtRi57lxWnGikWjjU7pplQ==", "dev": true, "license": "MIT", "dependencies": { - "@atproto/lexicon": "^0.4.8", - "@atproto/syntax": "^0.3.4", + "@atproto/lexicon": "^0.5.1", + "@atproto/syntax": "^0.4.1", "chalk": "^4.1.2", "commander": "^9.4.0", "prettier": "^3.2.5", - "ts-morph": "^16.0.0", + "ts-morph": "^24.0.0", "yesno": "^0.4.0", "zod": "^3.23.8" }, @@ -391,6 +391,34 @@ "node": ">=18.7.0" } }, + "node_modules/@atproto/lex-cli/node_modules/@atproto/lexicon": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.5.1.tgz", + "integrity": "sha512-y8AEtYmfgVl4fqFxqXAeGvhesiGkxiy3CWoJIfsFDDdTlZUC8DFnZrYhcqkIop3OlCkkljvpSJi1hbeC1tbi8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@atproto/common-web": "^0.4.3", + "@atproto/syntax": "^0.4.1", + "iso-datestring-validator": "^2.2.2", + "multiformats": "^9.9.0", + "zod": "^3.23.8" + } + }, + "node_modules/@atproto/lex-cli/node_modules/@atproto/syntax": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.4.1.tgz", + "integrity": "sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@atproto/lex-cli/node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", + "dev": true, + "license": "(Apache-2.0 AND MIT)" + }, "node_modules/@atproto/lexicon": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.4.14.tgz", @@ -6002,22 +6030,21 @@ } }, "node_modules/@ts-morph/common": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.17.0.tgz", - "integrity": "sha512-RMSSvSfs9kb0VzkvQ2NWobwnj7TxCA9vI/IjR9bDHqgAyVbu2T0DN4wiKVqomyDWqO7dPr/tErSfq7urQ1Q37g==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.25.0.tgz", + "integrity": "sha512-kMnZz+vGGHi4GoHnLmMhGNjm44kGtKUXGnOvrKmMwAuvNjM/PgKVGfUnL7IDvK7Jb2QQ82jq3Zmp04Gy+r3Dkg==", "dev": true, "license": "MIT", "dependencies": { - "fast-glob": "^3.2.11", - "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "path-browserify": "^1.0.1" + "minimatch": "^9.0.4", + "path-browserify": "^1.0.1", + "tinyglobby": "^0.2.9" } }, "node_modules/@ts-morph/common/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6025,29 +6052,19 @@ } }, "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/@ts-morph/common/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "node": ">=16 || 14 >=14.17" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@types/acorn": { @@ -7599,9 +7616,9 @@ } }, "node_modules/code-block-writer": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-11.0.3.tgz", - "integrity": "sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", + "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", "dev": true, "license": "MIT" }, @@ -16427,6 +16444,54 @@ "next-tick": "1" } }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tlds": { "version": "1.256.0", "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.256.0.tgz", @@ -16525,14 +16590,14 @@ "dev": true }, "node_modules/ts-morph": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-16.0.0.tgz", - "integrity": "sha512-jGNF0GVpFj0orFw55LTsQxVYEUOCWBAbR5Ls7fTYE5pQsbW18ssTb/6UXx/GYAEjS+DQTp8VoTw0vqYMiaaQuw==", + "version": "24.0.0", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-24.0.0.tgz", + "integrity": "sha512-2OAOg/Ob5yx9Et7ZX4CvTCc0UFoZHwLEJ+dpDPSUi5TgwwlTlX47w+iFRrEwzUZwYACjq83cgjS/Da50Ga37uw==", "dev": true, "license": "MIT", "dependencies": { - "@ts-morph/common": "~0.17.0", - "code-block-writer": "^11.0.3" + "@ts-morph/common": "~0.25.0", + "code-block-writer": "^13.0.3" } }, "node_modules/tsconfig-paths": { diff --git a/package.json b/package.json index 036838c6..6a60ed66 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "zustand": "^5.0.4" }, "devDependencies": { - "@atproto/lex-cli": "^0.6.1", + "@atproto/lex-cli": "^0.9.5", "@atproto/lexicon": "^0.4.7", "@cloudflare/workers-types": "^4.20240512.0", "@types/katex": "^0.16.7", -- 2.51.2