diff --git a/app/lish/[did]/[publication]/dashboard/settings/PostOptions.tsx b/app/lish/[did]/[publication]/dashboard/settings/PostOptions.tsx
index 1307a9f5..169dfe11 100644
--- a/app/lish/[did]/[publication]/dashboard/settings/PostOptions.tsx
+++ b/app/lish/[did]/[publication]/dashboard/settings/PostOptions.tsx
@@ -33,12 +33,13 @@ export const PostOptions = (props: {
// e.preventDefault();
// props.setLoading(true);
// let data = await updatePublication({
+ // name: record.name,
// uri: pubData.uri,
- // name: nameValue,
- // description: descriptionValue,
- // iconFile: iconFile,
// preferences: {
- // showInDiscover: showInDiscover,
+ // showInDiscover:
+ // record?.preferences?.showInDiscover === undefined
+ // ? true
+ // : record.preferences.showInDiscover,
// showComments: showComments,
// },
// });
@@ -57,7 +58,6 @@ export const PostOptions = (props: {
Post Options
Layout
- {/*Max Post Width
*/}
{
diff --git a/app/lish/[did]/[publication]/dashboard/settings/PublicationSettings.tsx b/app/lish/[did]/[publication]/dashboard/settings/PublicationSettings.tsx
index 88ed1c27..0b85e548 100644
--- a/app/lish/[did]/[publication]/dashboard/settings/PublicationSettings.tsx
+++ b/app/lish/[did]/[publication]/dashboard/settings/PublicationSettings.tsx
@@ -103,14 +103,14 @@ const PubSettingsMenu = (props: {
Theme and Layout
- {/**/}
+
);
};
diff --git a/app/lish/createPub/updatePublication.ts b/app/lish/createPub/updatePublication.ts
index a1e79b3c..6881ac03 100644
--- a/app/lish/createPub/updatePublication.ts
+++ b/app/lish/createPub/updatePublication.ts
@@ -25,8 +25,8 @@ export async function updatePublication({
}: {
uri: string;
name: string;
- description: string;
- iconFile: File | null;
+ description?: string;
+ iconFile?: File | null;
preferences?: Omit;
}): Promise {
let identity = await getIdentityData();
diff --git a/lexicons/api/lexicons.ts b/lexicons/api/lexicons.ts
index 036492da..d3d33b2e 100644
--- a/lexicons/api/lexicons.ts
+++ b/lexicons/api/lexicons.ts
@@ -6,63 +6,63 @@ import {
Lexicons,
ValidationError,
type ValidationResult,
-} from "@atproto/lexicon";
-import { type $Typed, is$typed, maybe$typed } from "./util";
+} from '@atproto/lexicon'
+import { type $Typed, is$typed, maybe$typed } from './util'
export const schemaDict = {
AppBskyActorProfile: {
lexicon: 1,
- id: "app.bsky.actor.profile",
+ id: 'app.bsky.actor.profile',
defs: {
main: {
- type: "record",
- description: "A declaration of a Bluesky account profile.",
- key: "literal:self",
+ type: 'record',
+ description: 'A declaration of a Bluesky account profile.',
+ key: 'literal:self',
record: {
- type: "object",
+ type: 'object',
properties: {
displayName: {
- type: "string",
+ type: 'string',
maxGraphemes: 64,
maxLength: 640,
},
description: {
- type: "string",
- description: "Free-form profile description text.",
+ type: 'string',
+ description: 'Free-form profile description text.',
maxGraphemes: 256,
maxLength: 2560,
},
avatar: {
- type: "blob",
+ type: 'blob',
description:
"Small image to be displayed next to posts from account. AKA, 'profile picture'",
- accept: ["image/png", "image/jpeg"],
+ accept: ['image/png', 'image/jpeg'],
maxSize: 1000000,
},
banner: {
- type: "blob",
+ type: 'blob',
description:
- "Larger horizontal image to display behind profile view.",
- accept: ["image/png", "image/jpeg"],
+ 'Larger horizontal image to display behind profile view.',
+ accept: ['image/png', 'image/jpeg'],
maxSize: 1000000,
},
labels: {
- type: "union",
+ type: 'union',
description:
- "Self-label values, specific to the Bluesky application, on the overall account.",
- refs: ["lex:com.atproto.label.defs#selfLabels"],
+ '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",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.strongRef',
},
pinnedPost: {
- type: "ref",
- ref: "lex:com.atproto.repo.strongRef",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.strongRef',
},
createdAt: {
- type: "string",
- format: "datetime",
+ type: 'string',
+ format: 'datetime',
},
},
},
@@ -71,247 +71,247 @@ export const schemaDict = {
},
ComAtprotoLabelDefs: {
lexicon: 1,
- id: "com.atproto.label.defs",
+ id: 'com.atproto.label.defs',
defs: {
label: {
- type: "object",
+ type: 'object',
description:
- "Metadata tag on an atproto resource (eg, repo or record).",
- required: ["src", "uri", "val", "cts"],
+ '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.",
+ 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.",
+ type: 'string',
+ format: 'did',
+ description: 'DID of the actor who created this label.',
},
uri: {
- type: "string",
- format: "uri",
+ type: 'string',
+ format: 'uri',
description:
- "AT URI of the record, repository (account), or other resource that this label applies to.",
+ 'AT URI of the record, repository (account), or other resource that this label applies to.',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
description:
"Optionally, CID specifying the specific version of 'uri' resource this label applies to.",
},
val: {
- type: "string",
+ type: 'string',
maxLength: 128,
description:
- "The short string name of the value or type of this label.",
+ 'The short string name of the value or type of this label.',
},
neg: {
- type: "boolean",
+ type: 'boolean',
description:
- "If true, this is a negation label, overwriting a previous label.",
+ 'If true, this is a negation label, overwriting a previous label.',
},
cts: {
- type: "string",
- format: "datetime",
- description: "Timestamp when this label was created.",
+ type: 'string',
+ format: 'datetime',
+ description: 'Timestamp when this label was created.',
},
exp: {
- type: "string",
- format: "datetime",
+ type: 'string',
+ format: 'datetime',
description:
- "Timestamp at which this label expires (no longer applies).",
+ 'Timestamp at which this label expires (no longer applies).',
},
sig: {
- type: "bytes",
- description: "Signature of dag-cbor encoded label.",
+ type: 'bytes',
+ description: 'Signature of dag-cbor encoded label.',
},
},
},
selfLabels: {
- type: "object",
+ type: 'object',
description:
- "Metadata tags on an atproto record, published by the author within the record.",
- required: ["values"],
+ 'Metadata tags on an atproto record, published by the author within the record.',
+ required: ['values'],
properties: {
values: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:com.atproto.label.defs#selfLabel",
+ type: 'ref',
+ ref: 'lex:com.atproto.label.defs#selfLabel',
},
maxLength: 10,
},
},
},
selfLabel: {
- type: "object",
+ type: 'object',
description:
- "Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.",
- required: ["val"],
+ '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",
+ type: 'string',
maxLength: 128,
description:
- "The short string name of the value or type of this label.",
+ 'The short string name of the value or type of this label.',
},
},
},
labelValueDefinition: {
- type: "object",
+ type: 'object',
description:
- "Declares a label value and its expected interpretations and behaviors.",
- required: ["identifier", "severity", "blurs", "locales"],
+ 'Declares a label value and its expected interpretations and behaviors.',
+ required: ['identifier', 'severity', 'blurs', 'locales'],
properties: {
identifier: {
- type: "string",
+ 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",
+ 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"],
+ knownValues: ['inform', 'alert', 'none'],
},
blurs: {
- type: "string",
+ 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"],
+ knownValues: ['content', 'media', 'none'],
},
defaultSetting: {
- type: "string",
- description: "The default setting for this label.",
- knownValues: ["ignore", "warn", "hide"],
- default: "warn",
+ type: 'string',
+ description: 'The default setting for this label.',
+ knownValues: ['ignore', 'warn', 'hide'],
+ default: 'warn',
},
adultOnly: {
- type: "boolean",
+ type: 'boolean',
description:
- "Does the user need to have adult content enabled in order to configure this label?",
+ 'Does the user need to have adult content enabled in order to configure this label?',
},
locales: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:com.atproto.label.defs#labelValueDefinitionStrings",
+ type: 'ref',
+ ref: 'lex:com.atproto.label.defs#labelValueDefinitionStrings',
},
},
},
},
labelValueDefinitionStrings: {
- type: "object",
+ type: 'object',
description:
- "Strings which describe the label in the UI, localized into a specific language.",
- required: ["lang", "name", "description"],
+ 'Strings which describe the label in the UI, localized into a specific language.',
+ required: ['lang', 'name', 'description'],
properties: {
lang: {
- type: "string",
+ type: 'string',
description:
- "The code of the language these strings are written in.",
- format: "language",
+ 'The code of the language these strings are written in.',
+ format: 'language',
},
name: {
- type: "string",
- description: "A short human-readable name for the label.",
+ type: 'string',
+ description: 'A short human-readable name for the label.',
maxGraphemes: 64,
maxLength: 640,
},
description: {
- type: "string",
+ type: 'string',
description:
- "A longer description of what the label means and why it might be applied.",
+ 'A longer description of what the label means and why it might be applied.',
maxGraphemes: 10000,
maxLength: 100000,
},
},
},
labelValue: {
- type: "string",
+ type: 'string',
knownValues: [
- "!hide",
- "!no-promote",
- "!warn",
- "!no-unauthenticated",
- "dmca-violation",
- "doxxing",
- "porn",
- "sexual",
- "nudity",
- "nsfl",
- "gore",
+ '!hide',
+ '!no-promote',
+ '!warn',
+ '!no-unauthenticated',
+ 'dmca-violation',
+ 'doxxing',
+ 'porn',
+ 'sexual',
+ 'nudity',
+ 'nsfl',
+ 'gore',
],
},
},
},
ComAtprotoRepoApplyWrites: {
lexicon: 1,
- id: "com.atproto.repo.applyWrites",
+ id: 'com.atproto.repo.applyWrites',
defs: {
main: {
- type: "procedure",
+ type: 'procedure',
description:
- "Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS.",
+ 'Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS.',
input: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["repo", "writes"],
+ type: 'object',
+ required: ['repo', 'writes'],
properties: {
repo: {
- type: "string",
- format: "at-identifier",
+ type: 'string',
+ format: 'at-identifier',
description:
- "The handle or DID of the repo (aka, current account).",
+ 'The handle or DID of the repo (aka, current account).',
},
validate: {
- type: "boolean",
+ 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",
+ type: 'array',
items: {
- type: "union",
+ type: 'union',
refs: [
- "lex:com.atproto.repo.applyWrites#create",
- "lex:com.atproto.repo.applyWrites#update",
- "lex:com.atproto.repo.applyWrites#delete",
+ 'lex:com.atproto.repo.applyWrites#create',
+ 'lex:com.atproto.repo.applyWrites#update',
+ 'lex:com.atproto.repo.applyWrites#delete',
],
closed: true,
},
},
swapCommit: {
- type: "string",
+ 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",
+ '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',
},
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
+ type: 'object',
required: [],
properties: {
commit: {
- type: "ref",
- ref: "lex:com.atproto.repo.defs#commitMeta",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.defs#commitMeta',
},
results: {
- type: "array",
+ type: 'array',
items: {
- type: "union",
+ type: 'union',
refs: [
- "lex:com.atproto.repo.applyWrites#createResult",
- "lex:com.atproto.repo.applyWrites#updateResult",
- "lex:com.atproto.repo.applyWrites#deleteResult",
+ 'lex:com.atproto.repo.applyWrites#createResult',
+ 'lex:com.atproto.repo.applyWrites#updateResult',
+ 'lex:com.atproto.repo.applyWrites#deleteResult',
],
closed: true,
},
@@ -321,104 +321,104 @@ export const schemaDict = {
},
errors: [
{
- name: "InvalidSwap",
+ name: 'InvalidSwap',
description:
"Indicates that the 'swapCommit' parameter did not match current commit.",
},
],
},
create: {
- type: "object",
- description: "Operation which creates a new record.",
- required: ["collection", "value"],
+ type: 'object',
+ description: 'Operation which creates a new record.',
+ required: ['collection', 'value'],
properties: {
collection: {
- type: "string",
- format: "nsid",
+ type: 'string',
+ format: 'nsid',
},
rkey: {
- type: "string",
+ type: 'string',
maxLength: 512,
- format: "record-key",
+ format: 'record-key',
description:
- "NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility.",
+ 'NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility.',
},
value: {
- type: "unknown",
+ type: 'unknown',
},
},
},
update: {
- type: "object",
- description: "Operation which updates an existing record.",
- required: ["collection", "rkey", "value"],
+ type: 'object',
+ description: 'Operation which updates an existing record.',
+ required: ['collection', 'rkey', 'value'],
properties: {
collection: {
- type: "string",
- format: "nsid",
+ type: 'string',
+ format: 'nsid',
},
rkey: {
- type: "string",
- format: "record-key",
+ type: 'string',
+ format: 'record-key',
},
value: {
- type: "unknown",
+ type: 'unknown',
},
},
},
delete: {
- type: "object",
- description: "Operation which deletes an existing record.",
- required: ["collection", "rkey"],
+ type: 'object',
+ description: 'Operation which deletes an existing record.',
+ required: ['collection', 'rkey'],
properties: {
collection: {
- type: "string",
- format: "nsid",
+ type: 'string',
+ format: 'nsid',
},
rkey: {
- type: "string",
- format: "record-key",
+ type: 'string',
+ format: 'record-key',
},
},
},
createResult: {
- type: "object",
- required: ["uri", "cid"],
+ type: 'object',
+ required: ['uri', 'cid'],
properties: {
uri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
validationStatus: {
- type: "string",
- knownValues: ["valid", "unknown"],
+ type: 'string',
+ knownValues: ['valid', 'unknown'],
},
},
},
updateResult: {
- type: "object",
- required: ["uri", "cid"],
+ type: 'object',
+ required: ['uri', 'cid'],
properties: {
uri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
validationStatus: {
- type: "string",
- knownValues: ["valid", "unknown"],
+ type: 'string',
+ knownValues: ['valid', 'unknown'],
},
},
},
deleteResult: {
- type: "object",
+ type: 'object',
required: [],
properties: {},
},
@@ -426,81 +426,81 @@ export const schemaDict = {
},
ComAtprotoRepoCreateRecord: {
lexicon: 1,
- id: "com.atproto.repo.createRecord",
+ id: 'com.atproto.repo.createRecord',
defs: {
main: {
- type: "procedure",
+ type: 'procedure',
description:
- "Create a single new repository record. Requires auth, implemented by PDS.",
+ 'Create a single new repository record. Requires auth, implemented by PDS.',
input: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["repo", "collection", "record"],
+ type: 'object',
+ required: ['repo', 'collection', 'record'],
properties: {
repo: {
- type: "string",
- format: "at-identifier",
+ type: 'string',
+ format: 'at-identifier',
description:
- "The handle or DID of the repo (aka, current account).",
+ 'The handle or DID of the repo (aka, current account).',
},
collection: {
- type: "string",
- format: "nsid",
- description: "The NSID of the record collection.",
+ type: 'string',
+ format: 'nsid',
+ description: 'The NSID of the record collection.',
},
rkey: {
- type: "string",
- format: "record-key",
- description: "The Record Key.",
+ type: 'string',
+ format: 'record-key',
+ description: 'The Record Key.',
maxLength: 512,
},
validate: {
- type: "boolean",
+ 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.",
+ type: 'unknown',
+ description: 'The record itself. Must contain a $type field.',
},
swapCommit: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
description:
- "Compare and swap with the previous commit by CID.",
+ 'Compare and swap with the previous commit by CID.',
},
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["uri", "cid"],
+ type: 'object',
+ required: ['uri', 'cid'],
properties: {
uri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
commit: {
- type: "ref",
- ref: "lex:com.atproto.repo.defs#commitMeta",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.defs#commitMeta',
},
validationStatus: {
- type: "string",
- knownValues: ["valid", "unknown"],
+ type: 'string',
+ knownValues: ['valid', 'unknown'],
},
},
},
},
errors: [
{
- name: "InvalidSwap",
+ name: 'InvalidSwap',
description:
"Indicates that 'swapCommit' didn't match current repo commit.",
},
@@ -510,19 +510,19 @@ export const schemaDict = {
},
ComAtprotoRepoDefs: {
lexicon: 1,
- id: "com.atproto.repo.defs",
+ id: 'com.atproto.repo.defs',
defs: {
commitMeta: {
- type: "object",
- required: ["cid", "rev"],
+ type: 'object',
+ required: ['cid', 'rev'],
properties: {
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
rev: {
- type: "string",
- format: "tid",
+ type: 'string',
+ format: 'tid',
},
},
},
@@ -530,64 +530,64 @@ export const schemaDict = {
},
ComAtprotoRepoDeleteRecord: {
lexicon: 1,
- id: "com.atproto.repo.deleteRecord",
+ id: 'com.atproto.repo.deleteRecord',
defs: {
main: {
- type: "procedure",
+ type: 'procedure',
description:
"Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.",
input: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["repo", "collection", "rkey"],
+ type: 'object',
+ required: ['repo', 'collection', 'rkey'],
properties: {
repo: {
- type: "string",
- format: "at-identifier",
+ type: 'string',
+ format: 'at-identifier',
description:
- "The handle or DID of the repo (aka, current account).",
+ 'The handle or DID of the repo (aka, current account).',
},
collection: {
- type: "string",
- format: "nsid",
- description: "The NSID of the record collection.",
+ type: 'string',
+ format: 'nsid',
+ description: 'The NSID of the record collection.',
},
rkey: {
- type: "string",
- format: "record-key",
- description: "The Record Key.",
+ type: 'string',
+ format: 'record-key',
+ description: 'The Record Key.',
},
swapRecord: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
description:
- "Compare and swap with the previous record by CID.",
+ 'Compare and swap with the previous record by CID.',
},
swapCommit: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
description:
- "Compare and swap with the previous commit by CID.",
+ 'Compare and swap with the previous commit by CID.',
},
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
+ type: 'object',
properties: {
commit: {
- type: "ref",
- ref: "lex:com.atproto.repo.defs#commitMeta",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.defs#commitMeta',
},
},
},
},
errors: [
{
- name: "InvalidSwap",
+ name: 'InvalidSwap',
},
],
},
@@ -595,60 +595,60 @@ export const schemaDict = {
},
ComAtprotoRepoDescribeRepo: {
lexicon: 1,
- id: "com.atproto.repo.describeRepo",
+ id: 'com.atproto.repo.describeRepo',
defs: {
main: {
- type: "query",
+ type: 'query',
description:
- "Get information about an account and repository, including the list of collections. Does not require auth.",
+ 'Get information about an account and repository, including the list of collections. Does not require auth.',
parameters: {
- type: "params",
- required: ["repo"],
+ type: 'params',
+ required: ['repo'],
properties: {
repo: {
- type: "string",
- format: "at-identifier",
- description: "The handle or DID of the repo.",
+ type: 'string',
+ format: 'at-identifier',
+ description: 'The handle or DID of the repo.',
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
+ type: 'object',
required: [
- "handle",
- "did",
- "didDoc",
- "collections",
- "handleIsCorrect",
+ 'handle',
+ 'did',
+ 'didDoc',
+ 'collections',
+ 'handleIsCorrect',
],
properties: {
handle: {
- type: "string",
- format: "handle",
+ type: 'string',
+ format: 'handle',
},
did: {
- type: "string",
- format: "did",
+ type: 'string',
+ format: 'did',
},
didDoc: {
- type: "unknown",
- description: "The complete DID document for this account.",
+ type: 'unknown',
+ description: 'The complete DID document for this account.',
},
collections: {
- type: "array",
+ type: 'array',
description:
- "List of all the collections (NSIDs) for which this repo contains at least one record.",
+ 'List of all the collections (NSIDs) for which this repo contains at least one record.',
items: {
- type: "string",
- format: "nsid",
+ type: 'string',
+ format: 'nsid',
},
},
handleIsCorrect: {
- type: "boolean",
+ type: 'boolean',
description:
- "Indicates if handle is currently valid (resolves bi-directionally)",
+ 'Indicates if handle is currently valid (resolves bi-directionally)',
},
},
},
@@ -658,62 +658,62 @@ export const schemaDict = {
},
ComAtprotoRepoGetRecord: {
lexicon: 1,
- id: "com.atproto.repo.getRecord",
+ id: 'com.atproto.repo.getRecord',
defs: {
main: {
- type: "query",
+ type: 'query',
description:
- "Get a single record from a repository. Does not require auth.",
+ 'Get a single record from a repository. Does not require auth.',
parameters: {
- type: "params",
- required: ["repo", "collection", "rkey"],
+ type: 'params',
+ required: ['repo', 'collection', 'rkey'],
properties: {
repo: {
- type: "string",
- format: "at-identifier",
- description: "The handle or DID of the 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.",
+ type: 'string',
+ format: 'nsid',
+ description: 'The NSID of the record collection.',
},
rkey: {
- type: "string",
- description: "The Record Key.",
- format: "record-key",
+ type: 'string',
+ description: 'The Record Key.',
+ format: 'record-key',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
description:
- "The CID of the version of the record. If not specified, then return the most recent version.",
+ 'The CID of the version of the record. If not specified, then return the most recent version.',
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["uri", "value"],
+ type: 'object',
+ required: ['uri', 'value'],
properties: {
uri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
value: {
- type: "unknown",
+ type: 'unknown',
},
},
},
},
errors: [
{
- name: "RecordNotFound",
+ name: 'RecordNotFound',
},
],
},
@@ -721,54 +721,54 @@ export const schemaDict = {
},
ComAtprotoRepoImportRepo: {
lexicon: 1,
- id: "com.atproto.repo.importRepo",
+ id: 'com.atproto.repo.importRepo',
defs: {
main: {
- type: "procedure",
+ type: 'procedure',
description:
- "Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.",
+ 'Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.',
input: {
- encoding: "application/vnd.ipld.car",
+ encoding: 'application/vnd.ipld.car',
},
},
},
},
ComAtprotoRepoListMissingBlobs: {
lexicon: 1,
- id: "com.atproto.repo.listMissingBlobs",
+ id: 'com.atproto.repo.listMissingBlobs',
defs: {
main: {
- type: "query",
+ type: 'query',
description:
- "Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow.",
+ 'Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow.',
parameters: {
- type: "params",
+ type: 'params',
properties: {
limit: {
- type: "integer",
+ type: 'integer',
minimum: 1,
maximum: 1000,
default: 500,
},
cursor: {
- type: "string",
+ type: 'string',
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["blobs"],
+ type: 'object',
+ required: ['blobs'],
properties: {
cursor: {
- type: "string",
+ type: 'string',
},
blobs: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:com.atproto.repo.listMissingBlobs#recordBlob",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.listMissingBlobs#recordBlob',
},
},
},
@@ -776,16 +776,16 @@ export const schemaDict = {
},
},
recordBlob: {
- type: "object",
- required: ["cid", "recordUri"],
+ type: 'object',
+ required: ['cid', 'recordUri'],
properties: {
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
recordUri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
},
},
@@ -793,66 +793,66 @@ export const schemaDict = {
},
ComAtprotoRepoListRecords: {
lexicon: 1,
- id: "com.atproto.repo.listRecords",
+ id: 'com.atproto.repo.listRecords',
defs: {
main: {
- type: "query",
+ type: 'query',
description:
- "List a range of records in a repository, matching a specific collection. Does not require auth.",
+ 'List a range of records in a repository, matching a specific collection. Does not require auth.',
parameters: {
- type: "params",
- required: ["repo", "collection"],
+ type: 'params',
+ required: ['repo', 'collection'],
properties: {
repo: {
- type: "string",
- format: "at-identifier",
- description: "The handle or DID of the 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.",
+ type: 'string',
+ format: 'nsid',
+ description: 'The NSID of the record type.',
},
limit: {
- type: "integer",
+ type: 'integer',
minimum: 1,
maximum: 100,
default: 50,
- description: "The number of records to return.",
+ description: 'The number of records to return.',
},
cursor: {
- type: "string",
+ type: 'string',
},
rkeyStart: {
- type: "string",
+ type: 'string',
description:
- "DEPRECATED: The lowest sort-ordered rkey to start from (exclusive)",
+ 'DEPRECATED: The lowest sort-ordered rkey to start from (exclusive)',
},
rkeyEnd: {
- type: "string",
+ type: 'string',
description:
- "DEPRECATED: The highest sort-ordered rkey to stop at (exclusive)",
+ 'DEPRECATED: The highest sort-ordered rkey to stop at (exclusive)',
},
reverse: {
- type: "boolean",
- description: "Flag to reverse the order of the returned records.",
+ type: 'boolean',
+ description: 'Flag to reverse the order of the returned records.',
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["records"],
+ type: 'object',
+ required: ['records'],
properties: {
cursor: {
- type: "string",
+ type: 'string',
},
records: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:com.atproto.repo.listRecords#record",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.listRecords#record',
},
},
},
@@ -860,19 +860,19 @@ export const schemaDict = {
},
},
record: {
- type: "object",
- required: ["uri", "cid", "value"],
+ type: 'object',
+ required: ['uri', 'cid', 'value'],
properties: {
uri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
value: {
- type: "unknown",
+ type: 'unknown',
},
},
},
@@ -880,88 +880,88 @@ export const schemaDict = {
},
ComAtprotoRepoPutRecord: {
lexicon: 1,
- id: "com.atproto.repo.putRecord",
+ id: 'com.atproto.repo.putRecord',
defs: {
main: {
- type: "procedure",
+ type: 'procedure',
description:
- "Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.",
+ 'Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.',
input: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["repo", "collection", "rkey", "record"],
- nullable: ["swapRecord"],
+ type: 'object',
+ required: ['repo', 'collection', 'rkey', 'record'],
+ nullable: ['swapRecord'],
properties: {
repo: {
- type: "string",
- format: "at-identifier",
+ type: 'string',
+ format: 'at-identifier',
description:
- "The handle or DID of the repo (aka, current account).",
+ 'The handle or DID of the repo (aka, current account).',
},
collection: {
- type: "string",
- format: "nsid",
- description: "The NSID of the record collection.",
+ type: 'string',
+ format: 'nsid',
+ description: 'The NSID of the record collection.',
},
rkey: {
- type: "string",
- format: "record-key",
- description: "The Record Key.",
+ type: 'string',
+ format: 'record-key',
+ description: 'The Record Key.',
maxLength: 512,
},
validate: {
- type: "boolean",
+ 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.",
+ type: 'unknown',
+ description: 'The record to write.',
},
swapRecord: {
- type: "string",
- format: "cid",
+ 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",
+ '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",
+ type: 'string',
+ format: 'cid',
description:
- "Compare and swap with the previous commit by CID.",
+ 'Compare and swap with the previous commit by CID.',
},
},
},
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["uri", "cid"],
+ type: 'object',
+ required: ['uri', 'cid'],
properties: {
uri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
commit: {
- type: "ref",
- ref: "lex:com.atproto.repo.defs#commitMeta",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.defs#commitMeta',
},
validationStatus: {
- type: "string",
- knownValues: ["valid", "unknown"],
+ type: 'string',
+ knownValues: ['valid', 'unknown'],
},
},
},
},
errors: [
{
- name: "InvalidSwap",
+ name: 'InvalidSwap',
},
],
},
@@ -969,20 +969,20 @@ export const schemaDict = {
},
ComAtprotoRepoStrongRef: {
lexicon: 1,
- id: "com.atproto.repo.strongRef",
- description: "A URI with a content-hash fingerprint.",
+ id: 'com.atproto.repo.strongRef',
+ description: 'A URI with a content-hash fingerprint.',
defs: {
main: {
- type: "object",
- required: ["uri", "cid"],
+ type: 'object',
+ required: ['uri', 'cid'],
properties: {
uri: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
cid: {
- type: "string",
- format: "cid",
+ type: 'string',
+ format: 'cid',
},
},
},
@@ -990,23 +990,23 @@ export const schemaDict = {
},
ComAtprotoRepoUploadBlob: {
lexicon: 1,
- id: "com.atproto.repo.uploadBlob",
+ id: 'com.atproto.repo.uploadBlob',
defs: {
main: {
- type: "procedure",
+ 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.",
+ '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: "*/*",
+ encoding: '*/*',
},
output: {
- encoding: "application/json",
+ encoding: 'application/json',
schema: {
- type: "object",
- required: ["blob"],
+ type: 'object',
+ required: ['blob'],
properties: {
blob: {
- type: "blob",
+ type: 'blob',
},
},
},
@@ -1016,20 +1016,20 @@ export const schemaDict = {
},
PubLeafletBlocksBlockquote: {
lexicon: 1,
- id: "pub.leaflet.blocks.blockquote",
+ id: 'pub.leaflet.blocks.blockquote',
defs: {
main: {
- type: "object",
- required: ["plaintext"],
+ type: 'object',
+ required: ['plaintext'],
properties: {
plaintext: {
- type: "string",
+ type: 'string',
},
facets: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.richtext.facet",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.richtext.facet',
},
},
},
@@ -1038,15 +1038,15 @@ export const schemaDict = {
},
PubLeafletBlocksBskyPost: {
lexicon: 1,
- id: "pub.leaflet.blocks.bskyPost",
+ id: 'pub.leaflet.blocks.bskyPost',
defs: {
main: {
- type: "object",
- required: ["postRef"],
+ type: 'object',
+ required: ['postRef'],
properties: {
postRef: {
- type: "ref",
- ref: "lex:com.atproto.repo.strongRef",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.strongRef',
},
},
},
@@ -1054,18 +1054,18 @@ export const schemaDict = {
},
PubLeafletBlocksButton: {
lexicon: 1,
- id: "pub.leaflet.blocks.button",
+ id: 'pub.leaflet.blocks.button',
defs: {
main: {
- type: "object",
- required: ["text", "url"],
+ type: 'object',
+ required: ['text', 'url'],
properties: {
text: {
- type: "string",
+ type: 'string',
},
url: {
- type: "string",
- format: "uri",
+ type: 'string',
+ format: 'uri',
},
},
},
@@ -1073,20 +1073,20 @@ export const schemaDict = {
},
PubLeafletBlocksCode: {
lexicon: 1,
- id: "pub.leaflet.blocks.code",
+ id: 'pub.leaflet.blocks.code',
defs: {
main: {
- type: "object",
- required: ["plaintext"],
+ type: 'object',
+ required: ['plaintext'],
properties: {
plaintext: {
- type: "string",
+ type: 'string',
},
language: {
- type: "string",
+ type: 'string',
},
syntaxHighlightingTheme: {
- type: "string",
+ type: 'string',
},
},
},
@@ -1094,25 +1094,25 @@ export const schemaDict = {
},
PubLeafletBlocksHeader: {
lexicon: 1,
- id: "pub.leaflet.blocks.header",
+ id: 'pub.leaflet.blocks.header',
defs: {
main: {
- type: "object",
- required: ["plaintext"],
+ type: 'object',
+ required: ['plaintext'],
properties: {
level: {
- type: "integer",
+ type: 'integer',
minimum: 1,
maximum: 6,
},
plaintext: {
- type: "string",
+ type: 'string',
},
facets: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.richtext.facet",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.richtext.facet',
},
},
},
@@ -1121,10 +1121,10 @@ export const schemaDict = {
},
PubLeafletBlocksHorizontalRule: {
lexicon: 1,
- id: "pub.leaflet.blocks.horizontalRule",
+ id: 'pub.leaflet.blocks.horizontalRule',
defs: {
main: {
- type: "object",
+ type: 'object',
required: [],
properties: {},
},
@@ -1132,18 +1132,18 @@ export const schemaDict = {
},
PubLeafletBlocksIframe: {
lexicon: 1,
- id: "pub.leaflet.blocks.iframe",
+ id: 'pub.leaflet.blocks.iframe',
defs: {
main: {
- type: "object",
- required: ["url"],
+ type: 'object',
+ required: ['url'],
properties: {
url: {
- type: "string",
- format: "uri",
+ type: 'string',
+ format: 'uri',
},
height: {
- type: "integer",
+ type: 'integer',
minimum: 16,
maximum: 1600,
},
@@ -1153,37 +1153,37 @@ export const schemaDict = {
},
PubLeafletBlocksImage: {
lexicon: 1,
- id: "pub.leaflet.blocks.image",
+ id: 'pub.leaflet.blocks.image',
defs: {
main: {
- type: "object",
- required: ["image", "aspectRatio"],
+ type: 'object',
+ required: ['image', 'aspectRatio'],
properties: {
image: {
- type: "blob",
- accept: ["image/*"],
+ type: 'blob',
+ accept: ['image/*'],
maxSize: 1000000,
},
alt: {
- type: "string",
+ type: 'string',
description:
- "Alt text description of the image, for accessibility.",
+ 'Alt text description of the image, for accessibility.',
},
aspectRatio: {
- type: "ref",
- ref: "lex:pub.leaflet.blocks.image#aspectRatio",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.blocks.image#aspectRatio',
},
},
},
aspectRatio: {
- type: "object",
- required: ["width", "height"],
+ type: 'object',
+ required: ['width', 'height'],
properties: {
width: {
- type: "integer",
+ type: 'integer',
},
height: {
- type: "integer",
+ type: 'integer',
},
},
},
@@ -1191,14 +1191,14 @@ export const schemaDict = {
},
PubLeafletBlocksMath: {
lexicon: 1,
- id: "pub.leaflet.blocks.math",
+ id: 'pub.leaflet.blocks.math',
defs: {
main: {
- type: "object",
- required: ["tex"],
+ type: 'object',
+ required: ['tex'],
properties: {
tex: {
- type: "string",
+ type: 'string',
},
},
},
@@ -1206,14 +1206,14 @@ export const schemaDict = {
},
PubLeafletBlocksPage: {
lexicon: 1,
- id: "pub.leaflet.blocks.page",
+ id: 'pub.leaflet.blocks.page',
defs: {
main: {
- type: "object",
- required: ["id"],
+ type: 'object',
+ required: ['id'],
properties: {
id: {
- type: "string",
+ type: 'string',
},
},
},
@@ -1221,15 +1221,15 @@ export const schemaDict = {
},
PubLeafletBlocksPoll: {
lexicon: 1,
- id: "pub.leaflet.blocks.poll",
+ id: 'pub.leaflet.blocks.poll',
defs: {
main: {
- type: "object",
- required: ["pollRef"],
+ type: 'object',
+ required: ['pollRef'],
properties: {
pollRef: {
- type: "ref",
- ref: "lex:com.atproto.repo.strongRef",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.strongRef',
},
},
},
@@ -1237,20 +1237,20 @@ export const schemaDict = {
},
PubLeafletBlocksText: {
lexicon: 1,
- id: "pub.leaflet.blocks.text",
+ id: 'pub.leaflet.blocks.text',
defs: {
main: {
- type: "object",
- required: ["plaintext"],
+ type: 'object',
+ required: ['plaintext'],
properties: {
plaintext: {
- type: "string",
+ type: 'string',
},
facets: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.richtext.facet",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.richtext.facet',
},
},
},
@@ -1259,38 +1259,38 @@ export const schemaDict = {
},
PubLeafletBlocksUnorderedList: {
lexicon: 1,
- id: "pub.leaflet.blocks.unorderedList",
+ id: 'pub.leaflet.blocks.unorderedList',
defs: {
main: {
- type: "object",
- required: ["children"],
+ type: 'object',
+ required: ['children'],
properties: {
children: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.blocks.unorderedList#listItem",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.blocks.unorderedList#listItem',
},
},
},
},
listItem: {
- type: "object",
- required: ["content"],
+ type: 'object',
+ required: ['content'],
properties: {
content: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.blocks.text",
- "lex:pub.leaflet.blocks.header",
- "lex:pub.leaflet.blocks.image",
+ 'lex:pub.leaflet.blocks.text',
+ 'lex:pub.leaflet.blocks.header',
+ 'lex:pub.leaflet.blocks.image',
],
},
children: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.blocks.unorderedList#listItem",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.blocks.unorderedList#listItem',
},
},
},
@@ -1299,26 +1299,26 @@ export const schemaDict = {
},
PubLeafletBlocksWebsite: {
lexicon: 1,
- id: "pub.leaflet.blocks.website",
+ id: 'pub.leaflet.blocks.website',
defs: {
main: {
- type: "object",
- required: ["src"],
+ type: 'object',
+ required: ['src'],
properties: {
previewImage: {
- type: "blob",
- accept: ["image/*"],
+ type: 'blob',
+ accept: ['image/*'],
maxSize: 1000000,
},
title: {
- type: "string",
+ type: 'string',
},
description: {
- type: "string",
+ type: 'string',
},
src: {
- type: "string",
- format: "uri",
+ type: 'string',
+ format: 'uri',
},
},
},
@@ -1326,71 +1326,71 @@ export const schemaDict = {
},
PubLeafletComment: {
lexicon: 1,
- id: "pub.leaflet.comment",
+ id: 'pub.leaflet.comment',
revision: 1,
- description: "A lexicon for comments on documents",
+ description: 'A lexicon for comments on documents',
defs: {
main: {
- type: "record",
- key: "tid",
- description: "Record containing a comment",
+ type: 'record',
+ key: 'tid',
+ description: 'Record containing a comment',
record: {
- type: "object",
- required: ["subject", "plaintext", "createdAt"],
+ type: 'object',
+ required: ['subject', 'plaintext', 'createdAt'],
properties: {
subject: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
createdAt: {
- type: "string",
- format: "datetime",
+ type: 'string',
+ format: 'datetime',
},
reply: {
- type: "ref",
- ref: "lex:pub.leaflet.comment#replyRef",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.comment#replyRef',
},
plaintext: {
- type: "string",
+ type: 'string',
},
facets: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.richtext.facet",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.richtext.facet',
},
},
onPage: {
- type: "string",
+ type: 'string',
},
attachment: {
- type: "union",
- refs: ["lex:pub.leaflet.comment#linearDocumentQuote"],
+ type: 'union',
+ refs: ['lex:pub.leaflet.comment#linearDocumentQuote'],
},
},
},
},
linearDocumentQuote: {
- type: "object",
- required: ["document", "quote"],
+ type: 'object',
+ required: ['document', 'quote'],
properties: {
document: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
quote: {
- type: "ref",
- ref: "lex:pub.leaflet.pages.linearDocument#quote",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.pages.linearDocument#quote',
},
},
},
replyRef: {
- type: "object",
- required: ["parent"],
+ type: 'object',
+ required: ['parent'],
properties: {
parent: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
},
},
@@ -1398,67 +1398,67 @@ export const schemaDict = {
},
PubLeafletDocument: {
lexicon: 1,
- id: "pub.leaflet.document",
+ id: 'pub.leaflet.document',
revision: 1,
- description: "A lexicon for long form rich media documents",
+ description: 'A lexicon for long form rich media documents',
defs: {
main: {
- type: "record",
- key: "tid",
- description: "Record containing a document",
+ type: 'record',
+ key: 'tid',
+ description: 'Record containing a document',
record: {
- type: "object",
- required: ["pages", "author", "title"],
+ type: 'object',
+ required: ['pages', 'author', 'title'],
properties: {
title: {
- type: "string",
+ type: 'string',
maxLength: 1280,
maxGraphemes: 128,
},
postRef: {
- type: "ref",
- ref: "lex:com.atproto.repo.strongRef",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.strongRef',
},
description: {
- type: "string",
+ type: 'string',
maxLength: 3000,
maxGraphemes: 300,
},
publishedAt: {
- type: "string",
- format: "datetime",
+ type: 'string',
+ format: 'datetime',
},
publication: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
author: {
- type: "string",
- format: "at-identifier",
+ type: 'string',
+ format: 'at-identifier',
},
theme: {
- type: "ref",
- ref: "lex:pub.leaflet.publication#theme",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.publication#theme',
},
tags: {
- type: "array",
+ type: 'array',
items: {
- type: "string",
+ type: 'string',
maxLength: 50,
},
},
coverImage: {
- type: "blob",
- accept: ["image/png", "image/jpeg", "image/webp"],
+ type: 'blob',
+ accept: ['image/png', 'image/jpeg', 'image/webp'],
maxSize: 1000000,
},
pages: {
- type: "array",
+ type: 'array',
items: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.pages.linearDocument",
- "lex:pub.leaflet.pages.canvas",
+ 'lex:pub.leaflet.pages.linearDocument',
+ 'lex:pub.leaflet.pages.canvas',
],
},
},
@@ -1469,19 +1469,19 @@ export const schemaDict = {
},
PubLeafletGraphSubscription: {
lexicon: 1,
- id: "pub.leaflet.graph.subscription",
+ id: 'pub.leaflet.graph.subscription',
defs: {
main: {
- type: "record",
- key: "tid",
- description: "Record declaring a subscription to a publication",
+ type: 'record',
+ key: 'tid',
+ description: 'Record declaring a subscription to a publication',
record: {
- type: "object",
- required: ["publication"],
+ type: 'object',
+ required: ['publication'],
properties: {
publication: {
- type: "string",
- format: "at-uri",
+ type: 'string',
+ format: 'at-uri',
},
},
},
@@ -1490,100 +1490,100 @@ export const schemaDict = {
},
PubLeafletPagesCanvas: {
lexicon: 1,
- id: "pub.leaflet.pages.canvas",
+ id: 'pub.leaflet.pages.canvas',
defs: {
main: {
- type: "object",
- required: ["blocks"],
+ type: 'object',
+ required: ['blocks'],
properties: {
id: {
- type: "string",
+ type: 'string',
},
blocks: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.pages.canvas#block",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.pages.canvas#block',
},
},
},
},
block: {
- type: "object",
- required: ["block", "x", "y", "width"],
+ type: 'object',
+ required: ['block', 'x', 'y', 'width'],
properties: {
block: {
- type: "union",
+ 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",
- "lex:pub.leaflet.blocks.page",
- "lex:pub.leaflet.blocks.poll",
- "lex:pub.leaflet.blocks.button",
+ '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',
+ 'lex:pub.leaflet.blocks.page',
+ 'lex:pub.leaflet.blocks.poll',
+ 'lex:pub.leaflet.blocks.button',
],
},
x: {
- type: "integer",
+ type: 'integer',
},
y: {
- type: "integer",
+ type: 'integer',
},
width: {
- type: "integer",
+ type: 'integer',
},
height: {
- type: "integer",
+ type: 'integer',
},
rotation: {
- type: "integer",
- description: "The rotation of the block in degrees",
+ type: 'integer',
+ description: 'The rotation of the block in degrees',
},
},
},
textAlignLeft: {
- type: "token",
+ type: 'token',
},
textAlignCenter: {
- type: "token",
+ type: 'token',
},
textAlignRight: {
- type: "token",
+ type: 'token',
},
quote: {
- type: "object",
- required: ["start", "end"],
+ type: 'object',
+ required: ['start', 'end'],
properties: {
start: {
- type: "ref",
- ref: "lex:pub.leaflet.pages.canvas#position",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.pages.canvas#position',
},
end: {
- type: "ref",
- ref: "lex:pub.leaflet.pages.canvas#position",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.pages.canvas#position',
},
},
},
position: {
- type: "object",
- required: ["block", "offset"],
+ type: 'object',
+ required: ['block', 'offset'],
properties: {
block: {
- type: "array",
+ type: 'array',
items: {
- type: "integer",
+ type: 'integer',
},
},
offset: {
- type: "integer",
+ type: 'integer',
},
},
},
@@ -1591,96 +1591,96 @@ export const schemaDict = {
},
PubLeafletPagesLinearDocument: {
lexicon: 1,
- id: "pub.leaflet.pages.linearDocument",
+ id: 'pub.leaflet.pages.linearDocument',
defs: {
main: {
- type: "object",
- required: ["blocks"],
+ type: 'object',
+ required: ['blocks'],
properties: {
id: {
- type: "string",
+ type: 'string',
},
blocks: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.pages.linearDocument#block",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.pages.linearDocument#block',
},
},
},
},
block: {
- type: "object",
- required: ["block"],
+ type: 'object',
+ required: ['block'],
properties: {
block: {
- type: "union",
+ 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",
- "lex:pub.leaflet.blocks.page",
- "lex:pub.leaflet.blocks.poll",
- "lex:pub.leaflet.blocks.button",
+ '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',
+ 'lex:pub.leaflet.blocks.page',
+ 'lex:pub.leaflet.blocks.poll',
+ 'lex:pub.leaflet.blocks.button',
],
},
alignment: {
- type: "string",
+ 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",
+ '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",
+ type: 'token',
},
textAlignCenter: {
- type: "token",
+ type: 'token',
},
textAlignRight: {
- type: "token",
+ type: 'token',
},
textAlignJustify: {
- type: "token",
+ type: 'token',
},
quote: {
- type: "object",
- required: ["start", "end"],
+ type: 'object',
+ required: ['start', 'end'],
properties: {
start: {
- type: "ref",
- ref: "lex:pub.leaflet.pages.linearDocument#position",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.pages.linearDocument#position',
},
end: {
- type: "ref",
- ref: "lex:pub.leaflet.pages.linearDocument#position",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.pages.linearDocument#position',
},
},
},
position: {
- type: "object",
- required: ["block", "offset"],
+ type: 'object',
+ required: ['block', 'offset'],
properties: {
block: {
- type: "array",
+ type: 'array',
items: {
- type: "integer",
+ type: 'integer',
},
},
offset: {
- type: "integer",
+ type: 'integer',
},
},
},
@@ -1688,40 +1688,40 @@ export const schemaDict = {
},
PubLeafletPollDefinition: {
lexicon: 1,
- id: "pub.leaflet.poll.definition",
+ id: 'pub.leaflet.poll.definition',
defs: {
main: {
- type: "record",
- key: "tid",
- description: "Record declaring a poll",
+ type: 'record',
+ key: 'tid',
+ description: 'Record declaring a poll',
record: {
- type: "object",
- required: ["name", "options"],
+ type: 'object',
+ required: ['name', 'options'],
properties: {
name: {
- type: "string",
+ type: 'string',
maxLength: 500,
maxGraphemes: 100,
},
options: {
- type: "array",
+ type: 'array',
items: {
- type: "ref",
- ref: "lex:pub.leaflet.poll.definition#option",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.poll.definition#option',
},
},
endDate: {
- type: "string",
- format: "datetime",
+ type: 'string',
+ format: 'datetime',
},
},
},
},
option: {
- type: "object",
+ type: 'object',
properties: {
text: {
- type: "string",
+ type: 'string',
maxLength: 500,
maxGraphemes: 50,
},
@@ -1731,24 +1731,24 @@ export const schemaDict = {
},
PubLeafletPollVote: {
lexicon: 1,
- id: "pub.leaflet.poll.vote",
+ id: 'pub.leaflet.poll.vote',
defs: {
main: {
- type: "record",
- key: "tid",
- description: "Record declaring a vote on a poll",
+ type: 'record',
+ key: 'tid',
+ description: 'Record declaring a vote on a poll',
record: {
- type: "object",
- required: ["poll", "option"],
+ type: 'object',
+ required: ['poll', 'option'],
properties: {
poll: {
- type: "ref",
- ref: "lex:com.atproto.repo.strongRef",
+ type: 'ref',
+ ref: 'lex:com.atproto.repo.strongRef',
},
option: {
- type: "array",
+ type: 'array',
items: {
- type: "string",
+ type: 'string',
},
},
},
@@ -1758,105 +1758,113 @@ export const schemaDict = {
},
PubLeafletPublication: {
lexicon: 1,
- id: "pub.leaflet.publication",
+ id: 'pub.leaflet.publication',
defs: {
main: {
- type: "record",
- key: "tid",
- description: "Record declaring a publication",
+ type: 'record',
+ key: 'tid',
+ description: 'Record declaring a publication',
record: {
- type: "object",
- required: ["name"],
+ type: 'object',
+ required: ['name'],
properties: {
name: {
- type: "string",
+ type: 'string',
maxLength: 2000,
},
base_path: {
- type: "string",
+ type: 'string',
},
description: {
- type: "string",
+ type: 'string',
maxLength: 2000,
},
icon: {
- type: "blob",
- accept: ["image/*"],
+ type: 'blob',
+ accept: ['image/*'],
maxSize: 1000000,
},
theme: {
- type: "ref",
- ref: "lex:pub.leaflet.publication#theme",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.publication#theme',
},
preferences: {
- type: "ref",
- ref: "lex:pub.leaflet.publication#preferences",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.publication#preferences',
},
},
},
},
preferences: {
- type: "object",
+ type: 'object',
properties: {
showInDiscover: {
- type: "boolean",
+ type: 'boolean',
default: true,
},
showComments: {
- type: "boolean",
+ type: 'boolean',
+ default: true,
+ },
+ showMentions: {
+ type: 'boolean',
+ default: true,
+ },
+ showPrevNext: {
+ type: 'boolean',
default: true,
},
},
},
theme: {
- type: "object",
+ type: 'object',
properties: {
backgroundColor: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.theme.color#rgba",
- "lex:pub.leaflet.theme.color#rgb",
+ 'lex:pub.leaflet.theme.color#rgba',
+ 'lex:pub.leaflet.theme.color#rgb',
],
},
backgroundImage: {
- type: "ref",
- ref: "lex:pub.leaflet.theme.backgroundImage",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.theme.backgroundImage',
},
pageWidth: {
- type: "integer",
- minimum: 320,
- maximum: 1200,
+ type: 'integer',
+ minimum: 0,
+ maximum: 1600,
},
primary: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.theme.color#rgba",
- "lex:pub.leaflet.theme.color#rgb",
+ 'lex:pub.leaflet.theme.color#rgba',
+ 'lex:pub.leaflet.theme.color#rgb',
],
},
pageBackground: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.theme.color#rgba",
- "lex:pub.leaflet.theme.color#rgb",
+ 'lex:pub.leaflet.theme.color#rgba',
+ 'lex:pub.leaflet.theme.color#rgb',
],
},
showPageBackground: {
- type: "boolean",
+ type: 'boolean',
default: false,
},
accentBackground: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.theme.color#rgba",
- "lex:pub.leaflet.theme.color#rgb",
+ 'lex:pub.leaflet.theme.color#rgba',
+ 'lex:pub.leaflet.theme.color#rgb',
],
},
accentText: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.theme.color#rgba",
- "lex:pub.leaflet.theme.color#rgb",
+ 'lex:pub.leaflet.theme.color#rgba',
+ 'lex:pub.leaflet.theme.color#rgb',
],
},
},
@@ -1865,130 +1873,130 @@ export const schemaDict = {
},
PubLeafletRichtextFacet: {
lexicon: 1,
- id: "pub.leaflet.richtext.facet",
+ id: 'pub.leaflet.richtext.facet',
defs: {
main: {
- type: "object",
- description: "Annotation of a sub-string within rich text.",
- required: ["index", "features"],
+ 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",
+ type: 'ref',
+ ref: 'lex:pub.leaflet.richtext.facet#byteSlice',
},
features: {
- type: "array",
+ type: 'array',
items: {
- type: "union",
+ type: 'union',
refs: [
- "lex:pub.leaflet.richtext.facet#link",
- "lex:pub.leaflet.richtext.facet#didMention",
- "lex:pub.leaflet.richtext.facet#atMention",
- "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",
+ 'lex:pub.leaflet.richtext.facet#link',
+ 'lex:pub.leaflet.richtext.facet#didMention',
+ 'lex:pub.leaflet.richtext.facet#atMention',
+ '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: '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"],
+ '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",
+ type: 'integer',
minimum: 0,
},
byteEnd: {
- type: "integer",
+ type: 'integer',
minimum: 0,
},
},
},
link: {
- type: "object",
+ 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"],
+ '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",
+ type: 'string',
},
},
},
didMention: {
- type: "object",
- description: "Facet feature for mentioning a did.",
- required: ["did"],
+ type: 'object',
+ description: 'Facet feature for mentioning a did.',
+ required: ['did'],
properties: {
did: {
- type: "string",
- format: "did",
+ type: 'string',
+ format: 'did',
},
},
},
atMention: {
- type: "object",
- description: "Facet feature for mentioning an AT URI.",
- required: ["atURI"],
+ type: 'object',
+ description: 'Facet feature for mentioning an AT URI.',
+ required: ['atURI'],
properties: {
atURI: {
- type: "string",
- format: "uri",
+ type: 'string',
+ format: 'uri',
},
},
},
code: {
- type: "object",
- description: "Facet feature for inline code.",
+ type: 'object',
+ description: 'Facet feature for inline code.',
required: [],
properties: {},
},
highlight: {
- type: "object",
- description: "Facet feature for highlighted text.",
+ type: 'object',
+ description: 'Facet feature for highlighted text.',
required: [],
properties: {},
},
underline: {
- type: "object",
- description: "Facet feature for underline markup",
+ type: 'object',
+ description: 'Facet feature for underline markup',
required: [],
properties: {},
},
strikethrough: {
- type: "object",
- description: "Facet feature for strikethrough markup",
+ type: 'object',
+ description: 'Facet feature for strikethrough markup',
required: [],
properties: {},
},
id: {
- type: "object",
+ type: 'object',
description:
- "Facet feature for an identifier. Used for linking to a segment",
+ 'Facet feature for an identifier. Used for linking to a segment',
required: [],
properties: {
id: {
- type: "string",
+ type: 'string',
},
},
},
bold: {
- type: "object",
- description: "Facet feature for bold text",
+ type: 'object',
+ description: 'Facet feature for bold text',
required: [],
properties: {},
},
italic: {
- type: "object",
- description: "Facet feature for italic text",
+ type: 'object',
+ description: 'Facet feature for italic text',
required: [],
properties: {},
},
@@ -1996,22 +2004,22 @@ export const schemaDict = {
},
PubLeafletThemeBackgroundImage: {
lexicon: 1,
- id: "pub.leaflet.theme.backgroundImage",
+ id: 'pub.leaflet.theme.backgroundImage',
defs: {
main: {
- type: "object",
- required: ["image"],
+ type: 'object',
+ required: ['image'],
properties: {
image: {
- type: "blob",
- accept: ["image/*"],
+ type: 'blob',
+ accept: ['image/*'],
maxSize: 1000000,
},
width: {
- type: "integer",
+ type: 'integer',
},
repeat: {
- type: "boolean",
+ type: 'boolean',
},
},
},
@@ -2019,50 +2027,50 @@ export const schemaDict = {
},
PubLeafletThemeColor: {
lexicon: 1,
- id: "pub.leaflet.theme.color",
+ id: 'pub.leaflet.theme.color',
defs: {
rgba: {
- type: "object",
- required: ["r", "g", "b", "a"],
+ type: 'object',
+ required: ['r', 'g', 'b', 'a'],
properties: {
r: {
- type: "integer",
+ type: 'integer',
maximum: 255,
minimum: 0,
},
g: {
- type: "integer",
+ type: 'integer',
maximum: 255,
minimum: 0,
},
b: {
- type: "integer",
+ type: 'integer',
maximum: 255,
minimum: 0,
},
a: {
- type: "integer",
+ type: 'integer',
maximum: 100,
minimum: 0,
},
},
},
rgb: {
- type: "object",
- required: ["r", "g", "b"],
+ type: 'object',
+ required: ['r', 'g', 'b'],
properties: {
r: {
- type: "integer",
+ type: 'integer',
maximum: 255,
minimum: 0,
},
g: {
- type: "integer",
+ type: 'integer',
maximum: 255,
minimum: 0,
},
b: {
- type: "integer",
+ type: 'integer',
maximum: 255,
minimum: 0,
},
@@ -2070,22 +2078,22 @@ export const schemaDict = {
},
},
},
-} as const satisfies Record;
-export const schemas = Object.values(schemaDict) satisfies LexiconDoc[];
-export const lexicons: Lexicons = new Lexicons(schemas);
+} as const satisfies Record
+export const schemas = Object.values(schemaDict) satisfies LexiconDoc[]
+export const lexicons: Lexicons = new Lexicons(schemas)
export function validate(
v: unknown,
id: string,
hash: string,
requiredType: true,
-): ValidationResult;
+): ValidationResult
export function validate(
v: unknown,
id: string,
hash: string,
requiredType?: false,
-): ValidationResult;
+): ValidationResult
export function validate(
v: unknown,
id: string,
@@ -2097,49 +2105,49 @@ export function validate(
: {
success: false,
error: new ValidationError(
- `Must be an object with "${hash === "main" ? id : `${id}#${hash}`}" $type property`,
+ `Must be an object with "${hash === 'main' ? id : `${id}#${hash}`}" $type property`,
),
- };
+ }
}
export const ids = {
- 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",
- PubLeafletBlocksButton: "pub.leaflet.blocks.button",
- PubLeafletBlocksCode: "pub.leaflet.blocks.code",
- PubLeafletBlocksHeader: "pub.leaflet.blocks.header",
- PubLeafletBlocksHorizontalRule: "pub.leaflet.blocks.horizontalRule",
- PubLeafletBlocksIframe: "pub.leaflet.blocks.iframe",
- PubLeafletBlocksImage: "pub.leaflet.blocks.image",
- PubLeafletBlocksMath: "pub.leaflet.blocks.math",
- PubLeafletBlocksPage: "pub.leaflet.blocks.page",
- PubLeafletBlocksPoll: "pub.leaflet.blocks.poll",
- 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",
- PubLeafletPagesCanvas: "pub.leaflet.pages.canvas",
- PubLeafletPagesLinearDocument: "pub.leaflet.pages.linearDocument",
- PubLeafletPollDefinition: "pub.leaflet.poll.definition",
- PubLeafletPollVote: "pub.leaflet.poll.vote",
- PubLeafletPublication: "pub.leaflet.publication",
- PubLeafletRichtextFacet: "pub.leaflet.richtext.facet",
- PubLeafletThemeBackgroundImage: "pub.leaflet.theme.backgroundImage",
- PubLeafletThemeColor: "pub.leaflet.theme.color",
-} as const;
+ 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',
+ PubLeafletBlocksButton: 'pub.leaflet.blocks.button',
+ PubLeafletBlocksCode: 'pub.leaflet.blocks.code',
+ PubLeafletBlocksHeader: 'pub.leaflet.blocks.header',
+ PubLeafletBlocksHorizontalRule: 'pub.leaflet.blocks.horizontalRule',
+ PubLeafletBlocksIframe: 'pub.leaflet.blocks.iframe',
+ PubLeafletBlocksImage: 'pub.leaflet.blocks.image',
+ PubLeafletBlocksMath: 'pub.leaflet.blocks.math',
+ PubLeafletBlocksPage: 'pub.leaflet.blocks.page',
+ PubLeafletBlocksPoll: 'pub.leaflet.blocks.poll',
+ 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',
+ PubLeafletPagesCanvas: 'pub.leaflet.pages.canvas',
+ PubLeafletPagesLinearDocument: 'pub.leaflet.pages.linearDocument',
+ PubLeafletPollDefinition: 'pub.leaflet.poll.definition',
+ PubLeafletPollVote: 'pub.leaflet.poll.vote',
+ PubLeafletPublication: 'pub.leaflet.publication',
+ PubLeafletRichtextFacet: 'pub.leaflet.richtext.facet',
+ PubLeafletThemeBackgroundImage: 'pub.leaflet.theme.backgroundImage',
+ PubLeafletThemeColor: 'pub.leaflet.theme.color',
+} as const
diff --git a/lexicons/api/types/pub/leaflet/publication.ts b/lexicons/api/types/pub/leaflet/publication.ts
index 3cdaeaab..88314a28 100644
--- a/lexicons/api/types/pub/leaflet/publication.ts
+++ b/lexicons/api/types/pub/leaflet/publication.ts
@@ -1,91 +1,89 @@
/**
* GENERATED CODE - DO NOT MODIFY
*/
-import { type ValidationResult, BlobRef } from "@atproto/lexicon";
-import { CID } from "multiformats/cid";
-import { validate as _validate } from "../../../lexicons";
-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";
+import { type ValidationResult, BlobRef } from '@atproto/lexicon'
+import { CID } from 'multiformats/cid'
+import { validate as _validate } from '../../../lexicons'
+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'
const is$typed = _is$typed,
- validate = _validate;
-const id = "pub.leaflet.publication";
+ validate = _validate
+const id = 'pub.leaflet.publication'
export interface Record {
- $type: "pub.leaflet.publication";
- name: string;
- base_path?: string;
- description?: string;
- icon?: BlobRef;
- theme?: Theme;
- preferences?: Preferences;
- [k: string]: unknown;
+ $type: 'pub.leaflet.publication'
+ name: string
+ base_path?: string
+ description?: string
+ icon?: BlobRef
+ theme?: Theme
+ preferences?: Preferences
+ [k: string]: unknown
}
-const hashRecord = "main";
+const hashRecord = 'main'
export function isRecord(v: V) {
- return is$typed(v, id, hashRecord);
+ return is$typed(v, id, hashRecord)
}
export function validateRecord(v: V) {
- return validate(v, id, hashRecord, true);
+ return validate(v, id, hashRecord, true)
}
export interface Preferences {
- $type?: "pub.leaflet.publication#preferences";
- showInDiscover: boolean;
- showComments: boolean;
+ $type?: 'pub.leaflet.publication#preferences'
+ showInDiscover: boolean
+ showComments: boolean
+ showMentions: boolean
+ showPrevNext: boolean
}
-const hashPreferences = "preferences";
+const hashPreferences = 'preferences'
export function isPreferences(v: V) {
- return is$typed(v, id, hashPreferences);
+ return is$typed(v, id, hashPreferences)
}
export function validatePreferences(v: V) {
- return validate(v, id, hashPreferences);
+ return validate(v, id, hashPreferences)
}
export interface Theme {
- $type?: "pub.leaflet.publication#theme";
+ $type?: 'pub.leaflet.publication#theme'
backgroundColor?:
| $Typed
| $Typed
- | { $type: string };
- backgroundImage?: PubLeafletThemeBackgroundImage.Main;
- pageWidth?: number;
+ | { $type: string }
+ backgroundImage?: PubLeafletThemeBackgroundImage.Main
+ pageWidth?: number
primary?:
| $Typed
| $Typed
- | { $type: string };
+ | { $type: string }
pageBackground?:
| $Typed
| $Typed
- | { $type: string };
- showPageBackground: boolean;
+ | { $type: string }
+ showPageBackground: boolean
accentBackground?:
| $Typed
| $Typed
- | { $type: string };
+ | { $type: string }
accentText?:
| $Typed
| $Typed
- | { $type: string };
+ | { $type: string }
}
-const hashTheme = "theme";
+const hashTheme = 'theme'
export function isTheme(v: V) {
- return is$typed(v, id, hashTheme);
+ return is$typed(v, id, hashTheme)
}
export function validateTheme(v: V) {
- return validate(v, id, hashTheme);
+ return validate(v, id, hashTheme)
}
diff --git a/lexicons/pub/leaflet/publication.json b/lexicons/pub/leaflet/publication.json
index 00a8857b..0627addf 100644
--- a/lexicons/pub/leaflet/publication.json
+++ b/lexicons/pub/leaflet/publication.json
@@ -8,7 +8,9 @@
"description": "Record declaring a publication",
"record": {
"type": "object",
- "required": ["name"],
+ "required": [
+ "name"
+ ],
"properties": {
"name": {
"type": "string",
@@ -23,7 +25,9 @@
},
"icon": {
"type": "blob",
- "accept": ["image/*"],
+ "accept": [
+ "image/*"
+ ],
"maxSize": 1000000
},
"theme": {
@@ -47,6 +51,14 @@
"showComments": {
"type": "boolean",
"default": true
+ },
+ "showMentions": {
+ "type": "boolean",
+ "default": true
+ },
+ "showPrevNext": {
+ "type": "boolean",
+ "default": true
}
}
},
@@ -104,4 +116,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/lexicons/src/publication.ts b/lexicons/src/publication.ts
index 0da97aa6..57bbbef9 100644
--- a/lexicons/src/publication.ts
+++ b/lexicons/src/publication.ts
@@ -27,6 +27,8 @@ export const PubLeafletPublication: LexiconDoc = {
properties: {
showInDiscover: { type: "boolean", default: true },
showComments: { type: "boolean", default: true },
+ showMentions: { type: "boolean", default: true },
+ showPrevNext: { type: "boolean", default: true },
},
},
theme: {