From 22ddfaa2b55ab523f2615449bebff7c15490f978 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Mon, 12 Dec 2022 13:17:40 -0600 Subject: [PATCH] Improvements to 'edit profile' error messages --- src/third-party/api/index.js | 214 +- src/third-party/api/index.js.map | 6 +- src/third-party/api/src/client/lexicons.d.ts | 2840 ++++++++++++++++- .../types/app/bsky/actor/getProfile.d.ts | 1 + .../client/types/app/bsky/actor/profile.d.ts | 5 + .../types/app/bsky/actor/updateProfile.d.ts | 19 +- .../client/types/com/atproto/blob/upload.d.ts | 7 +- .../api/tsconfig.build.tsbuildinfo | 2 +- src/view/com/modals/EditProfile.tsx | 13 +- 9 files changed, 3006 insertions(+), 101 deletions(-) diff --git a/src/third-party/api/index.js b/src/third-party/api/index.js index d86fe5cf..130a28fb 100644 --- a/src/third-party/api/index.js +++ b/src/third-party/api/index.js @@ -2161,12 +2161,12 @@ var ZodTuple = class extends ZodType { }); } }; -ZodTuple.create = (schemas, params2) => { - if (!Array.isArray(schemas)) { +ZodTuple.create = (schemas2, params2) => { + if (!Array.isArray(schemas2)) { throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); } return new ZodTuple({ - items: schemas, + items: schemas2, typeName: ZodFirstPartyTypeKind.ZodTuple, rest: null, ...processCreateParams(params2) @@ -4198,8 +4198,8 @@ function isErrorResponseBody(v) { var defaultInst = new Client(); // src/client/lexicons.ts -var lexicons = [ - { +var schemaDict = { + ComAtprotoAccountCreate: { lexicon: 1, id: "com.atproto.account.create", defs: { @@ -4268,7 +4268,7 @@ var lexicons = [ } } }, - { + ComAtprotoAccountCreateInviteCode: { lexicon: 1, id: "com.atproto.account.createInviteCode", defs: { @@ -4302,7 +4302,7 @@ var lexicons = [ } } }, - { + ComAtprotoAccountDelete: { lexicon: 1, id: "com.atproto.account.delete", defs: { @@ -4312,7 +4312,7 @@ var lexicons = [ } } }, - { + ComAtprotoAccountGet: { lexicon: 1, id: "com.atproto.account.get", defs: { @@ -4322,7 +4322,7 @@ var lexicons = [ } } }, - { + ComAtprotoAccountRequestPasswordReset: { lexicon: 1, id: "com.atproto.account.requestPasswordReset", defs: { @@ -4344,7 +4344,7 @@ var lexicons = [ } } }, - { + ComAtprotoAccountResetPassword: { lexicon: 1, id: "com.atproto.account.resetPassword", defs: { @@ -4377,7 +4377,7 @@ var lexicons = [ } } }, - { + ComAtprotoBlobUpload: { lexicon: 1, id: "com.atproto.blob.upload", defs: { @@ -4398,16 +4398,11 @@ var lexicons = [ } } } - }, - errors: [ - { - name: "InvalidBlob" - } - ] + } } } }, - { + ComAtprotoHandleResolve: { lexicon: 1, id: "com.atproto.handle.resolve", defs: { @@ -4438,7 +4433,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoBatchWrite: { lexicon: 1, id: "com.atproto.repo.batchWrite", defs: { @@ -4532,7 +4527,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoCreateRecord: { lexicon: 1, id: "com.atproto.repo.createRecord", defs: { @@ -4583,7 +4578,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoDeleteRecord: { lexicon: 1, id: "com.atproto.repo.deleteRecord", defs: { @@ -4614,7 +4609,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoDescribe: { lexicon: 1, id: "com.atproto.repo.describe", defs: { @@ -4667,7 +4662,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoGetRecord: { lexicon: 1, id: "com.atproto.repo.getRecord", defs: { @@ -4717,7 +4712,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoListRecords: { lexicon: 1, id: "com.atproto.repo.listRecords", defs: { @@ -4794,7 +4789,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoPutRecord: { lexicon: 1, id: "com.atproto.repo.putRecord", defs: { @@ -4849,7 +4844,7 @@ var lexicons = [ } } }, - { + ComAtprotoRepoStrongRef: { lexicon: 1, id: "com.atproto.repo.strongRef", description: "A URI with a content-hash fingerprint.", @@ -4868,7 +4863,7 @@ var lexicons = [ } } }, - { + ComAtprotoServerGetAccountsConfig: { lexicon: 1, id: "com.atproto.server.getAccountsConfig", defs: { @@ -4911,7 +4906,7 @@ var lexicons = [ } } }, - { + ComAtprotoSessionCreate: { lexicon: 1, id: "com.atproto.session.create", defs: { @@ -4957,7 +4952,7 @@ var lexicons = [ } } }, - { + ComAtprotoSessionDelete: { lexicon: 1, id: "com.atproto.session.delete", defs: { @@ -4967,7 +4962,7 @@ var lexicons = [ } } }, - { + ComAtprotoSessionGet: { lexicon: 1, id: "com.atproto.session.get", defs: { @@ -4992,7 +4987,7 @@ var lexicons = [ } } }, - { + ComAtprotoSessionRefresh: { lexicon: 1, id: "com.atproto.session.refresh", defs: { @@ -5023,7 +5018,7 @@ var lexicons = [ } } }, - { + ComAtprotoSyncGetRepo: { lexicon: 1, id: "com.atproto.sync.getRepo", defs: { @@ -5050,7 +5045,7 @@ var lexicons = [ } } }, - { + ComAtprotoSyncGetRoot: { lexicon: 1, id: "com.atproto.sync.getRoot", defs: { @@ -5082,7 +5077,7 @@ var lexicons = [ } } }, - { + ComAtprotoSyncUpdateRepo: { lexicon: 1, id: "com.atproto.sync.updateRepo", defs: { @@ -5105,7 +5100,7 @@ var lexicons = [ } } }, - { + AppBskyActorCreateScene: { lexicon: 1, id: "app.bsky.actor.createScene", defs: { @@ -5157,7 +5152,7 @@ var lexicons = [ } } }, - { + AppBskyActorGetProfile: { lexicon: 1, id: "app.bsky.actor.getProfile", defs: { @@ -5211,6 +5206,9 @@ var lexicons = [ avatar: { type: "string" }, + banner: { + type: "string" + }, followersCount: { type: "integer" }, @@ -5244,7 +5242,7 @@ var lexicons = [ } } }, - { + AppBskyActorGetSuggestions: { lexicon: 1, id: "app.bsky.actor.getSuggestions", defs: { @@ -5328,7 +5326,7 @@ var lexicons = [ } } }, - { + AppBskyActorProfile: { lexicon: 1, id: "app.bsky.actor.profile", defs: { @@ -5353,13 +5351,20 @@ var lexicons = [ maxWidth: 500, maxHeight: 500, maxSize: 3e5 + }, + banner: { + type: "image", + accept: ["image/png", "image/jpeg"], + maxWidth: 1500, + maxHeight: 500, + maxSize: 5e5 } } } } } }, - { + AppBskyActorRef: { lexicon: 1, id: "app.bsky.actor.ref", description: "A reference to an actor in the network.", @@ -5401,7 +5406,7 @@ var lexicons = [ } } }, - { + AppBskyActorSearch: { lexicon: 1, id: "app.bsky.actor.search", defs: { @@ -5477,7 +5482,7 @@ var lexicons = [ } } }, - { + AppBskyActorSearchTypeahead: { lexicon: 1, id: "app.bsky.actor.searchTypeahead", defs: { @@ -5541,7 +5546,7 @@ var lexicons = [ } } }, - { + AppBskyActorUpdateProfile: { lexicon: 1, id: "app.bsky.actor.updateProfile", defs: { @@ -5570,6 +5575,13 @@ var lexicons = [ maxWidth: 500, maxHeight: 500, maxSize: 1e5 + }, + banner: { + type: "image", + accept: ["image/png", "image/jpeg"], + maxWidth: 1500, + maxHeight: 500, + maxSize: 5e5 } } } @@ -5591,11 +5603,25 @@ var lexicons = [ } } } - } + }, + errors: [ + { + name: "InvalidBlob" + }, + { + name: "BlobTooLarge" + }, + { + name: "InvalidMimeType" + }, + { + name: "InvalidImageDimensions" + } + ] } } }, - { + AppBskyFeedEmbed: { lexicon: 1, id: "app.bsky.feed.embed", description: "Content embedded in other content, such as an image or link embedded in a post.", @@ -5674,7 +5700,7 @@ var lexicons = [ } } }, - { + AppBskyFeedGetAuthorFeed: { lexicon: 1, id: "app.bsky.feed.getAuthorFeed", defs: { @@ -5795,7 +5821,7 @@ var lexicons = [ } } }, - { + AppBskyFeedGetPostThread: { lexicon: 1, id: "app.bsky.feed.getPostThread", defs: { @@ -5933,7 +5959,7 @@ var lexicons = [ } } }, - { + AppBskyFeedGetRepostedBy: { lexicon: 1, id: "app.bsky.feed.getRepostedBy", defs: { @@ -6017,7 +6043,7 @@ var lexicons = [ } } }, - { + AppBskyFeedGetTimeline: { lexicon: 1, id: "app.bsky.feed.getTimeline", defs: { @@ -6137,7 +6163,7 @@ var lexicons = [ } } }, - { + AppBskyFeedGetVotes: { lexicon: 1, id: "app.bsky.feed.getVotes", defs: { @@ -6216,7 +6242,7 @@ var lexicons = [ } } }, - { + AppBskyFeedPost: { lexicon: 1, id: "app.bsky.feed.post", defs: { @@ -6295,7 +6321,7 @@ var lexicons = [ } } }, - { + AppBskyFeedRepost: { lexicon: 1, id: "app.bsky.feed.repost", defs: { @@ -6318,7 +6344,7 @@ var lexicons = [ } } }, - { + AppBskyFeedSetVote: { lexicon: 1, id: "app.bsky.feed.setVote", defs: { @@ -6359,7 +6385,7 @@ var lexicons = [ } } }, - { + AppBskyFeedTrend: { lexicon: 1, id: "app.bsky.feed.trend", defs: { @@ -6382,7 +6408,7 @@ var lexicons = [ } } }, - { + AppBskyFeedVote: { lexicon: 1, id: "app.bsky.feed.vote", defs: { @@ -6409,7 +6435,7 @@ var lexicons = [ } } }, - { + AppBskyGraphAssertCreator: { lexicon: 1, id: "app.bsky.graph.assertCreator", defs: { @@ -6419,7 +6445,7 @@ var lexicons = [ } } }, - { + AppBskyGraphAssertMember: { lexicon: 1, id: "app.bsky.graph.assertMember", defs: { @@ -6429,7 +6455,7 @@ var lexicons = [ } } }, - { + AppBskyGraphAssertion: { lexicon: 1, id: "app.bsky.graph.assertion", defs: { @@ -6455,7 +6481,7 @@ var lexicons = [ } } }, - { + AppBskyGraphConfirmation: { lexicon: 1, id: "app.bsky.graph.confirmation", defs: { @@ -6482,7 +6508,7 @@ var lexicons = [ } } }, - { + AppBskyGraphFollow: { lexicon: 1, id: "app.bsky.graph.follow", defs: { @@ -6506,7 +6532,7 @@ var lexicons = [ } } }, - { + AppBskyGraphGetAssertions: { lexicon: 1, id: "app.bsky.graph.getAssertions", defs: { @@ -6620,7 +6646,7 @@ var lexicons = [ } } }, - { + AppBskyGraphGetFollowers: { lexicon: 1, id: "app.bsky.graph.getFollowers", defs: { @@ -6700,7 +6726,7 @@ var lexicons = [ } } }, - { + AppBskyGraphGetFollows: { lexicon: 1, id: "app.bsky.graph.getFollows", defs: { @@ -6777,7 +6803,7 @@ var lexicons = [ } } }, - { + AppBskyGraphGetMembers: { lexicon: 1, id: "app.bsky.graph.getMembers", defs: { @@ -6854,7 +6880,7 @@ var lexicons = [ } } }, - { + AppBskyGraphGetMemberships: { lexicon: 1, id: "app.bsky.graph.getMemberships", defs: { @@ -6931,7 +6957,7 @@ var lexicons = [ } } }, - { + AppBskyNotificationGetCount: { lexicon: 1, id: "app.bsky.notification.getCount", defs: { @@ -6952,7 +6978,7 @@ var lexicons = [ } } }, - { + AppBskyNotificationList: { lexicon: 1, id: "app.bsky.notification.list", defs: { @@ -7043,7 +7069,7 @@ var lexicons = [ } } }, - { + AppBskyNotificationUpdateSeen: { lexicon: 1, id: "app.bsky.notification.updateSeen", defs: { @@ -7065,7 +7091,7 @@ var lexicons = [ } } }, - { + AppBskySystemActorScene: { lexicon: 1, id: "app.bsky.system.actorScene", defs: { @@ -7075,7 +7101,7 @@ var lexicons = [ } } }, - { + AppBskySystemActorUser: { lexicon: 1, id: "app.bsky.system.actorUser", defs: { @@ -7085,7 +7111,7 @@ var lexicons = [ } } }, - { + AppBskySystemDeclRef: { lexicon: 1, id: "app.bsky.system.declRef", defs: { @@ -7108,7 +7134,7 @@ var lexicons = [ } } }, - { + AppBskySystemDeclaration: { lexicon: 1, id: "app.bsky.system.declaration", defs: { @@ -7132,7 +7158,9 @@ var lexicons = [ } } } -]; +}; +var schemas = Object.values(schemaDict); +var lexicons = new Lexicons(schemas); // src/client/types/com/atproto/account/create.ts var create_exports = {}; @@ -7251,18 +7279,10 @@ function toKnownErr6(e) { // src/client/types/com/atproto/blob/upload.ts var upload_exports = {}; __export(upload_exports, { - InvalidBlobError: () => InvalidBlobError, toKnownErr: () => toKnownErr7 }); -var InvalidBlobError = class extends XRPCError { - constructor(src) { - super(src.status, src.error, src.message); - } -}; function toKnownErr7(e) { if (e instanceof XRPCError) { - if (e.error === "InvalidBlob") - return new InvalidBlobError(e); } return e; } @@ -7517,10 +7537,42 @@ function toKnownErr28(e) { // src/client/types/app/bsky/actor/updateProfile.ts var updateProfile_exports = {}; __export(updateProfile_exports, { + BlobTooLargeError: () => BlobTooLargeError, + InvalidBlobError: () => InvalidBlobError, + InvalidImageDimensionsError: () => InvalidImageDimensionsError, + InvalidMimeTypeError: () => InvalidMimeTypeError, toKnownErr: () => toKnownErr29 }); +var InvalidBlobError = class extends XRPCError { + constructor(src) { + super(src.status, src.error, src.message); + } +}; +var BlobTooLargeError = class extends XRPCError { + constructor(src) { + super(src.status, src.error, src.message); + } +}; +var InvalidMimeTypeError = class extends XRPCError { + constructor(src) { + super(src.status, src.error, src.message); + } +}; +var InvalidImageDimensionsError = class extends XRPCError { + constructor(src) { + super(src.status, src.error, src.message); + } +}; function toKnownErr29(e) { if (e instanceof XRPCError) { + if (e.error === "InvalidBlob") + return new InvalidBlobError(e); + if (e.error === "BlobTooLarge") + return new BlobTooLargeError(e); + if (e.error === "InvalidMimeType") + return new InvalidMimeTypeError(e); + if (e.error === "InvalidImageDimensions") + return new InvalidImageDimensionsError(e); } return e; } @@ -7766,7 +7818,7 @@ var APP_BSKY_SYSTEM = { var Client2 = class { constructor() { this.xrpc = new Client(); - this.xrpc.addLexicons(lexicons); + this.xrpc.addLexicons(schemas); } service(serviceUri) { return new ServiceClient2(this, this.xrpc.service(serviceUri)); diff --git a/src/third-party/api/index.js.map b/src/third-party/api/index.js.map index 217223fc..3ca5190d 100644 --- a/src/third-party/api/index.js.map +++ b/src/third-party/api/index.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../src/index.ts", "../../../node_modules/zod/lib/index.mjs", "../../xrpc/src/types.ts", "../../nsid/src/index.ts", "../../lexicon/src/types.ts", "../../lexicon/src/validators/primitives.ts", "../../lexicon/src/validators/blob.ts", "../../lexicon/src/validators/complex.ts", "../../lexicon/src/util.ts", "../../lexicon/src/validators/xrpc.ts", "../../lexicon/src/validation.ts", "../../lexicon/src/lexicons.ts", "../../xrpc/src/util.ts", "../../xrpc/src/client.ts", "../../xrpc/src/index.ts", "../src/client/lexicons.ts", "../src/client/types/com/atproto/account/create.ts", "../src/client/types/com/atproto/account/createInviteCode.ts", "../src/client/types/com/atproto/account/delete.ts", "../src/client/types/com/atproto/account/get.ts", "../src/client/types/com/atproto/account/requestPasswordReset.ts", "../src/client/types/com/atproto/account/resetPassword.ts", "../src/client/types/com/atproto/blob/upload.ts", "../src/client/types/com/atproto/handle/resolve.ts", "../src/client/types/com/atproto/repo/batchWrite.ts", "../src/client/types/com/atproto/repo/createRecord.ts", "../src/client/types/com/atproto/repo/deleteRecord.ts", "../src/client/types/com/atproto/repo/describe.ts", "../src/client/types/com/atproto/repo/getRecord.ts", "../src/client/types/com/atproto/repo/listRecords.ts", "../src/client/types/com/atproto/repo/putRecord.ts", "../src/client/types/com/atproto/server/getAccountsConfig.ts", "../src/client/types/com/atproto/session/create.ts", "../src/client/types/com/atproto/session/delete.ts", "../src/client/types/com/atproto/session/get.ts", "../src/client/types/com/atproto/session/refresh.ts", "../src/client/types/com/atproto/sync/getRepo.ts", "../src/client/types/com/atproto/sync/getRoot.ts", "../src/client/types/com/atproto/sync/updateRepo.ts", "../src/client/types/app/bsky/actor/createScene.ts", "../src/client/types/app/bsky/actor/getProfile.ts", "../src/client/types/app/bsky/actor/getSuggestions.ts", "../src/client/types/app/bsky/actor/search.ts", "../src/client/types/app/bsky/actor/searchTypeahead.ts", "../src/client/types/app/bsky/actor/updateProfile.ts", "../src/client/types/app/bsky/feed/getAuthorFeed.ts", "../src/client/types/app/bsky/feed/getPostThread.ts", "../src/client/types/app/bsky/feed/getRepostedBy.ts", "../src/client/types/app/bsky/feed/getTimeline.ts", "../src/client/types/app/bsky/feed/getVotes.ts", "../src/client/types/app/bsky/feed/setVote.ts", "../src/client/types/app/bsky/graph/getAssertions.ts", "../src/client/types/app/bsky/graph/getFollowers.ts", "../src/client/types/app/bsky/graph/getFollows.ts", "../src/client/types/app/bsky/graph/getMembers.ts", "../src/client/types/app/bsky/graph/getMemberships.ts", "../src/client/types/app/bsky/notification/getCount.ts", "../src/client/types/app/bsky/notification/list.ts", "../src/client/types/app/bsky/notification/updateSeen.ts", "../src/client/types/com/atproto/repo/strongRef.ts", "../src/client/types/app/bsky/actor/profile.ts", "../src/client/types/app/bsky/actor/ref.ts", "../src/client/types/app/bsky/feed/embed.ts", "../src/client/types/app/bsky/feed/post.ts", "../src/client/types/app/bsky/feed/repost.ts", "../src/client/types/app/bsky/feed/trend.ts", "../src/client/types/app/bsky/feed/vote.ts", "../src/client/types/app/bsky/graph/assertCreator.ts", "../src/client/types/app/bsky/graph/assertMember.ts", "../src/client/types/app/bsky/graph/assertion.ts", "../src/client/types/app/bsky/graph/confirmation.ts", "../src/client/types/app/bsky/graph/follow.ts", "../src/client/types/app/bsky/system/actorScene.ts", "../src/client/types/app/bsky/system/actorUser.ts", "../src/client/types/app/bsky/system/declRef.ts", "../src/client/types/app/bsky/system/declaration.ts", "../src/client/index.ts", "../src/session.ts"], - "sourcesContent": ["export * from './client'\nexport { default } from './client'\nexport * from './session'\nexport { default as sessionClient } from './session'\n", "var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be greater than ${issue.inclusive ? `or equal to ` : ``}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be greater than ${issue.inclusive ? `or equal to ` : ``}${new Date(issue.minimum)}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be less than ${issue.inclusive ? `or equal to ` : ``}${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be smaller than ${issue.inclusive ? `or equal to ` : ``}${new Date(issue.maximum)}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message || errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n syncPairs.push({\n key: await pair.key,\n value: await pair.value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (typeof value.value !== \"undefined\" || pair.alwaysSet) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== undefined && x instanceof Promise;\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n return this._path.concat(this._key);\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n const error = new ZodError(ctx.common.issues);\n return { success: false, error };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this.superRefine = this._refinement;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.default = this.default.bind(this);\n this.describe = this.describe.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: [], parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n optional() {\n return ZodOptional.create(this);\n }\n nullable() {\n return ZodNullable.create(this);\n }\n nullish() {\n return this.optional().nullable();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this);\n }\n or(option) {\n return ZodUnion.create([this, option]);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming);\n }\n transform(transform) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(undefined),\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst uuidRegex = /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n// eslint-disable-next-line\nconst emailRegex = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\nclass ZodString extends ZodType {\n constructor() {\n super(...arguments);\n this._regex = (regex, validation, message) => this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n /**\n * @deprecated Use z.string().min(1) instead.\n * @see {@link ZodString.min}\n */\n this.nonempty = (message) => this.min(1, errorUtil.errToObj(message));\n this.trim = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n }\n //\n );\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this.min(len, message).max(len, message);\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\");\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all(ctx.data.map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = ctx.data.map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return this.min(len, message).max(len, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////\n/////////////////////////////////////////\n////////// //////////\n////////// ZodObject //////////\n////////// //////////\n/////////////////////////////////////////\n/////////////////////////////////////////\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second,\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst AugmentFactory = (def) => (augmentation) => {\n return new ZodObject({\n ...def,\n shape: () => ({\n ...def.shape(),\n ...augmentation,\n }),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return ZodArray.create(deepPartialify(schema.element));\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n this.augment = AugmentFactory(this._def);\n this.extend = AugmentFactory(this._def);\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n // const mergedShape = objectUtil.mergeShapes(\n // this._def.shape(),\n // merging._def.shape()\n // );\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).map((key) => {\n // only add to shape if key corresponds to an element of the current shape\n if (this.shape[key])\n shape[key] = this.shape[key];\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).map((key) => {\n if (util.objectKeys(mask).indexOf(key) === -1) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n if (mask) {\n util.objectKeys(this.shape).map((key) => {\n if (util.objectKeys(mask).indexOf(key) === -1) {\n newShape[key] = this.shape[key];\n }\n else {\n newShape[key] = this.shape[key].optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n else {\n for (const key in this.shape) {\n const fieldSchema = this.shape[key];\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required() {\n const newShape = {};\n for (const key in this.shape) {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.options.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: this.validDiscriminatorValues,\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get validDiscriminatorValues() {\n return Array.from(this.options.keys());\n }\n get options() {\n return this._def.options;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, types, params) {\n // Get all the valid discriminator values\n const options = new Map();\n try {\n types.forEach((type) => {\n const discriminatorValue = type.shape[discriminator].value;\n options.set(discriminatorValue, type);\n });\n }\n catch (e) {\n throw new Error(\"The discriminator value could not be extracted from all the provided schemas\");\n }\n // Assert that all the discriminator values are unique\n if (options.size !== types.length) {\n throw new Error(\"Some of the discriminator values are not unique\");\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n type: \"array\",\n });\n status.dirty();\n }\n const items = ctx.data\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n return OK(async (...args) => {\n const error = new ZodError([]);\n const parsedArgs = await this._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await fn(...parsedArgs);\n const parsedReturns = await this._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n return OK((...args) => {\n const parsedArgs = this._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = fn(...parsedArgs.data);\n const parsedReturns = this._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data);\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc\n // effect: RefinementEffect\n ) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n // if (base.status === \"aborted\") return INVALID;\n // if (base.status === \"dirty\") {\n // return { status: \"dirty\", value: base.value };\n // }\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n // if (base.status === \"aborted\") return INVALID;\n // if (base.status === \"dirty\") {\n // return { status: \"dirty\", value: base.value };\n // }\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nconst custom = (check, params = {}, fatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n if (!check(data)) {\n const p = typeof params === \"function\" ? params(data) : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal });\n }\n });\n return ZodAny.create();\n};\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n// new approach that works for abstract classes\n// but required TS 4.4+\n// abstract class Class {\n// constructor(..._: any[]) {}\n// }\n// const instanceOfType = (\nconst instanceOfType = (cls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params, true);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst NEVER = INVALID;\n\nvar mod = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getParsedType: getParsedType,\n ZodParsedType: ZodParsedType,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n ZodType: ZodType,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n get objectUtil () { return objectUtil; },\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPromise, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, custom, dateType as date, mod as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, mod as z };\n", "import { z } from 'zod'\n\nexport type QueryParams = Record\nexport type Headers = Record\n\nexport interface CallOptions {\n encoding?: string\n headers?: Headers\n}\n\nexport interface FetchHandlerResponse {\n status: number\n headers: Headers\n body: ArrayBuffer | undefined\n}\n\nexport type FetchHandler = (\n httpUri: string,\n httpMethod: string,\n httpHeaders: Headers,\n httpReqBody: any,\n) => Promise\n\nexport const errorResponseBody = z.object({\n error: z.string().optional(),\n message: z.string().optional(),\n})\nexport type ErrorResponseBody = z.infer\n\nexport enum ResponseType {\n Unknown = 1,\n InvalidResponse = 2,\n Success = 200,\n InvalidRequest = 400,\n AuthRequired = 401,\n Forbidden = 403,\n XRPCNotSupported = 404,\n PayloadTooLarge = 413,\n RateLimitExceeded = 429,\n InternalServerError = 500,\n MethodNotImplemented = 501,\n UpstreamFailure = 502,\n NotEnoughResouces = 503,\n UpstreamTimeout = 504,\n}\n\nexport const ResponseTypeNames = {\n [ResponseType.InvalidResponse]: 'InvalidResponse',\n [ResponseType.Success]: 'Success',\n [ResponseType.InvalidRequest]: 'InvalidRequest',\n [ResponseType.AuthRequired]: 'AuthenticationRequired',\n [ResponseType.Forbidden]: 'Forbidden',\n [ResponseType.XRPCNotSupported]: 'XRPCNotSupported',\n [ResponseType.PayloadTooLarge]: 'PayloadTooLarge',\n [ResponseType.RateLimitExceeded]: 'RateLimitExceeded',\n [ResponseType.InternalServerError]: 'InternalServerError',\n [ResponseType.MethodNotImplemented]: 'MethodNotImplemented',\n [ResponseType.UpstreamFailure]: 'UpstreamFailure',\n [ResponseType.NotEnoughResouces]: 'NotEnoughResouces',\n [ResponseType.UpstreamTimeout]: 'UpstreamTimeout',\n}\n\nexport const ResponseTypeStrings = {\n [ResponseType.InvalidResponse]: 'Invalid Response',\n [ResponseType.Success]: 'Success',\n [ResponseType.InvalidRequest]: 'Invalid Request',\n [ResponseType.AuthRequired]: 'Authentication Required',\n [ResponseType.Forbidden]: 'Forbidden',\n [ResponseType.XRPCNotSupported]: 'XRPC Not Supported',\n [ResponseType.PayloadTooLarge]: 'Payload Too Large',\n [ResponseType.RateLimitExceeded]: 'Rate Limit Exceeded',\n [ResponseType.InternalServerError]: 'Internal Server Error',\n [ResponseType.MethodNotImplemented]: 'Method Not Implemented',\n [ResponseType.UpstreamFailure]: 'Upstream Failure',\n [ResponseType.NotEnoughResouces]: 'Not Enough Resouces',\n [ResponseType.UpstreamTimeout]: 'Upstream Timeout',\n}\n\nexport class XRPCResponse {\n success = true\n\n constructor(public data: any, public headers: Headers) {}\n}\n\nexport class XRPCError extends Error {\n success = false\n\n constructor(\n public status: ResponseType,\n public error?: string,\n message?: string,\n ) {\n super(message || error || ResponseTypeStrings[status])\n if (!this.error) {\n this.error = ResponseTypeNames[status]\n }\n }\n}\n", "/*\nGrammar:\n\nalpha = \"a\" / \"b\" / \"c\" / \"d\" / \"e\" / \"f\" / \"g\" / \"h\" / \"i\" / \"j\" / \"k\" / \"l\" / \"m\" / \"n\" / \"o\" / \"p\" / \"q\" / \"r\" / \"s\" / \"t\" / \"u\" / \"v\" / \"w\" / \"x\" / \"y\" / \"z\" / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" / \"G\" / \"H\" / \"I\" / \"J\" / \"K\" / \"L\" / \"M\" / \"N\" / \"O\" / \"P\" / \"Q\" / \"R\" / \"S\" / \"T\" / \"U\" / \"V\" / \"W\" / \"X\" / \"Y\" / \"Z\"\nnumber = \"1\" / \"2\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" / \"0\"\ndelim = \".\"\nsegment = alpha *( alpha / number / \"-\" )\nauthority = segment *( delim segment )\nname = segment\nnsid = authority delim name\nnsid-ns = authority delim \"*\"\n\n*/\n\nconst SEGMENT_RE = /^[a-zA-Z]([a-zA-Z0-9-])*$/\n\nexport class NSID {\n segments: string[] = []\n\n static parse(nsid: string): NSID {\n return new NSID(nsid)\n }\n\n static create(authority: string, name: string): NSID {\n const segments = [...authority.split('.').reverse(), name].join('.')\n return new NSID(segments)\n }\n\n static isValid(nsid: string): boolean {\n try {\n NSID.parse(nsid)\n return true\n } catch (e) {\n return false\n }\n }\n\n constructor(nsid: string) {\n const segments = nsid.split('.')\n if (segments.length <= 2) {\n throw new Error(`Invalid NSID: ${nsid}`)\n }\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i]\n if (SEGMENT_RE.test(segment)) {\n continue\n }\n if (i === segments.length - 1 && segment === '*') {\n continue\n }\n throw new Error(`Invalid NSID: invalid character in segment \"${segment}\"`)\n }\n this.segments = segments\n }\n\n get authority() {\n return this.segments\n .slice(0, this.segments.length - 1)\n .reverse()\n .join('.')\n }\n\n get name() {\n return this.segments.at(this.segments.length - 1)\n }\n\n toString() {\n return this.segments.join('.')\n }\n}\n", "import { z } from 'zod'\nimport { NSID } from '@atproto/nsid'\n\n// primitives\n// =\n\nexport const lexBoolean = z.object({\n type: z.literal('boolean'),\n description: z.string().optional(),\n default: z.boolean().optional(),\n const: z.boolean().optional(),\n})\nexport type LexBoolean = z.infer\n\nexport const lexNumber = z.object({\n type: z.literal('number'),\n description: z.string().optional(),\n default: z.number().optional(),\n minimum: z.number().optional(),\n maximum: z.number().optional(),\n enum: z.number().array().optional(),\n const: z.number().optional(),\n})\nexport type LexNumber = z.infer\n\nexport const lexInteger = z.object({\n type: z.literal('integer'),\n description: z.string().optional(),\n default: z.number().int().optional(),\n minimum: z.number().int().optional(),\n maximum: z.number().int().optional(),\n enum: z.number().int().array().optional(),\n const: z.number().int().optional(),\n})\nexport type LexInteger = z.infer\n\nexport const lexString = z.object({\n type: z.literal('string'),\n description: z.string().optional(),\n default: z.string().optional(),\n minLength: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n enum: z.string().array().optional(),\n const: z.string().optional(),\n knownValues: z.string().array().optional(),\n})\nexport type LexString = z.infer\n\nexport const lexDatetime = z.object({\n type: z.literal('datetime'),\n description: z.string().optional(),\n})\nexport type LexDatetime = z.infer\n\nexport const lexUnknown = z.object({\n type: z.literal('unknown'),\n description: z.string().optional(),\n})\nexport type LexUnknown = z.infer\n\nexport const lexPrimitive = z.union([\n lexBoolean,\n lexNumber,\n lexInteger,\n lexString,\n lexDatetime,\n lexUnknown,\n])\nexport type LexPrimitive = z.infer\n\n// references\n// =\n\nexport const lexRef = z.object({\n type: z.literal('ref'),\n description: z.string().optional(),\n ref: z.string(),\n})\nexport type LexRef = z.infer\n\nexport const lexRefUnion = z.object({\n type: z.literal('union'),\n description: z.string().optional(),\n refs: z.string().array(),\n closed: z.boolean().optional(),\n})\nexport type LexRefUnion = z.infer\n\nexport const lexRefVariant = z.union([lexRef, lexRefUnion])\nexport type LexRefVariant = z.infer\n\n// blobs\n// =\n\nexport const lexBlob = z.object({\n type: z.literal('blob'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n})\nexport type LexBlob = z.infer\n\nexport const lexImage = z.object({\n type: z.literal('image'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n maxWidth: z.number().int().optional(),\n maxHeight: z.number().int().optional(),\n})\nexport type LexImage = z.infer\n\nexport const lexVideo = z.object({\n type: z.literal('video'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n maxWidth: z.number().int().optional(),\n maxHeight: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n})\nexport type LexVideo = z.infer\n\nexport const lexAudio = z.object({\n type: z.literal('audio'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n maxLength: z.number().int().optional(),\n})\nexport type LexAudio = z.infer\n\nexport const lexBlobVariant = z.union([lexBlob, lexImage, lexVideo, lexAudio])\nexport type LexBlobVariant = z.infer\n\n// complex types\n// =\n\nexport const lexArray = z.object({\n type: z.literal('array'),\n description: z.string().optional(),\n items: z.union([lexPrimitive, lexBlobVariant, lexRefVariant]),\n minLength: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n})\nexport type LexArray = z.infer\n\nexport const lexToken = z.object({\n type: z.literal('token'),\n description: z.string().optional(),\n})\nexport type LexToken = z.infer\n\nexport const lexObject = z.object({\n type: z.literal('object'),\n description: z.string().optional(),\n required: z.string().array().optional(),\n properties: z\n .record(z.union([lexRefVariant, lexArray, lexBlobVariant, lexPrimitive]))\n .optional(),\n})\nexport type LexObject = z.infer\n\n// xrpc\n// =\n\nexport const lexXrpcParameters = z.object({\n type: z.literal('params'),\n description: z.string().optional(),\n required: z.string().array().optional(),\n properties: z.record(lexPrimitive),\n})\nexport type LexXrpcParameters = z.infer\n\nexport const lexXrpcBody = z.object({\n description: z.string().optional(),\n encoding: z.string(),\n schema: z.union([lexRefVariant, lexObject]).optional(),\n})\nexport type LexXrpcBody = z.infer\n\nexport const lexXrpcError = z.object({\n name: z.string(),\n description: z.string().optional(),\n})\nexport type LexXrpcError = z.infer\n\nexport const lexXrpcQuery = z.object({\n type: z.literal('query'),\n description: z.string().optional(),\n parameters: lexXrpcParameters.optional(),\n output: lexXrpcBody.optional(),\n errors: lexXrpcError.array().optional(),\n})\nexport type LexXrpcQuery = z.infer\n\nexport const lexXrpcProcedure = z.object({\n type: z.literal('procedure'),\n description: z.string().optional(),\n parameters: lexXrpcParameters.optional(),\n input: lexXrpcBody.optional(),\n output: lexXrpcBody.optional(),\n errors: lexXrpcError.array().optional(),\n})\nexport type LexXrpcProcedure = z.infer\n\n// database\n// =\n\nexport const lexRecord = z.object({\n type: z.literal('record'),\n description: z.string().optional(),\n key: z.string().optional(),\n record: lexObject,\n})\nexport type LexRecord = z.infer\n\n// core\n// =\n\nexport const lexUserType = z.union([\n lexRecord,\n\n lexXrpcQuery,\n lexXrpcProcedure,\n\n lexBlob,\n lexImage,\n lexVideo,\n lexAudio,\n\n lexArray,\n lexToken,\n lexObject,\n\n lexBoolean,\n lexNumber,\n lexInteger,\n lexString,\n lexDatetime,\n lexUnknown,\n])\nexport type LexUserType = z.infer\n\nexport const lexiconDoc = z\n .object({\n lexicon: z.literal(1),\n id: z.string().refine((v: string) => NSID.isValid(v), {\n message: 'Must be a valid NSID',\n }),\n revision: z.number().optional(),\n description: z.string().optional(),\n defs: z.record(lexUserType),\n })\n .superRefine((doc: LexiconDoc, ctx) => {\n for (const defId in doc.defs) {\n const def = doc.defs[defId]\n if (\n defId !== 'main' &&\n (def.type === 'record' ||\n def.type === 'procedure' ||\n def.type === 'query')\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Records, procedures, and queries must be the main definition.`,\n })\n }\n }\n })\nexport type LexiconDoc = z.infer\n\n// helpers\n// =\n\nexport function isValidLexiconDoc(v: unknown): v is LexiconDoc {\n return lexiconDoc.safeParse(v).success\n}\n\nexport function isObj(obj: unknown): obj is Record {\n return !!obj && typeof obj === 'object'\n}\n\nexport function hasProp(\n data: object,\n prop: K,\n): data is Record {\n return prop in data\n}\n\nexport const discriminatedObject = z.object({ $type: z.string() })\nexport type DiscriminatedObject = z.infer\nexport function isDiscriminatedObject(\n value: unknown,\n): value is DiscriminatedObject {\n return discriminatedObject.safeParse(value).success\n}\n\nexport class LexiconDocMalformedError extends Error {\n constructor(\n message: string,\n public schemaDef: unknown,\n public issues?: z.ZodIssue[],\n ) {\n super(message)\n this.schemaDef = schemaDef\n this.issues = issues\n }\n}\n\nexport interface ValidationResult {\n success: boolean\n error?: ValidationError\n}\n\nexport class ValidationError extends Error {}\nexport class InvalidLexiconError extends Error {}\nexport class LexiconDefNotFoundError extends Error {}\n", "import { Lexicons } from '../lexicons'\nimport {\n LexUserType,\n LexBoolean,\n LexNumber,\n LexInteger,\n LexString,\n LexDatetime,\n ValidationResult,\n ValidationError,\n} from '../types'\n\nexport function validate(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n switch (def.type) {\n case 'boolean':\n return boolean(lexicons, path, def, value)\n case 'number':\n return number(lexicons, path, def, value)\n case 'integer':\n return integer(lexicons, path, def, value)\n case 'string':\n return string(lexicons, path, def, value)\n case 'datetime':\n return datetime(lexicons, path, def, value)\n case 'unknown':\n return unknown(lexicons, path, def, value)\n default:\n return {\n success: false,\n error: new ValidationError(`Unexpected lexicon type: ${def.type}`),\n }\n }\n}\n\nexport function boolean(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexBoolean\n\n // type\n const type = typeof value\n if (type == 'undefined') {\n if (typeof def.default === 'boolean') {\n return { success: true }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a boolean`),\n }\n } else if (type !== 'boolean') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a boolean`),\n }\n }\n\n // const\n if (typeof def.const === 'boolean') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n return { success: true }\n}\n\nexport function number(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexNumber\n\n // type\n const type = typeof value\n if (type == 'undefined') {\n if (typeof def.default === 'number') {\n return { success: true }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a number`),\n }\n } else if (type !== 'number') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a number`),\n }\n }\n\n // const\n if (typeof def.const === 'number') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n // enum\n if (Array.isArray(def.enum)) {\n if (!def.enum.includes(value as number)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be one of (${def.enum.join('|')})`,\n ),\n }\n }\n }\n\n // maximum\n if (typeof def.maximum === 'number') {\n if ((value as number) > def.maximum) {\n return {\n success: false,\n error: new ValidationError(\n `${path} can not be greater than ${def.maximum}`,\n ),\n }\n }\n }\n\n // minimum\n if (typeof def.minimum === 'number') {\n if ((value as number) < def.minimum) {\n return {\n success: false,\n error: new ValidationError(\n `${path} can not be less than ${def.minimum}`,\n ),\n }\n }\n }\n\n return { success: true }\n}\n\nexport function integer(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexInteger\n\n // run number validation\n const numRes = number(lexicons, path, def, value)\n if (!numRes.success) {\n return numRes\n }\n\n // whole numbers only\n if (!Number.isInteger(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be an integer`),\n }\n }\n\n return { success: true }\n}\n\nexport function string(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexString\n\n // type\n const type = typeof value\n if (type == 'undefined') {\n if (typeof def.default === 'string') {\n return { success: true }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n } else if (type !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n }\n\n // const\n if (typeof def.const === 'string') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n // enum\n if (Array.isArray(def.enum)) {\n if (!def.enum.includes(value as string)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be one of (${def.enum.join('|')})`,\n ),\n }\n }\n }\n\n // maxLength\n if (typeof def.maxLength === 'number') {\n if ((value as string).length > def.maxLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be longer than ${def.maxLength} characters`,\n ),\n }\n }\n }\n\n // minLength\n if (typeof def.minLength === 'number') {\n if ((value as string).length < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be shorter than ${def.minLength} characters`,\n ),\n }\n }\n }\n\n return { success: true }\n}\n\nexport function datetime(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexDatetime\n\n // type\n const type = typeof value\n if (type !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n }\n\n // valid iso-8601\n {\n try {\n const date = new Date(Date.parse(value as string))\n if (value !== date.toISOString()) {\n throw new ValidationError(\n `${path} must be an iso8601 formatted datetime`,\n )\n }\n } catch {\n throw new ValidationError(`${path} must be an iso8601 formatted datetime`)\n }\n }\n\n return { success: true }\n}\n\nexport function unknown(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n // type\n if (!value || typeof value !== 'object') {\n return {\n success: false,\n error: new ValidationError(`${path} must be an object`),\n }\n }\n\n return { success: true }\n}\n", "import { Lexicons } from '../lexicons'\nimport { LexUserType, ValidationResult, ValidationError } from '../types'\nimport { isObj, hasProp } from '../types'\n\nexport function blob(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n if (!isObj(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} should be an object`),\n }\n }\n if (!hasProp(value, 'cid') || typeof value.cid !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path}/cid should be a string`),\n }\n }\n if (!hasProp(value, 'mimeType') || typeof value.mimeType !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path}/mimeType should be a string`),\n }\n }\n return { success: true }\n}\n\nexport function image(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n return blob(lexicons, path, def, value)\n}\n\nexport function video(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n return blob(lexicons, path, def, value)\n}\n\nexport function audio(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n return blob(lexicons, path, def, value)\n}\n", "import { Lexicons } from '../lexicons'\nimport {\n LexArray,\n LexObject,\n LexUserType,\n ValidationResult,\n ValidationError,\n} from '../types'\nimport { validateOneOf } from '../util'\n\nimport * as Primitives from './primitives'\nimport * as Blob from './blob'\n\nexport function validate(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n switch (def.type) {\n case 'boolean':\n return Primitives.boolean(lexicons, path, def, value)\n case 'number':\n return Primitives.number(lexicons, path, def, value)\n case 'integer':\n return Primitives.integer(lexicons, path, def, value)\n case 'string':\n return Primitives.string(lexicons, path, def, value)\n case 'datetime':\n return Primitives.datetime(lexicons, path, def, value)\n case 'unknown':\n return Primitives.unknown(lexicons, path, def, value)\n case 'object':\n return object(lexicons, path, def, value)\n case 'array':\n return array(lexicons, path, def, value)\n case 'blob':\n return Blob.blob(lexicons, path, def, value)\n case 'image':\n return Blob.image(lexicons, path, def, value)\n case 'video':\n return Blob.video(lexicons, path, def, value)\n case 'audio':\n return Blob.audio(lexicons, path, def, value)\n default:\n return {\n success: false,\n error: new ValidationError(`Unexpected lexicon type: ${def.type}`),\n }\n }\n}\n\nexport function array(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexArray\n\n // type\n if (!Array.isArray(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be an array`),\n }\n }\n\n // maxLength\n if (typeof def.maxLength === 'number') {\n if ((value as Array).length > def.maxLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not have more than ${def.maxLength} elements`,\n ),\n }\n }\n }\n\n // minLength\n if (typeof def.minLength === 'number') {\n if ((value as Array).length < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not have fewer than ${def.minLength} elements`,\n ),\n }\n }\n }\n\n // items\n const itemsDef = def.items\n for (let i = 0; i < (value as Array).length; i++) {\n const itemValue = value[i]\n const itemPath = `${path}/${i}`\n const res = validateOneOf(lexicons, itemPath, itemsDef, itemValue)\n if (!res.success) {\n return res\n }\n }\n\n return { success: true }\n}\n\nexport function object(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexObject\n\n // type\n if (!value || typeof value !== 'object') {\n return {\n success: false,\n error: new ValidationError(`${path} must be an object`),\n }\n }\n\n // required\n if (Array.isArray(def.required)) {\n for (const key of def.required) {\n if (!(key in value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must have the property \"${key}\"`),\n }\n }\n }\n }\n\n // properties\n if (typeof def.properties === 'object') {\n for (const key in def.properties) {\n const propValue = value[key]\n if (typeof propValue === 'undefined') {\n continue // skip- if required, will have already failed\n }\n const propDef = def.properties[key]\n const propPath = `${path}/${key}`\n const res = validateOneOf(lexicons, propPath, propDef, propValue)\n if (!res.success) {\n return res\n }\n }\n }\n\n return { success: true }\n}\n", "import { Lexicons } from './lexicons'\nimport * as ComplexValidators from './validators/complex'\nimport {\n LexUserType,\n LexRefVariant,\n ValidationError,\n ValidationResult,\n isDiscriminatedObject,\n} from './types'\n\nexport function toLexUri(str: string, baseUri?: string): string {\n if (str.startsWith('lex:')) {\n return str\n }\n if (str.startsWith('#')) {\n if (!baseUri) {\n throw new Error(`Unable to resolve uri without anchor: ${str}`)\n }\n return `${baseUri}${str}`\n }\n return `lex:${str}`\n}\n\nexport function validateOneOf(\n lexicons: Lexicons,\n path: string,\n def: LexRefVariant | LexUserType,\n value: unknown,\n mustBeObj = false, // this is the only type constraint we need currently (used by xrpc body schema validators)\n): ValidationResult {\n let error\n\n let concreteDefs\n if (def.type === 'union') {\n if (!isDiscriminatedObject(value)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be an object which includes the \"$type\" property`,\n ),\n }\n }\n if (!def.refs.includes(toLexUri(value.$type))) {\n if (def.closed) {\n return {\n success: false,\n error: new ValidationError(\n `${path} $type must be one of ${def.refs.join(', ')}`,\n ),\n }\n }\n return { success: true }\n } else {\n concreteDefs = toConcreteTypes(lexicons, {\n type: 'ref',\n ref: value.$type,\n })\n }\n } else {\n concreteDefs = toConcreteTypes(lexicons, def)\n }\n\n for (const concreteDef of concreteDefs) {\n const result = mustBeObj\n ? ComplexValidators.object(lexicons, path, concreteDef, value)\n : ComplexValidators.validate(lexicons, path, concreteDef, value)\n if (result.success) {\n return result\n }\n error ??= result.error\n }\n if (concreteDefs.length > 1) {\n return {\n success: false,\n error: new ValidationError(\n `${path} did not match any of the expected definitions`,\n ),\n }\n }\n return { success: false, error }\n}\n\nexport function assertValidOneOf(\n lexicons: Lexicons,\n path: string,\n def: LexRefVariant | LexUserType,\n value: unknown,\n mustBeObj = false,\n) {\n const res = validateOneOf(lexicons, path, def, value, mustBeObj)\n if (!res.success) {\n throw res.error\n }\n}\n\nexport function toConcreteTypes(\n lexicons: Lexicons,\n def: LexRefVariant | LexUserType,\n): LexUserType[] {\n if (def.type === 'ref') {\n return [lexicons.getDefOrThrow(def.ref)]\n } else if (def.type === 'union') {\n return def.refs.map((ref) => lexicons.getDefOrThrow(ref)).flat()\n } else {\n return [def]\n }\n}\n", "import { Lexicons } from '../lexicons'\nimport { LexXrpcParameters, ValidationResult, ValidationError } from '../types'\n\nimport * as PrimitiveValidators from './primitives'\n\nexport function params(\n lexicons: Lexicons,\n path: string,\n def: LexXrpcParameters,\n value: unknown,\n): ValidationResult {\n def = def as LexXrpcParameters\n\n // type\n if (!value || typeof value !== 'object') {\n // in this case, we just fall back to an object\n value = {}\n }\n\n // required\n if (Array.isArray(def.required)) {\n for (const key of def.required) {\n if (!(key in (value as Record))) {\n return {\n success: false,\n error: new ValidationError(`${path} must have the property \"${key}\"`),\n }\n }\n }\n }\n\n // properties\n for (const key in def.properties) {\n if (typeof (value as Record)[key] === 'undefined') {\n continue // skip- if required, will have already failed\n }\n const paramDef = def.properties[key]\n const res = PrimitiveValidators.validate(\n lexicons,\n key,\n paramDef,\n (value as Record)[key],\n )\n if (!res.success) {\n return res\n }\n }\n\n return { success: true }\n}\n", "import { Lexicons } from './lexicons'\nimport { LexRecord, LexXrpcProcedure, LexXrpcQuery } from './types'\nimport { assertValidOneOf } from './util'\n\nimport * as ComplexValidators from './validators/complex'\nimport * as XrpcValidators from './validators/xrpc'\n\nexport function assertValidRecord(\n lexicons: Lexicons,\n def: LexRecord,\n value: unknown,\n) {\n const res = ComplexValidators.object(lexicons, 'Record', def.record, value)\n if (!res.success) throw res.error\n}\n\nexport function assertValidXrpcParams(\n lexicons: Lexicons,\n def: LexXrpcProcedure | LexXrpcQuery,\n value: unknown,\n) {\n if (def.parameters) {\n const res = XrpcValidators.params(lexicons, 'Params', def.parameters, value)\n if (!res.success) throw res.error\n }\n}\n\nexport function assertValidXrpcInput(\n lexicons: Lexicons,\n def: LexXrpcProcedure,\n value: unknown,\n) {\n if (def.input?.schema) {\n // loop: all input schema definitions\n assertValidOneOf(lexicons, 'Input', def.input.schema, value, true)\n }\n}\n\nexport function assertValidXrpcOutput(\n lexicons: Lexicons,\n def: LexXrpcProcedure | LexXrpcQuery,\n value: unknown,\n) {\n if (def.output?.schema) {\n // loop: all output schema definitions\n assertValidOneOf(lexicons, 'Output', def.output.schema, value, true)\n }\n}\n", "import { ZodError } from 'zod'\nimport {\n LexiconDoc,\n lexiconDoc,\n LexRecord,\n LexXrpcProcedure,\n LexXrpcQuery,\n LexUserType,\n LexiconDocMalformedError,\n LexiconDefNotFoundError,\n InvalidLexiconError,\n ValidationError,\n isObj,\n hasProp,\n} from './types'\nimport {\n assertValidRecord,\n assertValidXrpcParams,\n assertValidXrpcInput,\n assertValidXrpcOutput,\n} from './validation'\nimport { toLexUri } from './util'\n\n/**\n * A collection of compiled lexicons.\n */\nexport class Lexicons {\n docs: Map = new Map()\n defs: Map = new Map()\n\n constructor(docs?: unknown[]) {\n if (docs?.length) {\n for (const doc of docs) {\n this.add(doc)\n }\n }\n }\n\n /**\n * Add a lexicon doc.\n */\n add(doc: unknown): void {\n try {\n lexiconDoc.parse(doc)\n } catch (e) {\n if (e instanceof ZodError) {\n throw new LexiconDocMalformedError(\n `Failed to parse schema definition ${\n (doc as Record).id\n }`,\n doc,\n e.issues,\n )\n } else {\n throw e\n }\n }\n const validatedDoc = doc as LexiconDoc\n const uri = toLexUri(validatedDoc.id)\n if (this.docs.has(uri)) {\n throw new Error(`${uri} has already been registered`)\n }\n\n // WARNING\n // mutates the object\n // -prf\n resolveRefUris(validatedDoc, uri)\n\n this.docs.set(uri, validatedDoc)\n for (const [defUri, def] of iterDefs(validatedDoc)) {\n this.defs.set(defUri, def)\n }\n }\n\n /**\n * Remove a lexicon doc.\n */\n remove(uri: string) {\n uri = toLexUri(uri)\n const doc = this.docs.get(uri)\n if (!doc) {\n throw new Error(`Unable to remove \"${uri}\": does not exist`)\n }\n for (const [defUri, _def] of iterDefs(doc)) {\n this.defs.delete(defUri)\n }\n this.docs.delete(uri)\n }\n\n /**\n * Get a lexicon doc.\n */\n get(uri: string): LexiconDoc | undefined {\n uri = toLexUri(uri)\n return this.docs.get(uri)\n }\n\n /**\n * Get a definition.\n */\n getDef(uri: string): LexUserType | undefined {\n uri = toLexUri(uri)\n return this.defs.get(uri)\n }\n\n /**\n * Get a def, throw if not found. Throws on not found.\n */\n getDefOrThrow(uri: string, types?: string[]): LexUserType {\n const def = this.getDef(uri)\n if (!def) {\n throw new LexiconDefNotFoundError(`Lexicon not found: ${uri}`)\n }\n if (types && !types.includes(def.type)) {\n throw new InvalidLexiconError(\n `Not a ${types.join(' or ')} lexicon: ${uri}`,\n )\n }\n return def\n }\n\n /**\n * Validate a record and throw on any error.\n */\n assertValidRecord(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['record'])\n if (!isObj(value)) {\n throw new ValidationError(`Record must be an object`)\n }\n if (!hasProp(value, '$type') || typeof value.$type !== 'string') {\n throw new ValidationError(`Record/$type must be a string`)\n }\n const $type = (value as Record).$type || ''\n if (toLexUri($type) !== lexUri) {\n throw new ValidationError(\n `Invalid $type: must be ${lexUri}, got ${$type}`,\n )\n }\n assertValidRecord(this, def as LexRecord, value)\n }\n\n /**\n * Validate xrpc query params and throw on any error.\n */\n assertValidXrpcParams(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['query', 'procedure'])\n assertValidXrpcParams(this, def as LexXrpcProcedure | LexXrpcQuery, value)\n }\n\n /**\n * Validate xrpc input body and throw on any error.\n */\n assertValidXrpcInput(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['procedure'])\n assertValidXrpcInput(this, def as LexXrpcProcedure, value)\n }\n\n /**\n * Validate xrpc output body and throw on any error.\n */\n assertValidXrpcOutput(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['query', 'procedure'])\n assertValidXrpcOutput(this, def as LexXrpcProcedure | LexXrpcQuery, value)\n }\n}\n\nfunction* iterDefs(doc: LexiconDoc): Generator<[string, LexUserType]> {\n for (const defId in doc.defs) {\n yield [`lex:${doc.id}#${defId}`, doc.defs[defId]]\n if (defId === 'main') {\n yield [`lex:${doc.id}`, doc.defs[defId]]\n }\n }\n}\n\n// WARNING\n// this method mutates objects\n// -prf\nfunction resolveRefUris(obj: any, baseUri: string): any {\n for (const k in obj) {\n if (obj.type === 'ref') {\n obj.ref = toLexUri(obj.ref, baseUri)\n } else if (obj.type === 'union') {\n obj.refs = obj.refs.map((ref) => toLexUri(ref, baseUri))\n } else if (Array.isArray(obj[k])) {\n obj[k] = obj[k].map((item: any) => {\n if (typeof item === 'string') {\n return item.startsWith('#') ? toLexUri(item, baseUri) : item\n } else if (item && typeof item === 'object') {\n return resolveRefUris(item, baseUri)\n }\n return item\n })\n } else if (obj[k] && typeof obj[k] === 'object') {\n obj[k] = resolveRefUris(obj[k], baseUri)\n }\n }\n return obj\n}\n", "import { LexXrpcProcedure, LexXrpcQuery } from '@atproto/lexicon'\nimport {\n CallOptions,\n Headers,\n QueryParams,\n ResponseType,\n XRPCError,\n} from './types'\n\nexport function getMethodSchemaHTTPMethod(\n schema: LexXrpcProcedure | LexXrpcQuery,\n) {\n if (schema.type === 'procedure') {\n return 'post'\n }\n return 'get'\n}\n\nexport function constructMethodCallUri(\n nsid: string,\n schema: LexXrpcProcedure | LexXrpcQuery,\n serviceUri: URL,\n params?: QueryParams,\n): string {\n const uri = new URL(serviceUri)\n uri.pathname = `/xrpc/${nsid}`\n\n // given parameters\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n const paramSchema = schema.parameters?.properties?.[key]\n if (!paramSchema) {\n throw new Error(`Invalid query parameter: ${key}`)\n }\n if (value !== undefined) {\n uri.searchParams.set(key, encodeQueryParam(paramSchema.type, value))\n }\n }\n }\n\n return uri.toString()\n}\n\nexport function encodeQueryParam(\n type: 'string' | 'number' | 'integer' | 'boolean' | 'datetime' | 'unknown',\n value: any,\n): string {\n if (type === 'string' || type === 'unknown') {\n return String(value)\n }\n if (type === 'number') {\n return String(Number(value))\n } else if (type === 'integer') {\n return String(Number(value) | 0)\n } else if (type === 'boolean') {\n return value ? 'true' : 'false'\n } else if (type === 'datetime') {\n if (value instanceof Date) {\n return value.toISOString()\n }\n return String(value)\n }\n throw new Error(`Unsupported query param type: ${type}`)\n}\n\nexport function constructMethodCallHeaders(\n schema: LexXrpcProcedure | LexXrpcQuery,\n data?: any,\n opts?: CallOptions,\n): Headers {\n const headers: Headers = opts?.headers || {}\n if (schema.type === 'procedure') {\n if (opts?.encoding) {\n headers['Content-Type'] = opts.encoding\n }\n if (data && typeof data === 'object') {\n if (!headers['Content-Type']) {\n headers['Content-Type'] = 'application/json'\n }\n }\n }\n return headers\n}\n\nexport function encodeMethodCallBody(\n headers: Headers,\n data?: any,\n): ArrayBuffer | undefined {\n if (!headers['Content-Type'] || typeof data === 'undefined') {\n return undefined\n }\n if (data instanceof ArrayBuffer) {\n return data\n }\n if (headers['Content-Type'].startsWith('text/')) {\n return new TextEncoder().encode(data.toString())\n }\n if (headers['Content-Type'].startsWith('application/json')) {\n return new TextEncoder().encode(JSON.stringify(data))\n }\n return data\n}\n\nexport function httpResponseCodeToEnum(status: number): ResponseType {\n let resCode: ResponseType\n if (status in ResponseType) {\n resCode = status\n } else if (status >= 100 && status < 200) {\n resCode = ResponseType.XRPCNotSupported\n } else if (status >= 200 && status < 300) {\n resCode = ResponseType.Success\n } else if (status >= 300 && status < 400) {\n resCode = ResponseType.XRPCNotSupported\n } else if (status >= 400 && status < 500) {\n resCode = ResponseType.InvalidRequest\n } else {\n resCode = ResponseType.InternalServerError\n }\n return resCode\n}\n\nexport function httpResponseBodyParse(\n mimeType: string | null,\n data: ArrayBuffer | undefined,\n): any {\n if (mimeType) {\n if (mimeType.includes('application/json') && data?.byteLength) {\n try {\n const str = new TextDecoder().decode(data)\n return JSON.parse(str)\n } catch (e) {\n throw new XRPCError(\n ResponseType.InvalidResponse,\n `Failed to parse response body: ${String(e)}`,\n )\n }\n }\n if (mimeType.startsWith('text/') && data?.byteLength) {\n try {\n return new TextDecoder().decode(data)\n } catch (e) {\n throw new XRPCError(\n ResponseType.InvalidResponse,\n `Failed to parse response body: ${String(e)}`,\n )\n }\n }\n }\n return data\n}\n", "import { Lexicons } from '@atproto/lexicon'\nimport {\n getMethodSchemaHTTPMethod,\n constructMethodCallUri,\n constructMethodCallHeaders,\n encodeMethodCallBody,\n httpResponseCodeToEnum,\n httpResponseBodyParse,\n} from './util'\nimport {\n FetchHandler,\n FetchHandlerResponse,\n Headers,\n CallOptions,\n QueryParams,\n ResponseType,\n errorResponseBody,\n ErrorResponseBody,\n XRPCResponse,\n XRPCError,\n} from './types'\n\nexport class Client {\n fetch: FetchHandler = defaultFetchHandler\n lex = new Lexicons()\n\n // method calls\n //\n\n async call(\n serviceUri: string | URL,\n methodNsid: string,\n params?: QueryParams,\n data?: unknown,\n opts?: CallOptions,\n ) {\n return this.service(serviceUri).call(methodNsid, params, data, opts)\n }\n\n service(serviceUri: string | URL) {\n return new ServiceClient(this, serviceUri)\n }\n\n // schemas\n // =\n\n addLexicon(doc: unknown) {\n this.lex.add(doc)\n }\n\n addLexicons(docs: unknown[]) {\n for (const doc of docs) {\n this.addLexicon(doc)\n }\n }\n\n removeLexicon(uri: string) {\n this.lex.remove(uri)\n }\n}\n\nexport class ServiceClient {\n baseClient: Client\n uri: URL\n headers: Record = {}\n\n constructor(baseClient: Client, serviceUri: string | URL) {\n this.baseClient = baseClient\n this.uri = typeof serviceUri === 'string' ? new URL(serviceUri) : serviceUri\n }\n\n setHeader(key: string, value: string): void {\n this.headers[key] = value\n }\n\n unsetHeader(key: string): void {\n delete this.headers[key]\n }\n\n async call(\n methodNsid: string,\n params?: QueryParams,\n data?: unknown,\n opts?: CallOptions,\n ) {\n const def = this.baseClient.lex.getDefOrThrow(methodNsid)\n if (!def || (def.type !== 'query' && def.type !== 'procedure')) {\n throw new Error(\n `Invalid lexicon: ${methodNsid}. Must be a query or procedure.`,\n )\n }\n\n const httpMethod = getMethodSchemaHTTPMethod(def)\n const httpUri = constructMethodCallUri(methodNsid, def, this.uri, params)\n const httpHeaders = constructMethodCallHeaders(def, data, {\n headers: {\n ...this.headers,\n ...opts?.headers,\n },\n encoding: opts?.encoding,\n })\n\n const res = await this.baseClient.fetch(\n httpUri,\n httpMethod,\n httpHeaders,\n data,\n )\n\n const resCode = httpResponseCodeToEnum(res.status)\n if (resCode === ResponseType.Success) {\n return new XRPCResponse(res.body, res.headers)\n } else {\n if (res.body && isErrorResponseBody(res.body)) {\n throw new XRPCError(resCode, res.body.error, res.body.message)\n } else {\n throw new XRPCError(resCode)\n }\n }\n }\n}\n\nasync function defaultFetchHandler(\n httpUri: string,\n httpMethod: string,\n httpHeaders: Headers,\n httpReqBody: unknown,\n): Promise {\n try {\n const res = await fetch(httpUri, {\n method: httpMethod,\n headers: httpHeaders,\n body: encodeMethodCallBody(httpHeaders, httpReqBody),\n })\n const resBody = await res.arrayBuffer()\n return {\n status: res.status,\n headers: Object.fromEntries(res.headers.entries()),\n body: httpResponseBodyParse(res.headers.get('content-type'), resBody),\n }\n } catch (e) {\n throw new XRPCError(ResponseType.Unknown, String(e))\n }\n}\n\nfunction isErrorResponseBody(v: unknown): v is ErrorResponseBody {\n return errorResponseBody.safeParse(v).success\n}\n", "export * from './types'\nexport * from './client'\n\nimport { Client } from './client'\nconst defaultInst = new Client()\nexport default defaultInst\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { LexiconDoc } from '@atproto/lexicon'\n\nexport const lexicons: LexiconDoc[] = [\n {\n lexicon: 1,\n id: 'com.atproto.account.create',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create an account.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'email', 'password'],\n properties: {\n email: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n inviteCode: {\n type: 'string',\n },\n password: {\n type: 'string',\n },\n recoveryKey: {\n type: 'string',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['accessJwt', 'refreshJwt', 'handle', 'did'],\n properties: {\n accessJwt: {\n type: 'string',\n },\n refreshJwt: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n errors: [\n {\n name: 'InvalidHandle',\n },\n {\n name: 'InvalidPassword',\n },\n {\n name: 'InvalidInviteCode',\n },\n {\n name: 'HandleNotAvailable',\n },\n ],\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.account.createInviteCode',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create an invite code.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['useCount'],\n properties: {\n useCount: {\n type: 'integer',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['code'],\n properties: {\n code: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.account.delete',\n defs: {\n main: {\n type: 'procedure',\n description: 'Delete an account.',\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.account.get',\n defs: {\n main: {\n type: 'query',\n description: 'Get information about an account.',\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.account.requestPasswordReset',\n defs: {\n main: {\n type: 'procedure',\n description: 'Initiate a user account password reset via email.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['email'],\n properties: {\n email: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.account.resetPassword',\n defs: {\n main: {\n type: 'procedure',\n description: 'Reset a user account password using a token.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['token', 'password'],\n properties: {\n token: {\n type: 'string',\n },\n password: {\n type: 'string',\n },\n },\n },\n },\n errors: [\n {\n name: 'ExpiredToken',\n },\n {\n name: 'InvalidToken',\n },\n ],\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.blob.upload',\n defs: {\n main: {\n type: 'procedure',\n description:\n 'Upload a new blob to be added to repo in a later request.',\n input: {\n encoding: '*/*',\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['cid'],\n properties: {\n cid: {\n type: 'string',\n },\n },\n },\n },\n errors: [\n {\n name: 'InvalidBlob',\n },\n ],\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.handle.resolve',\n defs: {\n main: {\n type: 'query',\n description: 'Provides the DID of a repo.',\n parameters: {\n type: 'params',\n properties: {\n handle: {\n type: 'string',\n description:\n \"The handle to resolve. If not supplied, will resolve the host's own handle.\",\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.batchWrite',\n defs: {\n main: {\n type: 'procedure',\n description: 'Apply a batch transaction of creates, puts, and deletes.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'writes'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n validate: {\n type: 'boolean',\n default: true,\n description: 'Validate the records?',\n },\n writes: {\n type: 'array',\n items: {\n type: 'union',\n refs: [\n 'lex:com.atproto.repo.batchWrite#create',\n 'lex:com.atproto.repo.batchWrite#update',\n 'lex:com.atproto.repo.batchWrite#delete',\n ],\n closed: true,\n },\n },\n },\n },\n },\n },\n create: {\n type: 'object',\n required: ['action', 'collection', 'value'],\n properties: {\n action: {\n type: 'string',\n const: 'create',\n },\n collection: {\n type: 'string',\n },\n rkey: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n update: {\n type: 'object',\n required: ['action', 'collection', 'rkey', 'value'],\n properties: {\n action: {\n type: 'string',\n const: 'update',\n },\n collection: {\n type: 'string',\n },\n rkey: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n delete: {\n type: 'object',\n required: ['action', 'collection', 'rkey'],\n properties: {\n action: {\n type: 'string',\n const: 'delete',\n },\n collection: {\n type: 'string',\n },\n rkey: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.createRecord',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create a new record.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'collection', 'record'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record collection.',\n },\n validate: {\n type: 'boolean',\n default: true,\n description: 'Validate the record?',\n },\n record: {\n type: 'unknown',\n description: 'The record to create.',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'cid'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.deleteRecord',\n defs: {\n main: {\n type: 'procedure',\n description: 'Delete a record.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'collection', 'rkey'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record collection.',\n },\n rkey: {\n type: 'string',\n description: 'The key of the record.',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.describe',\n defs: {\n main: {\n type: 'query',\n description:\n 'Get information about the repo, including the list of collections.',\n parameters: {\n type: 'params',\n required: ['user'],\n properties: {\n user: {\n type: 'string',\n description: 'The handle or DID of the repo.',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: [\n 'handle',\n 'did',\n 'didDoc',\n 'collections',\n 'handleIsCorrect',\n ],\n properties: {\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n didDoc: {\n type: 'unknown',\n },\n collections: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n handleIsCorrect: {\n type: 'boolean',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.getRecord',\n defs: {\n main: {\n type: 'query',\n description: 'Fetch a record.',\n parameters: {\n type: 'params',\n required: ['user', 'collection', 'rkey'],\n properties: {\n user: {\n type: 'string',\n description: 'The handle or DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the collection.',\n },\n rkey: {\n type: 'string',\n description: 'The key of the record.',\n },\n cid: {\n type: 'string',\n description:\n 'The CID of the version of the record. If not specified, then return the most recent version.',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'value'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.listRecords',\n defs: {\n main: {\n type: 'query',\n description: 'List a range of records in a collection.',\n parameters: {\n type: 'params',\n required: ['user', 'collection'],\n properties: {\n user: {\n type: 'string',\n description: 'The handle or DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record type.',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n description: 'The number of records to return.',\n },\n before: {\n type: 'string',\n description: 'A TID to filter the range of records returned.',\n },\n after: {\n type: 'string',\n description: 'A TID to filter the range of records returned.',\n },\n reverse: {\n type: 'boolean',\n description: 'Reverse the order of the returned records?',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['records'],\n properties: {\n cursor: {\n type: 'string',\n },\n records: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.listRecords#record',\n },\n },\n },\n },\n },\n },\n record: {\n type: 'object',\n required: ['uri', 'cid', 'value'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.putRecord',\n defs: {\n main: {\n type: 'procedure',\n description: 'Write a record.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'collection', 'rkey', 'record'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record type.',\n },\n rkey: {\n type: 'string',\n description: 'The TID of the record.',\n },\n validate: {\n type: 'boolean',\n default: true,\n description: 'Validate the record?',\n },\n record: {\n type: 'unknown',\n description: 'The record to create.',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'cid'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.repo.strongRef',\n description: 'A URI with a content-hash fingerprint.',\n defs: {\n main: {\n type: 'object',\n required: ['uri', 'cid'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.server.getAccountsConfig',\n defs: {\n main: {\n type: 'query',\n description:\n \"Get a document describing the service's accounts configuration.\",\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['availableUserDomains'],\n properties: {\n inviteCodeRequired: {\n type: 'boolean',\n },\n availableUserDomains: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n links: {\n type: 'ref',\n ref: 'lex:com.atproto.server.getAccountsConfig#links',\n },\n },\n },\n },\n },\n links: {\n type: 'object',\n properties: {\n privacyPolicy: {\n type: 'string',\n },\n termsOfService: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.session.create',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create an authentication session.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'password'],\n properties: {\n handle: {\n type: 'string',\n },\n password: {\n type: 'string',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['accessJwt', 'refreshJwt', 'handle', 'did'],\n properties: {\n accessJwt: {\n type: 'string',\n },\n refreshJwt: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.session.delete',\n defs: {\n main: {\n type: 'procedure',\n description: 'Delete the current session.',\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.session.get',\n defs: {\n main: {\n type: 'query',\n description: 'Get information about the current session.',\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'did'],\n properties: {\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.session.refresh',\n defs: {\n main: {\n type: 'procedure',\n description: 'Refresh an authentication session.',\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['accessJwt', 'refreshJwt', 'handle', 'did'],\n properties: {\n accessJwt: {\n type: 'string',\n },\n refreshJwt: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.sync.getRepo',\n defs: {\n main: {\n type: 'query',\n description: 'Gets the repo state.',\n parameters: {\n type: 'params',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n from: {\n type: 'string',\n description: 'A past commit CID.',\n },\n },\n },\n output: {\n encoding: 'application/cbor',\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.sync.getRoot',\n defs: {\n main: {\n type: 'query',\n description: 'Gets the current root CID of a repo.',\n parameters: {\n type: 'params',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['root'],\n properties: {\n root: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.atproto.sync.updateRepo',\n defs: {\n main: {\n type: 'procedure',\n description: 'Writes commits to a repo.',\n parameters: {\n type: 'params',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n },\n },\n input: {\n encoding: 'application/cbor',\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.createScene',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create a scene.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle'],\n properties: {\n handle: {\n type: 'string',\n },\n recoveryKey: {\n type: 'string',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'did', 'declaration'],\n properties: {\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n },\n },\n },\n errors: [\n {\n name: 'InvalidHandle',\n },\n {\n name: 'HandleNotAvailable',\n },\n ],\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.getProfile',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['actor'],\n properties: {\n actor: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: [\n 'did',\n 'declaration',\n 'handle',\n 'creator',\n 'followersCount',\n 'followsCount',\n 'membersCount',\n 'postsCount',\n ],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n creator: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n maxLength: 256,\n },\n avatar: {\n type: 'string',\n },\n followersCount: {\n type: 'integer',\n },\n followsCount: {\n type: 'integer',\n },\n membersCount: {\n type: 'integer',\n },\n postsCount: {\n type: 'integer',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.getProfile#myState',\n },\n },\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n follow: {\n type: 'string',\n },\n member: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.getSuggestions',\n defs: {\n main: {\n type: 'query',\n description:\n 'Get a list of actors suggested for following. Used in discovery UIs.',\n parameters: {\n type: 'params',\n properties: {\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n cursor: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['actors'],\n properties: {\n cursor: {\n type: 'string',\n },\n actors: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.getSuggestions#actor',\n },\n },\n },\n },\n },\n },\n actor: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n },\n avatar: {\n type: 'string',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.getSuggestions#myState',\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n follow: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.profile',\n defs: {\n main: {\n type: 'record',\n key: 'literal:self',\n record: {\n type: 'object',\n required: ['displayName'],\n properties: {\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n maxLength: 256,\n },\n avatar: {\n type: 'image',\n accept: ['image/png', 'image/jpeg'],\n maxWidth: 500,\n maxHeight: 500,\n maxSize: 300000,\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.ref',\n description: 'A reference to an actor in the network.',\n defs: {\n main: {\n type: 'object',\n required: ['did', 'declarationCid'],\n properties: {\n did: {\n type: 'string',\n },\n declarationCid: {\n type: 'string',\n },\n },\n },\n withInfo: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.search',\n defs: {\n main: {\n type: 'query',\n description: 'Find users matching search criteria.',\n parameters: {\n type: 'params',\n required: ['term'],\n properties: {\n term: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['users'],\n properties: {\n cursor: {\n type: 'string',\n },\n users: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.search#user',\n },\n },\n },\n },\n },\n },\n user: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.searchTypeahead',\n defs: {\n main: {\n type: 'query',\n description: 'Find user suggestions for a search term.',\n parameters: {\n type: 'params',\n required: ['term'],\n properties: {\n term: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['users'],\n properties: {\n users: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.searchTypeahead#user',\n },\n },\n },\n },\n },\n },\n user: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.actor.updateProfile',\n defs: {\n main: {\n type: 'procedure',\n description: 'Notify server that the user has seen notifications.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n properties: {\n did: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n maxLength: 256,\n },\n avatar: {\n type: 'image',\n accept: ['image/png', 'image/jpeg'],\n maxWidth: 500,\n maxHeight: 500,\n maxSize: 100000,\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'cid', 'record'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n record: {\n type: 'unknown',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.embed',\n description:\n 'Content embedded in other content, such as an image or link embedded in a post.',\n defs: {\n main: {\n type: 'object',\n description: 'A list embeds in a post or document.',\n required: ['media'],\n properties: {\n items: {\n type: 'array',\n items: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.embed#media',\n 'lex:app.bsky.feed.embed#record',\n 'lex:app.bsky.feed.embed#external',\n ],\n },\n },\n },\n },\n media: {\n type: 'object',\n required: ['original'],\n properties: {\n alt: {\n type: 'string',\n },\n thumb: {\n type: 'image',\n },\n original: {\n type: 'blob',\n },\n },\n },\n record: {\n type: 'object',\n required: ['type', 'author', 'record'],\n properties: {\n type: {\n type: 'string',\n const: 'record',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n },\n },\n external: {\n type: 'object',\n required: ['type', 'uri', 'title', 'description', 'imageUri'],\n properties: {\n type: {\n type: 'string',\n const: 'external',\n },\n uri: {\n type: 'string',\n },\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n imageUri: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.getAuthorFeed',\n defs: {\n main: {\n type: 'query',\n description: \"A view of a user's feed.\",\n parameters: {\n type: 'params',\n required: ['author'],\n properties: {\n author: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['feed'],\n properties: {\n cursor: {\n type: 'string',\n },\n feed: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getAuthorFeed#feedItem',\n },\n },\n },\n },\n },\n },\n feedItem: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'record',\n 'replyCount',\n 'repostCount',\n 'upvoteCount',\n 'downvoteCount',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n trendedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n repostedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n embed: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.embed',\n },\n replyCount: {\n type: 'integer',\n },\n repostCount: {\n type: 'integer',\n },\n upvoteCount: {\n type: 'integer',\n },\n downvoteCount: {\n type: 'integer',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getAuthorFeed#myState',\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n repost: {\n type: 'string',\n },\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.getPostThread',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['uri'],\n properties: {\n uri: {\n type: 'string',\n },\n depth: {\n type: 'integer',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['thread'],\n properties: {\n thread: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#post',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n },\n },\n },\n errors: [\n {\n name: 'NotFound',\n },\n ],\n },\n post: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'record',\n 'replyCount',\n 'repostCount',\n 'upvoteCount',\n 'downvoteCount',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n embed: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.embed',\n },\n parent: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#post',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n replyCount: {\n type: 'integer',\n },\n replies: {\n type: 'array',\n items: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#post',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n },\n repostCount: {\n type: 'integer',\n },\n upvoteCount: {\n type: 'integer',\n },\n downvoteCount: {\n type: 'integer',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getPostThread#myState',\n },\n },\n },\n notFoundPost: {\n type: 'object',\n required: ['uri', 'notFound'],\n properties: {\n uri: {\n type: 'string',\n },\n notFound: {\n type: 'boolean',\n const: true,\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n repost: {\n type: 'string',\n },\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.getRepostedBy',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['uri'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'repostedBy'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n cursor: {\n type: 'string',\n },\n repostedBy: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getRepostedBy#repostedBy',\n },\n },\n },\n },\n },\n },\n repostedBy: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.getTimeline',\n defs: {\n main: {\n type: 'query',\n description: \"A view of the user's home timeline.\",\n parameters: {\n type: 'params',\n properties: {\n algorithm: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['feed'],\n properties: {\n cursor: {\n type: 'string',\n },\n feed: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getTimeline#feedItem',\n },\n },\n },\n },\n },\n },\n feedItem: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'record',\n 'replyCount',\n 'repostCount',\n 'upvoteCount',\n 'downvoteCount',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n trendedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n repostedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n embed: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.embed',\n },\n replyCount: {\n type: 'integer',\n },\n repostCount: {\n type: 'integer',\n },\n upvoteCount: {\n type: 'integer',\n },\n downvoteCount: {\n type: 'integer',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getTimeline#myState',\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n repost: {\n type: 'string',\n },\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.getVotes',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['uri'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n direction: {\n type: 'string',\n enum: ['up', 'down'],\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'votes'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n cursor: {\n type: 'string',\n },\n votes: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getVotes#vote',\n },\n },\n },\n },\n },\n },\n vote: {\n type: 'object',\n required: ['direction', 'indexedAt', 'createdAt', 'actor'],\n properties: {\n direction: {\n type: 'string',\n enum: ['up', 'down'],\n },\n indexedAt: {\n type: 'datetime',\n },\n createdAt: {\n type: 'datetime',\n },\n actor: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.post',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['text', 'createdAt'],\n properties: {\n text: {\n type: 'string',\n maxLength: 256,\n },\n entities: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#entity',\n },\n },\n reply: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#replyRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n replyRef: {\n type: 'object',\n required: ['root', 'parent'],\n properties: {\n root: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n parent: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n },\n },\n entity: {\n type: 'object',\n required: ['index', 'type', 'value'],\n properties: {\n index: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#textSlice',\n },\n type: {\n type: 'string',\n description:\n \"Expected values are 'mention', 'hashtag', and 'link'.\",\n },\n value: {\n type: 'string',\n },\n },\n },\n textSlice: {\n type: 'object',\n required: ['start', 'end'],\n properties: {\n start: {\n type: 'integer',\n minimum: 0,\n },\n end: {\n type: 'integer',\n minimum: 0,\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.repost',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.setVote',\n defs: {\n main: {\n type: 'procedure',\n description: \"Upvote, downvote, or clear the user's vote for a post.\",\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'direction'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n direction: {\n type: 'string',\n enum: ['up', 'down', 'none'],\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n properties: {\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.trend',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.feed.vote',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'direction', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n direction: {\n type: 'string',\n enum: ['up', 'down'],\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.assertCreator',\n defs: {\n main: {\n type: 'token',\n description:\n \"Assertion type: Creator. Defined for app.bsky.graph.assertions's assertion.\",\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.assertMember',\n defs: {\n main: {\n type: 'token',\n description:\n \"Assertion type: Member. Defined for app.bsky.graph.assertions's assertion.\",\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.assertion',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['assertion', 'subject', 'createdAt'],\n properties: {\n assertion: {\n type: 'string',\n },\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.confirmation',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['originator', 'assertion', 'createdAt'],\n properties: {\n originator: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref',\n },\n assertion: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.follow',\n defs: {\n main: {\n type: 'record',\n description: 'A social follow.',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.getAssertions',\n defs: {\n main: {\n type: 'query',\n description: 'General-purpose query for assertions.',\n parameters: {\n type: 'params',\n properties: {\n author: {\n type: 'string',\n },\n subject: {\n type: 'string',\n },\n assertion: {\n type: 'string',\n },\n confirmed: {\n type: 'boolean',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['assertions'],\n properties: {\n cursor: {\n type: 'string',\n },\n assertions: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getAssertions#assertion',\n },\n },\n },\n },\n },\n },\n assertion: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'assertion',\n 'author',\n 'subject',\n 'indexedAt',\n 'createdAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n assertion: {\n type: 'string',\n },\n confirmation: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getAssertions#confirmation',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n indexedAt: {\n type: 'datetime',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n confirmation: {\n type: 'object',\n required: ['uri', 'cid', 'indexedAt', 'createdAt'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n indexedAt: {\n type: 'datetime',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.getFollowers',\n defs: {\n main: {\n type: 'query',\n description: 'Who is following a user?',\n parameters: {\n type: 'params',\n required: ['user'],\n properties: {\n user: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'followers'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n followers: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getFollowers#follower',\n },\n },\n },\n },\n },\n },\n follower: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.getFollows',\n defs: {\n main: {\n type: 'query',\n description: 'Who is a user following?',\n parameters: {\n type: 'params',\n required: ['user'],\n properties: {\n user: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'follows'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n follows: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getFollows#follow',\n },\n },\n },\n },\n },\n },\n follow: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.getMembers',\n defs: {\n main: {\n type: 'query',\n description: 'Who is a member of the group?',\n parameters: {\n type: 'params',\n required: ['actor'],\n properties: {\n actor: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'members'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n members: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getMembers#member',\n },\n },\n },\n },\n },\n },\n member: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.graph.getMemberships',\n defs: {\n main: {\n type: 'query',\n description: 'Which groups is the actor a member of?',\n parameters: {\n type: 'params',\n required: ['actor'],\n properties: {\n actor: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'memberships'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n memberships: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getMemberships#membership',\n },\n },\n },\n },\n },\n },\n membership: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.notification.getCount',\n defs: {\n main: {\n type: 'query',\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['count'],\n properties: {\n count: {\n type: 'integer',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.notification.list',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n properties: {\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['notifications'],\n properties: {\n cursor: {\n type: 'string',\n },\n notifications: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.notification.list#notification',\n },\n },\n },\n },\n },\n },\n notification: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'reason',\n 'record',\n 'isRead',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n reason: {\n type: 'string',\n description:\n \"Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'.\",\n knownValues: [\n 'vote',\n 'repost',\n 'trend',\n 'follow',\n 'invite',\n 'mention',\n 'reply',\n ],\n },\n reasonSubject: {\n type: 'string',\n },\n record: {\n type: 'unknown',\n },\n isRead: {\n type: 'boolean',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.notification.updateSeen',\n defs: {\n main: {\n type: 'procedure',\n description: 'Notify server that the user has seen notifications.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['seenAt'],\n properties: {\n seenAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.system.actorScene',\n defs: {\n main: {\n type: 'token',\n description:\n \"Actor type: Scene. Defined for app.bsky.system.declaration's actorType.\",\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.system.actorUser',\n defs: {\n main: {\n type: 'token',\n description:\n \"Actor type: User. Defined for app.bsky.system.declaration's actorType.\",\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.system.declRef',\n defs: {\n main: {\n description: 'A reference to a app.bsky.system.declaration record.',\n type: 'object',\n required: ['cid', 'actorType'],\n properties: {\n cid: {\n type: 'string',\n },\n actorType: {\n type: 'string',\n knownValues: [\n 'app.bsky.system.actorUser',\n 'app.bsky.system.actorScene',\n ],\n },\n },\n },\n },\n },\n {\n lexicon: 1,\n id: 'app.bsky.system.declaration',\n defs: {\n main: {\n description:\n 'Context for an account that is considered intrinsic to it and alters the fundamental understanding of an account of changed. A declaration should be treated as immutable.',\n type: 'record',\n key: 'literal:self',\n record: {\n type: 'object',\n required: ['actorType'],\n properties: {\n actorType: {\n type: 'string',\n knownValues: [\n 'app.bsky.system.actorUser',\n 'app.bsky.system.actorScene',\n ],\n },\n },\n },\n },\n },\n },\n]\nexport const ids = {\n ComAtprotoAccountCreate: 'com.atproto.account.create',\n ComAtprotoAccountCreateInviteCode: 'com.atproto.account.createInviteCode',\n ComAtprotoAccountDelete: 'com.atproto.account.delete',\n ComAtprotoAccountGet: 'com.atproto.account.get',\n ComAtprotoAccountRequestPasswordReset:\n 'com.atproto.account.requestPasswordReset',\n ComAtprotoAccountResetPassword: 'com.atproto.account.resetPassword',\n ComAtprotoBlobUpload: 'com.atproto.blob.upload',\n ComAtprotoHandleResolve: 'com.atproto.handle.resolve',\n ComAtprotoRepoBatchWrite: 'com.atproto.repo.batchWrite',\n ComAtprotoRepoCreateRecord: 'com.atproto.repo.createRecord',\n ComAtprotoRepoDeleteRecord: 'com.atproto.repo.deleteRecord',\n ComAtprotoRepoDescribe: 'com.atproto.repo.describe',\n ComAtprotoRepoGetRecord: 'com.atproto.repo.getRecord',\n ComAtprotoRepoListRecords: 'com.atproto.repo.listRecords',\n ComAtprotoRepoPutRecord: 'com.atproto.repo.putRecord',\n ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',\n ComAtprotoServerGetAccountsConfig: 'com.atproto.server.getAccountsConfig',\n ComAtprotoSessionCreate: 'com.atproto.session.create',\n ComAtprotoSessionDelete: 'com.atproto.session.delete',\n ComAtprotoSessionGet: 'com.atproto.session.get',\n ComAtprotoSessionRefresh: 'com.atproto.session.refresh',\n ComAtprotoSyncGetRepo: 'com.atproto.sync.getRepo',\n ComAtprotoSyncGetRoot: 'com.atproto.sync.getRoot',\n ComAtprotoSyncUpdateRepo: 'com.atproto.sync.updateRepo',\n AppBskyActorCreateScene: 'app.bsky.actor.createScene',\n AppBskyActorGetProfile: 'app.bsky.actor.getProfile',\n AppBskyActorGetSuggestions: 'app.bsky.actor.getSuggestions',\n AppBskyActorProfile: 'app.bsky.actor.profile',\n AppBskyActorRef: 'app.bsky.actor.ref',\n AppBskyActorSearch: 'app.bsky.actor.search',\n AppBskyActorSearchTypeahead: 'app.bsky.actor.searchTypeahead',\n AppBskyActorUpdateProfile: 'app.bsky.actor.updateProfile',\n AppBskyFeedEmbed: 'app.bsky.feed.embed',\n AppBskyFeedGetAuthorFeed: 'app.bsky.feed.getAuthorFeed',\n AppBskyFeedGetPostThread: 'app.bsky.feed.getPostThread',\n AppBskyFeedGetRepostedBy: 'app.bsky.feed.getRepostedBy',\n AppBskyFeedGetTimeline: 'app.bsky.feed.getTimeline',\n AppBskyFeedGetVotes: 'app.bsky.feed.getVotes',\n AppBskyFeedPost: 'app.bsky.feed.post',\n AppBskyFeedRepost: 'app.bsky.feed.repost',\n AppBskyFeedSetVote: 'app.bsky.feed.setVote',\n AppBskyFeedTrend: 'app.bsky.feed.trend',\n AppBskyFeedVote: 'app.bsky.feed.vote',\n AppBskyGraphAssertCreator: 'app.bsky.graph.assertCreator',\n AppBskyGraphAssertMember: 'app.bsky.graph.assertMember',\n AppBskyGraphAssertion: 'app.bsky.graph.assertion',\n AppBskyGraphConfirmation: 'app.bsky.graph.confirmation',\n AppBskyGraphFollow: 'app.bsky.graph.follow',\n AppBskyGraphGetAssertions: 'app.bsky.graph.getAssertions',\n AppBskyGraphGetFollowers: 'app.bsky.graph.getFollowers',\n AppBskyGraphGetFollows: 'app.bsky.graph.getFollows',\n AppBskyGraphGetMembers: 'app.bsky.graph.getMembers',\n AppBskyGraphGetMemberships: 'app.bsky.graph.getMemberships',\n AppBskyNotificationGetCount: 'app.bsky.notification.getCount',\n AppBskyNotificationList: 'app.bsky.notification.list',\n AppBskyNotificationUpdateSeen: 'app.bsky.notification.updateSeen',\n AppBskySystemActorScene: 'app.bsky.system.actorScene',\n AppBskySystemActorUser: 'app.bsky.system.actorUser',\n AppBskySystemDeclRef: 'app.bsky.system.declRef',\n AppBskySystemDeclaration: 'app.bsky.system.declaration',\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n email: string\n handle: string\n inviteCode?: string\n password: string\n recoveryKey?: string\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n accessJwt: string\n refreshJwt: string\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class InvalidHandleError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidPasswordError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidInviteCodeError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class HandleNotAvailableError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'InvalidHandle') return new InvalidHandleError(e)\n if (e.error === 'InvalidPassword') return new InvalidPasswordError(e)\n if (e.error === 'InvalidInviteCode') return new InvalidInviteCodeError(e)\n if (e.error === 'HandleNotAvailable') return new HandleNotAvailableError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n useCount: number\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n code: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n email: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n token: string\n password: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport class ExpiredTokenError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidTokenError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'ExpiredToken') return new ExpiredTokenError(e)\n if (e.error === 'InvalidToken') return new InvalidTokenError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = string | Uint8Array\n\nexport interface OutputSchema {\n cid: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: '*/*'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class InvalidBlobError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'InvalidBlob') return new InvalidBlobError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle to resolve. If not supplied, will resolve the host's own handle. */\n handle?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** Validate the records? */\n validate?: boolean\n writes: (Create | Update | Delete)[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Create {\n action: 'create'\n collection: string\n rkey?: string\n value: {}\n [k: string]: unknown\n}\n\nexport interface Update {\n action: 'update'\n collection: string\n rkey: string\n value: {}\n [k: string]: unknown\n}\n\nexport interface Delete {\n action: 'delete'\n collection: string\n rkey: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** The NSID of the record collection. */\n collection: string\n /** Validate the record? */\n validate?: boolean\n /** The record to create. */\n record: {}\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n uri: string\n cid: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** The NSID of the record collection. */\n collection: string\n /** The key of the record. */\n rkey: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle or DID of the repo. */\n user: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n handle: string\n did: string\n didDoc: {}\n collections: string[]\n handleIsCorrect: boolean\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle or DID of the repo. */\n user: string\n /** The NSID of the collection. */\n collection: string\n /** The key of the record. */\n rkey: string\n /** The CID of the version of the record. If not specified, then return the most recent version. */\n cid?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n uri: string\n cid?: string\n value: {}\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle or DID of the repo. */\n user: string\n /** The NSID of the record type. */\n collection: string\n /** The number of records to return. */\n limit?: number\n /** A TID to filter the range of records returned. */\n before?: string\n /** A TID to filter the range of records returned. */\n after?: string\n /** Reverse the order of the returned records? */\n reverse?: boolean\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n records: Record[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Record {\n uri: string\n cid: string\n value: {}\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** The NSID of the record type. */\n collection: string\n /** The TID of the record. */\n rkey: string\n /** Validate the record? */\n validate?: boolean\n /** The record to create. */\n record: {}\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n uri: string\n cid: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n inviteCodeRequired?: boolean\n availableUserDomains: string[]\n links?: Links\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Links {\n privacyPolicy?: string\n termsOfService?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n handle: string\n password: string\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n accessJwt: string\n refreshJwt: string\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n accessJwt: string\n refreshJwt: string\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The DID of the repo. */\n did: string\n /** A past commit CID. */\n from?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: Uint8Array\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The DID of the repo. */\n did: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n root: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The DID of the repo. */\n did: string\n}\n\nexport type InputSchema = string | Uint8Array\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/cbor'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n handle: string\n recoveryKey?: string\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n handle: string\n did: string\n declaration: AppBskySystemDeclRef.Main\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class InvalidHandleError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class HandleNotAvailableError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'InvalidHandle') return new InvalidHandleError(e)\n if (e.error === 'HandleNotAvailable') return new HandleNotAvailableError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n actor: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n creator: string\n displayName?: string\n description?: string\n avatar?: string\n followersCount: number\n followsCount: number\n membersCount: number\n postsCount: number\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface MyState {\n follow?: string\n member?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n limit?: number\n cursor?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n actors: Actor[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Actor {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n description?: string\n avatar?: string\n indexedAt?: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface MyState {\n follow?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n term: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n users: User[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface User {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n description?: string\n indexedAt?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n term: string\n limit?: number\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n users: User[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface User {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n did?: string\n displayName?: string\n description?: string\n avatar?: { cid: string; mimeType: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n uri: string\n cid: string\n record: {}\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskyFeedEmbed from './embed'\n\nexport interface QueryParams {\n author: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n feed: FeedItem[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface FeedItem {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n trendedBy?: AppBskyActorRef.WithInfo\n repostedBy?: AppBskyActorRef.WithInfo\n record: {}\n embed?: AppBskyFeedEmbed.Main\n replyCount: number\n repostCount: number\n upvoteCount: number\n downvoteCount: number\n indexedAt: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface MyState {\n repost?: string\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskyFeedEmbed from './embed'\n\nexport interface QueryParams {\n uri: string\n depth?: number\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n thread: Post | NotFoundPost | { $type: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class NotFoundError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'NotFound') return new NotFoundError(e)\n }\n return e\n}\n\nexport interface Post {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n record: {}\n embed?: AppBskyFeedEmbed.Main\n parent?: Post | NotFoundPost | { $type: string; [k: string]: unknown }\n replyCount: number\n replies?: (Post | NotFoundPost | { $type: string; [k: string]: unknown })[]\n repostCount: number\n upvoteCount: number\n downvoteCount: number\n indexedAt: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface NotFoundPost {\n uri: string\n notFound: true\n [k: string]: unknown\n}\n\nexport interface MyState {\n repost?: string\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n uri: string\n cid?: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n uri: string\n cid?: string\n cursor?: string\n repostedBy: RepostedBy[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface RepostedBy {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskyFeedEmbed from './embed'\n\nexport interface QueryParams {\n algorithm?: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n feed: FeedItem[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface FeedItem {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n trendedBy?: AppBskyActorRef.WithInfo\n repostedBy?: AppBskyActorRef.WithInfo\n record: {}\n embed?: AppBskyFeedEmbed.Main\n replyCount: number\n repostCount: number\n upvoteCount: number\n downvoteCount: number\n indexedAt: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface MyState {\n repost?: string\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface QueryParams {\n uri: string\n cid?: string\n direction?: 'up' | 'down'\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n uri: string\n cid?: string\n cursor?: string\n votes: Vote[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Vote {\n direction: 'up' | 'down'\n indexedAt: string\n createdAt: string\n actor: AppBskyActorRef.WithInfo\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n subject: ComAtprotoRepoStrongRef.Main\n direction: 'up' | 'down' | 'none'\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface QueryParams {\n author?: string\n subject?: string\n assertion?: string\n confirmed?: boolean\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n assertions: Assertion[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Assertion {\n uri: string\n cid: string\n assertion: string\n confirmation?: Confirmation\n author: AppBskyActorRef.WithInfo\n subject: AppBskyActorRef.WithInfo\n indexedAt: string\n createdAt: string\n [k: string]: unknown\n}\n\nexport interface Confirmation {\n uri: string\n cid: string\n indexedAt: string\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n user: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n followers: Follower[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Follower {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n user: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n follows: Follow[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Follow {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n actor: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n members: Member[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Member {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n actor: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n memberships: Membership[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Membership {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n count: number\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface QueryParams {\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n notifications: Notification[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Notification {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n /** Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'. */\n reason:\n | 'vote'\n | 'repost'\n | 'trend'\n | 'follow'\n | 'invite'\n | 'mention'\n | 'reply'\n | (string & {})\n reasonSubject?: string\n record: {}\n isRead: boolean\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n seenAt: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nexport interface Main {\n uri: string\n cid: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nexport interface Record {\n displayName: string\n description?: string\n avatar?: { cid: string; mimeType: string; [k: string]: unknown }\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface Main {\n did: string\n declarationCid: string\n [k: string]: unknown\n}\n\nexport interface WithInfo {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\n\n/** A list embeds in a post or document. */\nexport interface Main {\n items?: (\n | Media\n | Record\n | External\n | { $type: string; [k: string]: unknown }\n )[]\n [k: string]: unknown\n}\n\nexport interface Media {\n alt?: string\n thumb?: { cid: string; mimeType: string; [k: string]: unknown }\n original: { cid: string; mimeType: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface Record {\n type: 'record'\n author: AppBskyActorRef.WithInfo\n record: {}\n [k: string]: unknown\n}\n\nexport interface External {\n type: 'external'\n uri: string\n title: string\n description: string\n imageUri: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n text: string\n entities?: Entity[]\n reply?: ReplyRef\n createdAt: string\n [k: string]: unknown\n}\n\nexport interface ReplyRef {\n root: ComAtprotoRepoStrongRef.Main\n parent: ComAtprotoRepoStrongRef.Main\n [k: string]: unknown\n}\n\nexport interface Entity {\n index: TextSlice\n /** Expected values are 'mention', 'hashtag', and 'link'. */\n type: string\n value: string\n [k: string]: unknown\n}\n\nexport interface TextSlice {\n start: number\n end: number\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n subject: ComAtprotoRepoStrongRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n subject: ComAtprotoRepoStrongRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n subject: ComAtprotoRepoStrongRef.Main\n direction: 'up' | 'down'\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Assertion type: Creator. Defined for app.bsky.graph.assertions's assertion. */\nexport const MAIN = 'app.bsky.graph.assertCreator#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Assertion type: Member. Defined for app.bsky.graph.assertions's assertion. */\nexport const MAIN = 'app.bsky.graph.assertMember#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface Record {\n assertion: string\n subject: AppBskyActorRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n originator: AppBskyActorRef.Main\n assertion: ComAtprotoRepoStrongRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface Record {\n subject: AppBskyActorRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Actor type: Scene. Defined for app.bsky.system.declaration's actorType. */\nexport const MAIN = 'app.bsky.system.actorScene#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Actor type: User. Defined for app.bsky.system.declaration's actorType. */\nexport const MAIN = 'app.bsky.system.actorUser#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** A reference to a app.bsky.system.declaration record. */\nexport interface Main {\n cid: string\n actorType:\n | 'app.bsky.system.actorUser'\n | 'app.bsky.system.actorScene'\n | (string & {})\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nexport interface Record {\n actorType:\n | 'app.bsky.system.actorUser'\n | 'app.bsky.system.actorScene'\n | (string & {})\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport {\n Client as XrpcClient,\n ServiceClient as XrpcServiceClient,\n} from '@atproto/xrpc'\nimport { lexicons } from './lexicons'\nimport * as ComAtprotoAccountCreate from './types/com/atproto/account/create'\nimport * as ComAtprotoAccountCreateInviteCode from './types/com/atproto/account/createInviteCode'\nimport * as ComAtprotoAccountDelete from './types/com/atproto/account/delete'\nimport * as ComAtprotoAccountGet from './types/com/atproto/account/get'\nimport * as ComAtprotoAccountRequestPasswordReset from './types/com/atproto/account/requestPasswordReset'\nimport * as ComAtprotoAccountResetPassword from './types/com/atproto/account/resetPassword'\nimport * as ComAtprotoBlobUpload from './types/com/atproto/blob/upload'\nimport * as ComAtprotoHandleResolve from './types/com/atproto/handle/resolve'\nimport * as ComAtprotoRepoBatchWrite from './types/com/atproto/repo/batchWrite'\nimport * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord'\nimport * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord'\nimport * as ComAtprotoRepoDescribe from './types/com/atproto/repo/describe'\nimport * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord'\nimport * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords'\nimport * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord'\nimport * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef'\nimport * as ComAtprotoServerGetAccountsConfig from './types/com/atproto/server/getAccountsConfig'\nimport * as ComAtprotoSessionCreate from './types/com/atproto/session/create'\nimport * as ComAtprotoSessionDelete from './types/com/atproto/session/delete'\nimport * as ComAtprotoSessionGet from './types/com/atproto/session/get'\nimport * as ComAtprotoSessionRefresh from './types/com/atproto/session/refresh'\nimport * as ComAtprotoSyncGetRepo from './types/com/atproto/sync/getRepo'\nimport * as ComAtprotoSyncGetRoot from './types/com/atproto/sync/getRoot'\nimport * as ComAtprotoSyncUpdateRepo from './types/com/atproto/sync/updateRepo'\nimport * as AppBskyActorCreateScene from './types/app/bsky/actor/createScene'\nimport * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile'\nimport * as AppBskyActorGetSuggestions from './types/app/bsky/actor/getSuggestions'\nimport * as AppBskyActorProfile from './types/app/bsky/actor/profile'\nimport * as AppBskyActorRef from './types/app/bsky/actor/ref'\nimport * as AppBskyActorSearch from './types/app/bsky/actor/search'\nimport * as AppBskyActorSearchTypeahead from './types/app/bsky/actor/searchTypeahead'\nimport * as AppBskyActorUpdateProfile from './types/app/bsky/actor/updateProfile'\nimport * as AppBskyFeedEmbed from './types/app/bsky/feed/embed'\nimport * as AppBskyFeedGetAuthorFeed from './types/app/bsky/feed/getAuthorFeed'\nimport * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread'\nimport * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy'\nimport * as AppBskyFeedGetTimeline from './types/app/bsky/feed/getTimeline'\nimport * as AppBskyFeedGetVotes from './types/app/bsky/feed/getVotes'\nimport * as AppBskyFeedPost from './types/app/bsky/feed/post'\nimport * as AppBskyFeedRepost from './types/app/bsky/feed/repost'\nimport * as AppBskyFeedSetVote from './types/app/bsky/feed/setVote'\nimport * as AppBskyFeedTrend from './types/app/bsky/feed/trend'\nimport * as AppBskyFeedVote from './types/app/bsky/feed/vote'\nimport * as AppBskyGraphAssertCreator from './types/app/bsky/graph/assertCreator'\nimport * as AppBskyGraphAssertMember from './types/app/bsky/graph/assertMember'\nimport * as AppBskyGraphAssertion from './types/app/bsky/graph/assertion'\nimport * as AppBskyGraphConfirmation from './types/app/bsky/graph/confirmation'\nimport * as AppBskyGraphFollow from './types/app/bsky/graph/follow'\nimport * as AppBskyGraphGetAssertions from './types/app/bsky/graph/getAssertions'\nimport * as AppBskyGraphGetFollowers from './types/app/bsky/graph/getFollowers'\nimport * as AppBskyGraphGetFollows from './types/app/bsky/graph/getFollows'\nimport * as AppBskyGraphGetMembers from './types/app/bsky/graph/getMembers'\nimport * as AppBskyGraphGetMemberships from './types/app/bsky/graph/getMemberships'\nimport * as AppBskyNotificationGetCount from './types/app/bsky/notification/getCount'\nimport * as AppBskyNotificationList from './types/app/bsky/notification/list'\nimport * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'\nimport * as AppBskySystemActorScene from './types/app/bsky/system/actorScene'\nimport * as AppBskySystemActorUser from './types/app/bsky/system/actorUser'\nimport * as AppBskySystemDeclRef from './types/app/bsky/system/declRef'\nimport * as AppBskySystemDeclaration from './types/app/bsky/system/declaration'\n\nexport * as ComAtprotoAccountCreate from './types/com/atproto/account/create'\nexport * as ComAtprotoAccountCreateInviteCode from './types/com/atproto/account/createInviteCode'\nexport * as ComAtprotoAccountDelete from './types/com/atproto/account/delete'\nexport * as ComAtprotoAccountGet from './types/com/atproto/account/get'\nexport * as ComAtprotoAccountRequestPasswordReset from './types/com/atproto/account/requestPasswordReset'\nexport * as ComAtprotoAccountResetPassword from './types/com/atproto/account/resetPassword'\nexport * as ComAtprotoBlobUpload from './types/com/atproto/blob/upload'\nexport * as ComAtprotoHandleResolve from './types/com/atproto/handle/resolve'\nexport * as ComAtprotoRepoBatchWrite from './types/com/atproto/repo/batchWrite'\nexport * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord'\nexport * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord'\nexport * as ComAtprotoRepoDescribe from './types/com/atproto/repo/describe'\nexport * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord'\nexport * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords'\nexport * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord'\nexport * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef'\nexport * as ComAtprotoServerGetAccountsConfig from './types/com/atproto/server/getAccountsConfig'\nexport * as ComAtprotoSessionCreate from './types/com/atproto/session/create'\nexport * as ComAtprotoSessionDelete from './types/com/atproto/session/delete'\nexport * as ComAtprotoSessionGet from './types/com/atproto/session/get'\nexport * as ComAtprotoSessionRefresh from './types/com/atproto/session/refresh'\nexport * as ComAtprotoSyncGetRepo from './types/com/atproto/sync/getRepo'\nexport * as ComAtprotoSyncGetRoot from './types/com/atproto/sync/getRoot'\nexport * as ComAtprotoSyncUpdateRepo from './types/com/atproto/sync/updateRepo'\nexport * as AppBskyActorCreateScene from './types/app/bsky/actor/createScene'\nexport * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile'\nexport * as AppBskyActorGetSuggestions from './types/app/bsky/actor/getSuggestions'\nexport * as AppBskyActorProfile from './types/app/bsky/actor/profile'\nexport * as AppBskyActorRef from './types/app/bsky/actor/ref'\nexport * as AppBskyActorSearch from './types/app/bsky/actor/search'\nexport * as AppBskyActorSearchTypeahead from './types/app/bsky/actor/searchTypeahead'\nexport * as AppBskyActorUpdateProfile from './types/app/bsky/actor/updateProfile'\nexport * as AppBskyFeedEmbed from './types/app/bsky/feed/embed'\nexport * as AppBskyFeedGetAuthorFeed from './types/app/bsky/feed/getAuthorFeed'\nexport * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread'\nexport * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy'\nexport * as AppBskyFeedGetTimeline from './types/app/bsky/feed/getTimeline'\nexport * as AppBskyFeedGetVotes from './types/app/bsky/feed/getVotes'\nexport * as AppBskyFeedPost from './types/app/bsky/feed/post'\nexport * as AppBskyFeedRepost from './types/app/bsky/feed/repost'\nexport * as AppBskyFeedSetVote from './types/app/bsky/feed/setVote'\nexport * as AppBskyFeedTrend from './types/app/bsky/feed/trend'\nexport * as AppBskyFeedVote from './types/app/bsky/feed/vote'\nexport * as AppBskyGraphAssertCreator from './types/app/bsky/graph/assertCreator'\nexport * as AppBskyGraphAssertMember from './types/app/bsky/graph/assertMember'\nexport * as AppBskyGraphAssertion from './types/app/bsky/graph/assertion'\nexport * as AppBskyGraphConfirmation from './types/app/bsky/graph/confirmation'\nexport * as AppBskyGraphFollow from './types/app/bsky/graph/follow'\nexport * as AppBskyGraphGetAssertions from './types/app/bsky/graph/getAssertions'\nexport * as AppBskyGraphGetFollowers from './types/app/bsky/graph/getFollowers'\nexport * as AppBskyGraphGetFollows from './types/app/bsky/graph/getFollows'\nexport * as AppBskyGraphGetMembers from './types/app/bsky/graph/getMembers'\nexport * as AppBskyGraphGetMemberships from './types/app/bsky/graph/getMemberships'\nexport * as AppBskyNotificationGetCount from './types/app/bsky/notification/getCount'\nexport * as AppBskyNotificationList from './types/app/bsky/notification/list'\nexport * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'\nexport * as AppBskySystemActorScene from './types/app/bsky/system/actorScene'\nexport * as AppBskySystemActorUser from './types/app/bsky/system/actorUser'\nexport * as AppBskySystemDeclRef from './types/app/bsky/system/declRef'\nexport * as AppBskySystemDeclaration from './types/app/bsky/system/declaration'\n\nexport const APP_BSKY_GRAPH = {\n AssertCreator: 'app.bsky.graph.assertCreator',\n AssertMember: 'app.bsky.graph.assertMember',\n}\nexport const APP_BSKY_SYSTEM = {\n ActorScene: 'app.bsky.system.actorScene',\n ActorUser: 'app.bsky.system.actorUser',\n}\n\nexport class Client {\n xrpc: XrpcClient = new XrpcClient()\n\n constructor() {\n this.xrpc.addLexicons(lexicons)\n }\n\n service(serviceUri: string | URL): ServiceClient {\n return new ServiceClient(this, this.xrpc.service(serviceUri))\n }\n}\n\nconst defaultInst = new Client()\nexport default defaultInst\n\nexport class ServiceClient {\n _baseClient: Client\n xrpc: XrpcServiceClient\n com: ComNS\n app: AppNS\n\n constructor(baseClient: Client, xrpcService: XrpcServiceClient) {\n this._baseClient = baseClient\n this.xrpc = xrpcService\n this.com = new ComNS(this)\n this.app = new AppNS(this)\n }\n\n setHeader(key: string, value: string): void {\n this.xrpc.setHeader(key, value)\n }\n}\n\nexport class ComNS {\n _service: ServiceClient\n atproto: AtprotoNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.atproto = new AtprotoNS(service)\n }\n}\n\nexport class AtprotoNS {\n _service: ServiceClient\n account: AccountNS\n blob: BlobNS\n handle: HandleNS\n repo: RepoNS\n server: ServerNS\n session: SessionNS\n sync: SyncNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.account = new AccountNS(service)\n this.blob = new BlobNS(service)\n this.handle = new HandleNS(service)\n this.repo = new RepoNS(service)\n this.server = new ServerNS(service)\n this.session = new SessionNS(service)\n this.sync = new SyncNS(service)\n }\n}\n\nexport class AccountNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n create(\n data?: ComAtprotoAccountCreate.InputSchema,\n opts?: ComAtprotoAccountCreate.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.create', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountCreate.toKnownErr(e)\n })\n }\n\n createInviteCode(\n data?: ComAtprotoAccountCreateInviteCode.InputSchema,\n opts?: ComAtprotoAccountCreateInviteCode.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.createInviteCode', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountCreateInviteCode.toKnownErr(e)\n })\n }\n\n delete(\n data?: ComAtprotoAccountDelete.InputSchema,\n opts?: ComAtprotoAccountDelete.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.delete', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountDelete.toKnownErr(e)\n })\n }\n\n get(\n params?: ComAtprotoAccountGet.QueryParams,\n opts?: ComAtprotoAccountGet.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.get', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoAccountGet.toKnownErr(e)\n })\n }\n\n requestPasswordReset(\n data?: ComAtprotoAccountRequestPasswordReset.InputSchema,\n opts?: ComAtprotoAccountRequestPasswordReset.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.requestPasswordReset', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountRequestPasswordReset.toKnownErr(e)\n })\n }\n\n resetPassword(\n data?: ComAtprotoAccountResetPassword.InputSchema,\n opts?: ComAtprotoAccountResetPassword.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.resetPassword', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountResetPassword.toKnownErr(e)\n })\n }\n}\n\nexport class BlobNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n upload(\n data?: ComAtprotoBlobUpload.InputSchema,\n opts?: ComAtprotoBlobUpload.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.blob.upload', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoBlobUpload.toKnownErr(e)\n })\n }\n}\n\nexport class HandleNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n resolve(\n params?: ComAtprotoHandleResolve.QueryParams,\n opts?: ComAtprotoHandleResolve.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.handle.resolve', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoHandleResolve.toKnownErr(e)\n })\n }\n}\n\nexport class RepoNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n batchWrite(\n data?: ComAtprotoRepoBatchWrite.InputSchema,\n opts?: ComAtprotoRepoBatchWrite.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.batchWrite', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoBatchWrite.toKnownErr(e)\n })\n }\n\n createRecord(\n data?: ComAtprotoRepoCreateRecord.InputSchema,\n opts?: ComAtprotoRepoCreateRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.createRecord', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoCreateRecord.toKnownErr(e)\n })\n }\n\n deleteRecord(\n data?: ComAtprotoRepoDeleteRecord.InputSchema,\n opts?: ComAtprotoRepoDeleteRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.deleteRecord', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoDeleteRecord.toKnownErr(e)\n })\n }\n\n describe(\n params?: ComAtprotoRepoDescribe.QueryParams,\n opts?: ComAtprotoRepoDescribe.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.describe', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoRepoDescribe.toKnownErr(e)\n })\n }\n\n getRecord(\n params?: ComAtprotoRepoGetRecord.QueryParams,\n opts?: ComAtprotoRepoGetRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.getRecord', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoRepoGetRecord.toKnownErr(e)\n })\n }\n\n listRecords(\n params?: ComAtprotoRepoListRecords.QueryParams,\n opts?: ComAtprotoRepoListRecords.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.listRecords', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoRepoListRecords.toKnownErr(e)\n })\n }\n\n putRecord(\n data?: ComAtprotoRepoPutRecord.InputSchema,\n opts?: ComAtprotoRepoPutRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.putRecord', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoPutRecord.toKnownErr(e)\n })\n }\n}\n\nexport class ServerNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n getAccountsConfig(\n params?: ComAtprotoServerGetAccountsConfig.QueryParams,\n opts?: ComAtprotoServerGetAccountsConfig.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.server.getAccountsConfig', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoServerGetAccountsConfig.toKnownErr(e)\n })\n }\n}\n\nexport class SessionNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n create(\n data?: ComAtprotoSessionCreate.InputSchema,\n opts?: ComAtprotoSessionCreate.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.create', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSessionCreate.toKnownErr(e)\n })\n }\n\n delete(\n data?: ComAtprotoSessionDelete.InputSchema,\n opts?: ComAtprotoSessionDelete.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.delete', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSessionDelete.toKnownErr(e)\n })\n }\n\n get(\n params?: ComAtprotoSessionGet.QueryParams,\n opts?: ComAtprotoSessionGet.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.get', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoSessionGet.toKnownErr(e)\n })\n }\n\n refresh(\n data?: ComAtprotoSessionRefresh.InputSchema,\n opts?: ComAtprotoSessionRefresh.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.refresh', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSessionRefresh.toKnownErr(e)\n })\n }\n}\n\nexport class SyncNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n getRepo(\n params?: ComAtprotoSyncGetRepo.QueryParams,\n opts?: ComAtprotoSyncGetRepo.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.sync.getRepo', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoSyncGetRepo.toKnownErr(e)\n })\n }\n\n getRoot(\n params?: ComAtprotoSyncGetRoot.QueryParams,\n opts?: ComAtprotoSyncGetRoot.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.sync.getRoot', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoSyncGetRoot.toKnownErr(e)\n })\n }\n\n updateRepo(\n data?: ComAtprotoSyncUpdateRepo.InputSchema,\n opts?: ComAtprotoSyncUpdateRepo.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.sync.updateRepo', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSyncUpdateRepo.toKnownErr(e)\n })\n }\n}\n\nexport class AppNS {\n _service: ServiceClient\n bsky: BskyNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.bsky = new BskyNS(service)\n }\n}\n\nexport class BskyNS {\n _service: ServiceClient\n actor: ActorNS\n feed: FeedNS\n graph: GraphNS\n notification: NotificationNS\n system: SystemNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.actor = new ActorNS(service)\n this.feed = new FeedNS(service)\n this.graph = new GraphNS(service)\n this.notification = new NotificationNS(service)\n this.system = new SystemNS(service)\n }\n}\n\nexport class ActorNS {\n _service: ServiceClient\n profile: ProfileRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.profile = new ProfileRecord(service)\n }\n\n createScene(\n data?: AppBskyActorCreateScene.InputSchema,\n opts?: AppBskyActorCreateScene.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.createScene', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyActorCreateScene.toKnownErr(e)\n })\n }\n\n getProfile(\n params?: AppBskyActorGetProfile.QueryParams,\n opts?: AppBskyActorGetProfile.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.getProfile', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorGetProfile.toKnownErr(e)\n })\n }\n\n getSuggestions(\n params?: AppBskyActorGetSuggestions.QueryParams,\n opts?: AppBskyActorGetSuggestions.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.getSuggestions', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorGetSuggestions.toKnownErr(e)\n })\n }\n\n search(\n params?: AppBskyActorSearch.QueryParams,\n opts?: AppBskyActorSearch.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.search', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorSearch.toKnownErr(e)\n })\n }\n\n searchTypeahead(\n params?: AppBskyActorSearchTypeahead.QueryParams,\n opts?: AppBskyActorSearchTypeahead.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.searchTypeahead', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorSearchTypeahead.toKnownErr(e)\n })\n }\n\n updateProfile(\n data?: AppBskyActorUpdateProfile.InputSchema,\n opts?: AppBskyActorUpdateProfile.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.updateProfile', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyActorUpdateProfile.toKnownErr(e)\n })\n }\n}\n\nexport class ProfileRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyActorProfile.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.actor.profile',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyActorProfile.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.actor.profile',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyActorProfile.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.actor.profile'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.actor.profile', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.actor.profile', ...params },\n { headers },\n )\n }\n}\n\nexport class FeedNS {\n _service: ServiceClient\n post: PostRecord\n repost: RepostRecord\n trend: TrendRecord\n vote: VoteRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.post = new PostRecord(service)\n this.repost = new RepostRecord(service)\n this.trend = new TrendRecord(service)\n this.vote = new VoteRecord(service)\n }\n\n getAuthorFeed(\n params?: AppBskyFeedGetAuthorFeed.QueryParams,\n opts?: AppBskyFeedGetAuthorFeed.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getAuthorFeed', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetAuthorFeed.toKnownErr(e)\n })\n }\n\n getPostThread(\n params?: AppBskyFeedGetPostThread.QueryParams,\n opts?: AppBskyFeedGetPostThread.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getPostThread', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetPostThread.toKnownErr(e)\n })\n }\n\n getRepostedBy(\n params?: AppBskyFeedGetRepostedBy.QueryParams,\n opts?: AppBskyFeedGetRepostedBy.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getRepostedBy', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetRepostedBy.toKnownErr(e)\n })\n }\n\n getTimeline(\n params?: AppBskyFeedGetTimeline.QueryParams,\n opts?: AppBskyFeedGetTimeline.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getTimeline', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetTimeline.toKnownErr(e)\n })\n }\n\n getVotes(\n params?: AppBskyFeedGetVotes.QueryParams,\n opts?: AppBskyFeedGetVotes.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getVotes', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetVotes.toKnownErr(e)\n })\n }\n\n setVote(\n data?: AppBskyFeedSetVote.InputSchema,\n opts?: AppBskyFeedSetVote.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.setVote', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyFeedSetVote.toKnownErr(e)\n })\n }\n}\n\nexport class PostRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedPost.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.post',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedPost.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.post',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedPost.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.post'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.post', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.post', ...params },\n { headers },\n )\n }\n}\n\nexport class RepostRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedRepost.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.repost',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedRepost.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.repost',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedRepost.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.repost'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.repost', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.repost', ...params },\n { headers },\n )\n }\n}\n\nexport class TrendRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedTrend.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.trend',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedTrend.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.trend',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedTrend.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.trend'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.trend', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.trend', ...params },\n { headers },\n )\n }\n}\n\nexport class VoteRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedVote.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.vote',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedVote.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.vote',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedVote.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.vote'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.vote', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.vote', ...params },\n { headers },\n )\n }\n}\n\nexport class GraphNS {\n _service: ServiceClient\n assertion: AssertionRecord\n confirmation: ConfirmationRecord\n follow: FollowRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.assertion = new AssertionRecord(service)\n this.confirmation = new ConfirmationRecord(service)\n this.follow = new FollowRecord(service)\n }\n\n getAssertions(\n params?: AppBskyGraphGetAssertions.QueryParams,\n opts?: AppBskyGraphGetAssertions.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getAssertions', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetAssertions.toKnownErr(e)\n })\n }\n\n getFollowers(\n params?: AppBskyGraphGetFollowers.QueryParams,\n opts?: AppBskyGraphGetFollowers.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getFollowers', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetFollowers.toKnownErr(e)\n })\n }\n\n getFollows(\n params?: AppBskyGraphGetFollows.QueryParams,\n opts?: AppBskyGraphGetFollows.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getFollows', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetFollows.toKnownErr(e)\n })\n }\n\n getMembers(\n params?: AppBskyGraphGetMembers.QueryParams,\n opts?: AppBskyGraphGetMembers.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getMembers', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetMembers.toKnownErr(e)\n })\n }\n\n getMemberships(\n params?: AppBskyGraphGetMemberships.QueryParams,\n opts?: AppBskyGraphGetMemberships.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getMemberships', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetMemberships.toKnownErr(e)\n })\n }\n}\n\nexport class AssertionRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyGraphAssertion.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.graph.assertion',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{\n uri: string\n cid: string\n value: AppBskyGraphAssertion.Record\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.graph.assertion',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyGraphAssertion.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.graph.assertion'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.graph.assertion', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.graph.assertion', ...params },\n { headers },\n )\n }\n}\n\nexport class ConfirmationRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyGraphConfirmation.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.graph.confirmation',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{\n uri: string\n cid: string\n value: AppBskyGraphConfirmation.Record\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.graph.confirmation',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyGraphConfirmation.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.graph.confirmation'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.graph.confirmation', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.graph.confirmation', ...params },\n { headers },\n )\n }\n}\n\nexport class FollowRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyGraphFollow.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.graph.follow',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyGraphFollow.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.graph.follow',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyGraphFollow.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.graph.follow'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.graph.follow', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.graph.follow', ...params },\n { headers },\n )\n }\n}\n\nexport class NotificationNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n getCount(\n params?: AppBskyNotificationGetCount.QueryParams,\n opts?: AppBskyNotificationGetCount.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.notification.getCount', params, undefined, opts)\n .catch((e) => {\n throw AppBskyNotificationGetCount.toKnownErr(e)\n })\n }\n\n list(\n params?: AppBskyNotificationList.QueryParams,\n opts?: AppBskyNotificationList.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.notification.list', params, undefined, opts)\n .catch((e) => {\n throw AppBskyNotificationList.toKnownErr(e)\n })\n }\n\n updateSeen(\n data?: AppBskyNotificationUpdateSeen.InputSchema,\n opts?: AppBskyNotificationUpdateSeen.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.notification.updateSeen', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyNotificationUpdateSeen.toKnownErr(e)\n })\n }\n}\n\nexport class SystemNS {\n _service: ServiceClient\n declaration: DeclarationRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.declaration = new DeclarationRecord(service)\n }\n}\n\nexport class DeclarationRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskySystemDeclaration.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.system.declaration',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{\n uri: string\n cid: string\n value: AppBskySystemDeclaration.Record\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.system.declaration',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskySystemDeclaration.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.system.declaration'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.system.declaration', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.system.declaration', ...params },\n { headers },\n )\n }\n}\n", "import {\n CallOptions,\n Client as XrpcClient,\n ServiceClient as XrpcServiceClient,\n QueryParams,\n ResponseType,\n XRPCError,\n XRPCResponse,\n} from '@atproto/xrpc'\nimport EventEmitter from 'events'\nimport TypedEmitter from 'typed-emitter'\nimport { Client, ServiceClient } from './client'\nimport * as CreateSession from './client/types/com/atproto/session/create'\nimport * as RefreshSession from './client/types/com/atproto/session/refresh'\nimport * as CreateAccount from './client/types/com/atproto/session/create'\n\nconst CREATE_SESSION = 'com.atproto.session.create'\nconst REFRESH_SESSION = 'com.atproto.session.refresh'\nconst DELETE_SESSION = 'com.atproto.session.delete'\nconst CREATE_ACCOUNT = 'com.atproto.account.create'\n\nexport class SessionClient extends Client {\n service(serviceUri: string | URL): SessionServiceClient {\n const xrpcService = new SessionXrpcServiceClient(this.xrpc, serviceUri)\n return new SessionServiceClient(this, xrpcService)\n }\n}\n\nconst defaultInst = new SessionClient()\nexport default defaultInst\n\nexport class SessionServiceClient extends ServiceClient {\n xrpc: SessionXrpcServiceClient\n sessionManager: SessionManager\n constructor(baseClient: Client, xrpcService: SessionXrpcServiceClient) {\n super(baseClient, xrpcService)\n this.sessionManager = this.xrpc.sessionManager\n }\n}\n\nexport class SessionXrpcServiceClient extends XrpcServiceClient {\n sessionManager = new SessionManager()\n refreshing?: Promise\n\n constructor(baseClient: XrpcClient, serviceUri: string | URL) {\n super(baseClient, serviceUri)\n this.sessionManager.on('session', () => {\n // Maintain access token headers when session changes\n const accessHeaders = this.sessionManager.accessHeaders()\n if (accessHeaders) {\n this.setHeader('authorization', accessHeaders.authorization)\n } else {\n this.unsetHeader('authorization')\n }\n })\n }\n\n async call(\n methodNsid: string,\n params?: QueryParams,\n data?: unknown,\n opts?: CallOptions,\n ) {\n const original = (overrideOpts?: CallOptions) =>\n super.call(methodNsid, params, data, overrideOpts ?? opts)\n\n // If someone is setting credentials manually, pass through as an escape hatch\n if (opts?.headers?.authorization) {\n return await original()\n }\n\n // Manage concurrent refreshes on session refresh\n if (methodNsid === REFRESH_SESSION) {\n return await this.refresh(opts)\n }\n\n // Complete any pending session refresh and then continue onto the original request with fresh credentials\n await this.refreshing\n\n // Setup session on session or account creation\n if (methodNsid === CREATE_SESSION || methodNsid === CREATE_ACCOUNT) {\n const result = await original()\n const { accessJwt, refreshJwt } =\n result.data as CreateSession.OutputSchema & CreateAccount.OutputSchema\n this.sessionManager.set({ accessJwt, refreshJwt })\n return result\n }\n\n // Clear session on session deletion\n if (methodNsid === DELETE_SESSION) {\n const result = await original({\n ...opts,\n headers: {\n ...opts?.headers,\n ...this.sessionManager.refreshHeaders(),\n },\n })\n this.sessionManager.unset()\n return result\n }\n\n // For all other requests, if failed due to an expired token, refresh and retry with fresh credentials\n try {\n return await original()\n } catch (err) {\n if (\n err instanceof XRPCError &&\n err.status === ResponseType.InvalidRequest &&\n err.error === 'ExpiredToken' &&\n this.sessionManager.active()\n ) {\n await this.refresh(opts)\n return await original()\n }\n throw err\n }\n }\n\n // Ensures a single refresh request at a time, deduping concurrent requests.\n async refresh(opts?: CallOptions) {\n this.refreshing ??= this._refresh(opts)\n try {\n return await this.refreshing\n } finally {\n this.refreshing = undefined\n }\n }\n\n private async _refresh(opts?: CallOptions) {\n try {\n const result = await super.call(REFRESH_SESSION, undefined, undefined, {\n ...opts,\n headers: {\n ...opts?.headers,\n ...this.sessionManager.refreshHeaders(),\n },\n })\n const { accessJwt, refreshJwt } =\n result.data as RefreshSession.OutputSchema\n this.sessionManager.set({ accessJwt, refreshJwt })\n return result\n } catch (err) {\n if (\n err instanceof XRPCError &&\n err.status === ResponseType.InvalidRequest &&\n (err.error === 'ExpiredToken' || err.error === 'InvalidToken')\n ) {\n this.sessionManager.unset()\n }\n throw err\n }\n }\n}\n\nexport class SessionManager extends (EventEmitter as new () => TypedEmitter) {\n session?: Session\n get() {\n return this.session\n }\n set(session: Session) {\n this.session = session\n this.emit('session', session)\n }\n unset() {\n this.session = undefined\n this.emit('session', undefined)\n }\n active() {\n return !!this.session\n }\n accessHeaders() {\n return (\n this.session && {\n authorization: `Bearer ${this.session.accessJwt}`,\n }\n )\n }\n refreshHeaders() {\n return (\n this.session && {\n authorization: `Bearer ${this.session.refreshJwt}`,\n }\n )\n }\n}\n\nexport type Session = {\n refreshJwt: string\n accessJwt: string\n}\n\ntype SessionEvents = {\n session: (session?: Session) => void\n}\n"], - "mappings": "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", - "names": ["Client", "create_exports", "delete_exports", "get_exports", "ServiceClient", "util", "object", "array", "params", "errorUtil", "errorMap", "ctx", "result", "objectUtil", "issues", "elements", "processed", "ZodFirstPartyTypeKind", "ResponseType", "lexicons", "lexicons", "validate", "lexicons", "lexicons", "validate", "lexicons", "lexicons", "params", "params", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "create_exports", "toKnownErr", "toKnownErr", "delete_exports", "toKnownErr", "toKnownErr", "get_exports", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "HandleNotAvailableError", "InvalidHandleError", "toKnownErr", "InvalidHandleError", "HandleNotAvailableError", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "MAIN", "MAIN", "MAIN", "Client", "ServiceClient", "defaultInst", "toKnownErr", "params", "Client", "defaultInst", "ServiceClient", "params", "EventEmitter"] + "sourcesContent": ["export * from './client'\nexport { default } from './client'\nexport * from './session'\nexport { default as sessionClient } from './session'\n", "var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be greater than ${issue.inclusive ? `or equal to ` : ``}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be greater than ${issue.inclusive ? `or equal to ` : ``}${new Date(issue.minimum)}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be less than ${issue.inclusive ? `or equal to ` : ``}${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be smaller than ${issue.inclusive ? `or equal to ` : ``}${new Date(issue.maximum)}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message || errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n syncPairs.push({\n key: await pair.key,\n value: await pair.value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (typeof value.value !== \"undefined\" || pair.alwaysSet) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== undefined && x instanceof Promise;\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n return this._path.concat(this._key);\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n const error = new ZodError(ctx.common.issues);\n return { success: false, error };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this.superRefine = this._refinement;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.default = this.default.bind(this);\n this.describe = this.describe.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: [], parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n optional() {\n return ZodOptional.create(this);\n }\n nullable() {\n return ZodNullable.create(this);\n }\n nullish() {\n return this.optional().nullable();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this);\n }\n or(option) {\n return ZodUnion.create([this, option]);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming);\n }\n transform(transform) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(undefined),\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst uuidRegex = /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n// eslint-disable-next-line\nconst emailRegex = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\nclass ZodString extends ZodType {\n constructor() {\n super(...arguments);\n this._regex = (regex, validation, message) => this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n /**\n * @deprecated Use z.string().min(1) instead.\n * @see {@link ZodString.min}\n */\n this.nonempty = (message) => this.min(1, errorUtil.errToObj(message));\n this.trim = () => new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n }\n //\n );\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this.min(len, message).max(len, message);\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\");\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all(ctx.data.map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = ctx.data.map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return this.min(len, message).max(len, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////\n/////////////////////////////////////////\n////////// //////////\n////////// ZodObject //////////\n////////// //////////\n/////////////////////////////////////////\n/////////////////////////////////////////\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second,\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst AugmentFactory = (def) => (augmentation) => {\n return new ZodObject({\n ...def,\n shape: () => ({\n ...def.shape(),\n ...augmentation,\n }),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return ZodArray.create(deepPartialify(schema.element));\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n this.augment = AugmentFactory(this._def);\n this.extend = AugmentFactory(this._def);\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n // const mergedShape = objectUtil.mergeShapes(\n // this._def.shape(),\n // merging._def.shape()\n // );\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).map((key) => {\n // only add to shape if key corresponds to an element of the current shape\n if (this.shape[key])\n shape[key] = this.shape[key];\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).map((key) => {\n if (util.objectKeys(mask).indexOf(key) === -1) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n if (mask) {\n util.objectKeys(this.shape).map((key) => {\n if (util.objectKeys(mask).indexOf(key) === -1) {\n newShape[key] = this.shape[key];\n }\n else {\n newShape[key] = this.shape[key].optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n else {\n for (const key in this.shape) {\n const fieldSchema = this.shape[key];\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required() {\n const newShape = {};\n for (const key in this.shape) {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.options.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: this.validDiscriminatorValues,\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get validDiscriminatorValues() {\n return Array.from(this.options.keys());\n }\n get options() {\n return this._def.options;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, types, params) {\n // Get all the valid discriminator values\n const options = new Map();\n try {\n types.forEach((type) => {\n const discriminatorValue = type.shape[discriminator].value;\n options.set(discriminatorValue, type);\n });\n }\n catch (e) {\n throw new Error(\"The discriminator value could not be extracted from all the provided schemas\");\n }\n // Assert that all the discriminator values are unique\n if (options.size !== types.length) {\n throw new Error(\"Some of the discriminator values are not unique\");\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n type: \"array\",\n });\n status.dirty();\n }\n const items = ctx.data\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n return OK(async (...args) => {\n const error = new ZodError([]);\n const parsedArgs = await this._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await fn(...parsedArgs);\n const parsedReturns = await this._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n return OK((...args) => {\n const parsedArgs = this._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = fn(...parsedArgs.data);\n const parsedReturns = this._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data);\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc\n // effect: RefinementEffect\n ) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n // if (base.status === \"aborted\") return INVALID;\n // if (base.status === \"dirty\") {\n // return { status: \"dirty\", value: base.value };\n // }\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n // if (base.status === \"aborted\") return INVALID;\n // if (base.status === \"dirty\") {\n // return { status: \"dirty\", value: base.value };\n // }\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nconst custom = (check, params = {}, fatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n if (!check(data)) {\n const p = typeof params === \"function\" ? params(data) : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal });\n }\n });\n return ZodAny.create();\n};\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n// new approach that works for abstract classes\n// but required TS 4.4+\n// abstract class Class {\n// constructor(..._: any[]) {}\n// }\n// const instanceOfType = (\nconst instanceOfType = (cls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params, true);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst NEVER = INVALID;\n\nvar mod = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getParsedType: getParsedType,\n ZodParsedType: ZodParsedType,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n ZodType: ZodType,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n get objectUtil () { return objectUtil; },\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPromise, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, custom, dateType as date, mod as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, mod as z };\n", "import { z } from 'zod'\n\nexport type QueryParams = Record\nexport type Headers = Record\n\nexport interface CallOptions {\n encoding?: string\n headers?: Headers\n}\n\nexport interface FetchHandlerResponse {\n status: number\n headers: Headers\n body: ArrayBuffer | undefined\n}\n\nexport type FetchHandler = (\n httpUri: string,\n httpMethod: string,\n httpHeaders: Headers,\n httpReqBody: any,\n) => Promise\n\nexport const errorResponseBody = z.object({\n error: z.string().optional(),\n message: z.string().optional(),\n})\nexport type ErrorResponseBody = z.infer\n\nexport enum ResponseType {\n Unknown = 1,\n InvalidResponse = 2,\n Success = 200,\n InvalidRequest = 400,\n AuthRequired = 401,\n Forbidden = 403,\n XRPCNotSupported = 404,\n PayloadTooLarge = 413,\n RateLimitExceeded = 429,\n InternalServerError = 500,\n MethodNotImplemented = 501,\n UpstreamFailure = 502,\n NotEnoughResouces = 503,\n UpstreamTimeout = 504,\n}\n\nexport const ResponseTypeNames = {\n [ResponseType.InvalidResponse]: 'InvalidResponse',\n [ResponseType.Success]: 'Success',\n [ResponseType.InvalidRequest]: 'InvalidRequest',\n [ResponseType.AuthRequired]: 'AuthenticationRequired',\n [ResponseType.Forbidden]: 'Forbidden',\n [ResponseType.XRPCNotSupported]: 'XRPCNotSupported',\n [ResponseType.PayloadTooLarge]: 'PayloadTooLarge',\n [ResponseType.RateLimitExceeded]: 'RateLimitExceeded',\n [ResponseType.InternalServerError]: 'InternalServerError',\n [ResponseType.MethodNotImplemented]: 'MethodNotImplemented',\n [ResponseType.UpstreamFailure]: 'UpstreamFailure',\n [ResponseType.NotEnoughResouces]: 'NotEnoughResouces',\n [ResponseType.UpstreamTimeout]: 'UpstreamTimeout',\n}\n\nexport const ResponseTypeStrings = {\n [ResponseType.InvalidResponse]: 'Invalid Response',\n [ResponseType.Success]: 'Success',\n [ResponseType.InvalidRequest]: 'Invalid Request',\n [ResponseType.AuthRequired]: 'Authentication Required',\n [ResponseType.Forbidden]: 'Forbidden',\n [ResponseType.XRPCNotSupported]: 'XRPC Not Supported',\n [ResponseType.PayloadTooLarge]: 'Payload Too Large',\n [ResponseType.RateLimitExceeded]: 'Rate Limit Exceeded',\n [ResponseType.InternalServerError]: 'Internal Server Error',\n [ResponseType.MethodNotImplemented]: 'Method Not Implemented',\n [ResponseType.UpstreamFailure]: 'Upstream Failure',\n [ResponseType.NotEnoughResouces]: 'Not Enough Resouces',\n [ResponseType.UpstreamTimeout]: 'Upstream Timeout',\n}\n\nexport class XRPCResponse {\n success = true\n\n constructor(public data: any, public headers: Headers) {}\n}\n\nexport class XRPCError extends Error {\n success = false\n\n constructor(\n public status: ResponseType,\n public error?: string,\n message?: string,\n ) {\n super(message || error || ResponseTypeStrings[status])\n if (!this.error) {\n this.error = ResponseTypeNames[status]\n }\n }\n}\n", "/*\nGrammar:\n\nalpha = \"a\" / \"b\" / \"c\" / \"d\" / \"e\" / \"f\" / \"g\" / \"h\" / \"i\" / \"j\" / \"k\" / \"l\" / \"m\" / \"n\" / \"o\" / \"p\" / \"q\" / \"r\" / \"s\" / \"t\" / \"u\" / \"v\" / \"w\" / \"x\" / \"y\" / \"z\" / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" / \"G\" / \"H\" / \"I\" / \"J\" / \"K\" / \"L\" / \"M\" / \"N\" / \"O\" / \"P\" / \"Q\" / \"R\" / \"S\" / \"T\" / \"U\" / \"V\" / \"W\" / \"X\" / \"Y\" / \"Z\"\nnumber = \"1\" / \"2\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" / \"0\"\ndelim = \".\"\nsegment = alpha *( alpha / number / \"-\" )\nauthority = segment *( delim segment )\nname = segment\nnsid = authority delim name\nnsid-ns = authority delim \"*\"\n\n*/\n\nconst SEGMENT_RE = /^[a-zA-Z]([a-zA-Z0-9-])*$/\n\nexport class NSID {\n segments: string[] = []\n\n static parse(nsid: string): NSID {\n return new NSID(nsid)\n }\n\n static create(authority: string, name: string): NSID {\n const segments = [...authority.split('.').reverse(), name].join('.')\n return new NSID(segments)\n }\n\n static isValid(nsid: string): boolean {\n try {\n NSID.parse(nsid)\n return true\n } catch (e) {\n return false\n }\n }\n\n constructor(nsid: string) {\n const segments = nsid.split('.')\n if (segments.length <= 2) {\n throw new Error(`Invalid NSID: ${nsid}`)\n }\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i]\n if (SEGMENT_RE.test(segment)) {\n continue\n }\n if (i === segments.length - 1 && segment === '*') {\n continue\n }\n throw new Error(`Invalid NSID: invalid character in segment \"${segment}\"`)\n }\n this.segments = segments\n }\n\n get authority() {\n return this.segments\n .slice(0, this.segments.length - 1)\n .reverse()\n .join('.')\n }\n\n get name() {\n return this.segments.at(this.segments.length - 1)\n }\n\n toString() {\n return this.segments.join('.')\n }\n}\n", "import { z } from 'zod'\nimport { NSID } from '@atproto/nsid'\n\n// primitives\n// =\n\nexport const lexBoolean = z.object({\n type: z.literal('boolean'),\n description: z.string().optional(),\n default: z.boolean().optional(),\n const: z.boolean().optional(),\n})\nexport type LexBoolean = z.infer\n\nexport const lexNumber = z.object({\n type: z.literal('number'),\n description: z.string().optional(),\n default: z.number().optional(),\n minimum: z.number().optional(),\n maximum: z.number().optional(),\n enum: z.number().array().optional(),\n const: z.number().optional(),\n})\nexport type LexNumber = z.infer\n\nexport const lexInteger = z.object({\n type: z.literal('integer'),\n description: z.string().optional(),\n default: z.number().int().optional(),\n minimum: z.number().int().optional(),\n maximum: z.number().int().optional(),\n enum: z.number().int().array().optional(),\n const: z.number().int().optional(),\n})\nexport type LexInteger = z.infer\n\nexport const lexString = z.object({\n type: z.literal('string'),\n description: z.string().optional(),\n default: z.string().optional(),\n minLength: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n enum: z.string().array().optional(),\n const: z.string().optional(),\n knownValues: z.string().array().optional(),\n})\nexport type LexString = z.infer\n\nexport const lexDatetime = z.object({\n type: z.literal('datetime'),\n description: z.string().optional(),\n})\nexport type LexDatetime = z.infer\n\nexport const lexUnknown = z.object({\n type: z.literal('unknown'),\n description: z.string().optional(),\n})\nexport type LexUnknown = z.infer\n\nexport const lexPrimitive = z.union([\n lexBoolean,\n lexNumber,\n lexInteger,\n lexString,\n lexDatetime,\n lexUnknown,\n])\nexport type LexPrimitive = z.infer\n\n// references\n// =\n\nexport const lexRef = z.object({\n type: z.literal('ref'),\n description: z.string().optional(),\n ref: z.string(),\n})\nexport type LexRef = z.infer\n\nexport const lexRefUnion = z.object({\n type: z.literal('union'),\n description: z.string().optional(),\n refs: z.string().array(),\n closed: z.boolean().optional(),\n})\nexport type LexRefUnion = z.infer\n\nexport const lexRefVariant = z.union([lexRef, lexRefUnion])\nexport type LexRefVariant = z.infer\n\n// blobs\n// =\n\nexport const lexBlob = z.object({\n type: z.literal('blob'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n})\nexport type LexBlob = z.infer\n\nexport const lexImage = z.object({\n type: z.literal('image'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n maxWidth: z.number().int().optional(),\n maxHeight: z.number().int().optional(),\n})\nexport type LexImage = z.infer\n\nexport const lexVideo = z.object({\n type: z.literal('video'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n maxWidth: z.number().int().optional(),\n maxHeight: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n})\nexport type LexVideo = z.infer\n\nexport const lexAudio = z.object({\n type: z.literal('audio'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n maxLength: z.number().int().optional(),\n})\nexport type LexAudio = z.infer\n\nexport const lexBlobVariant = z.union([lexBlob, lexImage, lexVideo, lexAudio])\nexport type LexBlobVariant = z.infer\n\n// complex types\n// =\n\nexport const lexArray = z.object({\n type: z.literal('array'),\n description: z.string().optional(),\n items: z.union([lexPrimitive, lexBlobVariant, lexRefVariant]),\n minLength: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n})\nexport type LexArray = z.infer\n\nexport const lexToken = z.object({\n type: z.literal('token'),\n description: z.string().optional(),\n})\nexport type LexToken = z.infer\n\nexport const lexObject = z.object({\n type: z.literal('object'),\n description: z.string().optional(),\n required: z.string().array().optional(),\n properties: z\n .record(z.union([lexRefVariant, lexArray, lexBlobVariant, lexPrimitive]))\n .optional(),\n})\nexport type LexObject = z.infer\n\n// xrpc\n// =\n\nexport const lexXrpcParameters = z.object({\n type: z.literal('params'),\n description: z.string().optional(),\n required: z.string().array().optional(),\n properties: z.record(lexPrimitive),\n})\nexport type LexXrpcParameters = z.infer\n\nexport const lexXrpcBody = z.object({\n description: z.string().optional(),\n encoding: z.string(),\n schema: z.union([lexRefVariant, lexObject]).optional(),\n})\nexport type LexXrpcBody = z.infer\n\nexport const lexXrpcError = z.object({\n name: z.string(),\n description: z.string().optional(),\n})\nexport type LexXrpcError = z.infer\n\nexport const lexXrpcQuery = z.object({\n type: z.literal('query'),\n description: z.string().optional(),\n parameters: lexXrpcParameters.optional(),\n output: lexXrpcBody.optional(),\n errors: lexXrpcError.array().optional(),\n})\nexport type LexXrpcQuery = z.infer\n\nexport const lexXrpcProcedure = z.object({\n type: z.literal('procedure'),\n description: z.string().optional(),\n parameters: lexXrpcParameters.optional(),\n input: lexXrpcBody.optional(),\n output: lexXrpcBody.optional(),\n errors: lexXrpcError.array().optional(),\n})\nexport type LexXrpcProcedure = z.infer\n\n// database\n// =\n\nexport const lexRecord = z.object({\n type: z.literal('record'),\n description: z.string().optional(),\n key: z.string().optional(),\n record: lexObject,\n})\nexport type LexRecord = z.infer\n\n// core\n// =\n\nexport const lexUserType = z.union([\n lexRecord,\n\n lexXrpcQuery,\n lexXrpcProcedure,\n\n lexBlob,\n lexImage,\n lexVideo,\n lexAudio,\n\n lexArray,\n lexToken,\n lexObject,\n\n lexBoolean,\n lexNumber,\n lexInteger,\n lexString,\n lexDatetime,\n lexUnknown,\n])\nexport type LexUserType = z.infer\n\nexport const lexiconDoc = z\n .object({\n lexicon: z.literal(1),\n id: z.string().refine((v: string) => NSID.isValid(v), {\n message: 'Must be a valid NSID',\n }),\n revision: z.number().optional(),\n description: z.string().optional(),\n defs: z.record(lexUserType),\n })\n .superRefine((doc: LexiconDoc, ctx) => {\n for (const defId in doc.defs) {\n const def = doc.defs[defId]\n if (\n defId !== 'main' &&\n (def.type === 'record' ||\n def.type === 'procedure' ||\n def.type === 'query')\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Records, procedures, and queries must be the main definition.`,\n })\n }\n }\n })\nexport type LexiconDoc = z.infer\n\n// helpers\n// =\n\nexport function isValidLexiconDoc(v: unknown): v is LexiconDoc {\n return lexiconDoc.safeParse(v).success\n}\n\nexport function isObj(obj: unknown): obj is Record {\n return !!obj && typeof obj === 'object'\n}\n\nexport function hasProp(\n data: object,\n prop: K,\n): data is Record {\n return prop in data\n}\n\nexport const discriminatedObject = z.object({ $type: z.string() })\nexport type DiscriminatedObject = z.infer\nexport function isDiscriminatedObject(\n value: unknown,\n): value is DiscriminatedObject {\n return discriminatedObject.safeParse(value).success\n}\n\nexport class LexiconDocMalformedError extends Error {\n constructor(\n message: string,\n public schemaDef: unknown,\n public issues?: z.ZodIssue[],\n ) {\n super(message)\n this.schemaDef = schemaDef\n this.issues = issues\n }\n}\n\nexport interface ValidationResult {\n success: boolean\n error?: ValidationError\n}\n\nexport class ValidationError extends Error {}\nexport class InvalidLexiconError extends Error {}\nexport class LexiconDefNotFoundError extends Error {}\n", "import { Lexicons } from '../lexicons'\nimport {\n LexUserType,\n LexBoolean,\n LexNumber,\n LexInteger,\n LexString,\n LexDatetime,\n ValidationResult,\n ValidationError,\n} from '../types'\n\nexport function validate(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n switch (def.type) {\n case 'boolean':\n return boolean(lexicons, path, def, value)\n case 'number':\n return number(lexicons, path, def, value)\n case 'integer':\n return integer(lexicons, path, def, value)\n case 'string':\n return string(lexicons, path, def, value)\n case 'datetime':\n return datetime(lexicons, path, def, value)\n case 'unknown':\n return unknown(lexicons, path, def, value)\n default:\n return {\n success: false,\n error: new ValidationError(`Unexpected lexicon type: ${def.type}`),\n }\n }\n}\n\nexport function boolean(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexBoolean\n\n // type\n const type = typeof value\n if (type == 'undefined') {\n if (typeof def.default === 'boolean') {\n return { success: true }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a boolean`),\n }\n } else if (type !== 'boolean') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a boolean`),\n }\n }\n\n // const\n if (typeof def.const === 'boolean') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n return { success: true }\n}\n\nexport function number(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexNumber\n\n // type\n const type = typeof value\n if (type == 'undefined') {\n if (typeof def.default === 'number') {\n return { success: true }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a number`),\n }\n } else if (type !== 'number') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a number`),\n }\n }\n\n // const\n if (typeof def.const === 'number') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n // enum\n if (Array.isArray(def.enum)) {\n if (!def.enum.includes(value as number)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be one of (${def.enum.join('|')})`,\n ),\n }\n }\n }\n\n // maximum\n if (typeof def.maximum === 'number') {\n if ((value as number) > def.maximum) {\n return {\n success: false,\n error: new ValidationError(\n `${path} can not be greater than ${def.maximum}`,\n ),\n }\n }\n }\n\n // minimum\n if (typeof def.minimum === 'number') {\n if ((value as number) < def.minimum) {\n return {\n success: false,\n error: new ValidationError(\n `${path} can not be less than ${def.minimum}`,\n ),\n }\n }\n }\n\n return { success: true }\n}\n\nexport function integer(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexInteger\n\n // run number validation\n const numRes = number(lexicons, path, def, value)\n if (!numRes.success) {\n return numRes\n }\n\n // whole numbers only\n if (!Number.isInteger(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be an integer`),\n }\n }\n\n return { success: true }\n}\n\nexport function string(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexString\n\n // type\n const type = typeof value\n if (type == 'undefined') {\n if (typeof def.default === 'string') {\n return { success: true }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n } else if (type !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n }\n\n // const\n if (typeof def.const === 'string') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n // enum\n if (Array.isArray(def.enum)) {\n if (!def.enum.includes(value as string)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be one of (${def.enum.join('|')})`,\n ),\n }\n }\n }\n\n // maxLength\n if (typeof def.maxLength === 'number') {\n if ((value as string).length > def.maxLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be longer than ${def.maxLength} characters`,\n ),\n }\n }\n }\n\n // minLength\n if (typeof def.minLength === 'number') {\n if ((value as string).length < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be shorter than ${def.minLength} characters`,\n ),\n }\n }\n }\n\n return { success: true }\n}\n\nexport function datetime(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexDatetime\n\n // type\n const type = typeof value\n if (type !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n }\n\n // valid iso-8601\n {\n try {\n const date = new Date(Date.parse(value as string))\n if (value !== date.toISOString()) {\n throw new ValidationError(\n `${path} must be an iso8601 formatted datetime`,\n )\n }\n } catch {\n throw new ValidationError(`${path} must be an iso8601 formatted datetime`)\n }\n }\n\n return { success: true }\n}\n\nexport function unknown(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n // type\n if (!value || typeof value !== 'object') {\n return {\n success: false,\n error: new ValidationError(`${path} must be an object`),\n }\n }\n\n return { success: true }\n}\n", "import { Lexicons } from '../lexicons'\nimport { LexUserType, ValidationResult, ValidationError } from '../types'\nimport { isObj, hasProp } from '../types'\n\nexport function blob(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n if (!isObj(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} should be an object`),\n }\n }\n if (!hasProp(value, 'cid') || typeof value.cid !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path}/cid should be a string`),\n }\n }\n if (!hasProp(value, 'mimeType') || typeof value.mimeType !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path}/mimeType should be a string`),\n }\n }\n return { success: true }\n}\n\nexport function image(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n return blob(lexicons, path, def, value)\n}\n\nexport function video(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n return blob(lexicons, path, def, value)\n}\n\nexport function audio(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n return blob(lexicons, path, def, value)\n}\n", "import { Lexicons } from '../lexicons'\nimport {\n LexArray,\n LexObject,\n LexUserType,\n ValidationResult,\n ValidationError,\n} from '../types'\nimport { validateOneOf } from '../util'\n\nimport * as Primitives from './primitives'\nimport * as Blob from './blob'\n\nexport function validate(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n switch (def.type) {\n case 'boolean':\n return Primitives.boolean(lexicons, path, def, value)\n case 'number':\n return Primitives.number(lexicons, path, def, value)\n case 'integer':\n return Primitives.integer(lexicons, path, def, value)\n case 'string':\n return Primitives.string(lexicons, path, def, value)\n case 'datetime':\n return Primitives.datetime(lexicons, path, def, value)\n case 'unknown':\n return Primitives.unknown(lexicons, path, def, value)\n case 'object':\n return object(lexicons, path, def, value)\n case 'array':\n return array(lexicons, path, def, value)\n case 'blob':\n return Blob.blob(lexicons, path, def, value)\n case 'image':\n return Blob.image(lexicons, path, def, value)\n case 'video':\n return Blob.video(lexicons, path, def, value)\n case 'audio':\n return Blob.audio(lexicons, path, def, value)\n default:\n return {\n success: false,\n error: new ValidationError(`Unexpected lexicon type: ${def.type}`),\n }\n }\n}\n\nexport function array(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexArray\n\n // type\n if (!Array.isArray(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be an array`),\n }\n }\n\n // maxLength\n if (typeof def.maxLength === 'number') {\n if ((value as Array).length > def.maxLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not have more than ${def.maxLength} elements`,\n ),\n }\n }\n }\n\n // minLength\n if (typeof def.minLength === 'number') {\n if ((value as Array).length < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not have fewer than ${def.minLength} elements`,\n ),\n }\n }\n }\n\n // items\n const itemsDef = def.items\n for (let i = 0; i < (value as Array).length; i++) {\n const itemValue = value[i]\n const itemPath = `${path}/${i}`\n const res = validateOneOf(lexicons, itemPath, itemsDef, itemValue)\n if (!res.success) {\n return res\n }\n }\n\n return { success: true }\n}\n\nexport function object(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexObject\n\n // type\n if (!value || typeof value !== 'object') {\n return {\n success: false,\n error: new ValidationError(`${path} must be an object`),\n }\n }\n\n // required\n if (Array.isArray(def.required)) {\n for (const key of def.required) {\n if (!(key in value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must have the property \"${key}\"`),\n }\n }\n }\n }\n\n // properties\n if (typeof def.properties === 'object') {\n for (const key in def.properties) {\n const propValue = value[key]\n if (typeof propValue === 'undefined') {\n continue // skip- if required, will have already failed\n }\n const propDef = def.properties[key]\n const propPath = `${path}/${key}`\n const res = validateOneOf(lexicons, propPath, propDef, propValue)\n if (!res.success) {\n return res\n }\n }\n }\n\n return { success: true }\n}\n", "import { Lexicons } from './lexicons'\nimport * as ComplexValidators from './validators/complex'\nimport {\n LexUserType,\n LexRefVariant,\n ValidationError,\n ValidationResult,\n isDiscriminatedObject,\n} from './types'\n\nexport function toLexUri(str: string, baseUri?: string): string {\n if (str.startsWith('lex:')) {\n return str\n }\n if (str.startsWith('#')) {\n if (!baseUri) {\n throw new Error(`Unable to resolve uri without anchor: ${str}`)\n }\n return `${baseUri}${str}`\n }\n return `lex:${str}`\n}\n\nexport function validateOneOf(\n lexicons: Lexicons,\n path: string,\n def: LexRefVariant | LexUserType,\n value: unknown,\n mustBeObj = false, // this is the only type constraint we need currently (used by xrpc body schema validators)\n): ValidationResult {\n let error\n\n let concreteDefs\n if (def.type === 'union') {\n if (!isDiscriminatedObject(value)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be an object which includes the \"$type\" property`,\n ),\n }\n }\n if (!def.refs.includes(toLexUri(value.$type))) {\n if (def.closed) {\n return {\n success: false,\n error: new ValidationError(\n `${path} $type must be one of ${def.refs.join(', ')}`,\n ),\n }\n }\n return { success: true }\n } else {\n concreteDefs = toConcreteTypes(lexicons, {\n type: 'ref',\n ref: value.$type,\n })\n }\n } else {\n concreteDefs = toConcreteTypes(lexicons, def)\n }\n\n for (const concreteDef of concreteDefs) {\n const result = mustBeObj\n ? ComplexValidators.object(lexicons, path, concreteDef, value)\n : ComplexValidators.validate(lexicons, path, concreteDef, value)\n if (result.success) {\n return result\n }\n error ??= result.error\n }\n if (concreteDefs.length > 1) {\n return {\n success: false,\n error: new ValidationError(\n `${path} did not match any of the expected definitions`,\n ),\n }\n }\n return { success: false, error }\n}\n\nexport function assertValidOneOf(\n lexicons: Lexicons,\n path: string,\n def: LexRefVariant | LexUserType,\n value: unknown,\n mustBeObj = false,\n) {\n const res = validateOneOf(lexicons, path, def, value, mustBeObj)\n if (!res.success) {\n throw res.error\n }\n}\n\nexport function toConcreteTypes(\n lexicons: Lexicons,\n def: LexRefVariant | LexUserType,\n): LexUserType[] {\n if (def.type === 'ref') {\n return [lexicons.getDefOrThrow(def.ref)]\n } else if (def.type === 'union') {\n return def.refs.map((ref) => lexicons.getDefOrThrow(ref)).flat()\n } else {\n return [def]\n }\n}\n", "import { Lexicons } from '../lexicons'\nimport { LexXrpcParameters, ValidationResult, ValidationError } from '../types'\n\nimport * as PrimitiveValidators from './primitives'\n\nexport function params(\n lexicons: Lexicons,\n path: string,\n def: LexXrpcParameters,\n value: unknown,\n): ValidationResult {\n def = def as LexXrpcParameters\n\n // type\n if (!value || typeof value !== 'object') {\n // in this case, we just fall back to an object\n value = {}\n }\n\n // required\n if (Array.isArray(def.required)) {\n for (const key of def.required) {\n if (!(key in (value as Record))) {\n return {\n success: false,\n error: new ValidationError(`${path} must have the property \"${key}\"`),\n }\n }\n }\n }\n\n // properties\n for (const key in def.properties) {\n if (typeof (value as Record)[key] === 'undefined') {\n continue // skip- if required, will have already failed\n }\n const paramDef = def.properties[key]\n const res = PrimitiveValidators.validate(\n lexicons,\n key,\n paramDef,\n (value as Record)[key],\n )\n if (!res.success) {\n return res\n }\n }\n\n return { success: true }\n}\n", "import { Lexicons } from './lexicons'\nimport { LexRecord, LexXrpcProcedure, LexXrpcQuery } from './types'\nimport { assertValidOneOf } from './util'\n\nimport * as ComplexValidators from './validators/complex'\nimport * as XrpcValidators from './validators/xrpc'\n\nexport function assertValidRecord(\n lexicons: Lexicons,\n def: LexRecord,\n value: unknown,\n) {\n const res = ComplexValidators.object(lexicons, 'Record', def.record, value)\n if (!res.success) throw res.error\n}\n\nexport function assertValidXrpcParams(\n lexicons: Lexicons,\n def: LexXrpcProcedure | LexXrpcQuery,\n value: unknown,\n) {\n if (def.parameters) {\n const res = XrpcValidators.params(lexicons, 'Params', def.parameters, value)\n if (!res.success) throw res.error\n }\n}\n\nexport function assertValidXrpcInput(\n lexicons: Lexicons,\n def: LexXrpcProcedure,\n value: unknown,\n) {\n if (def.input?.schema) {\n // loop: all input schema definitions\n assertValidOneOf(lexicons, 'Input', def.input.schema, value, true)\n }\n}\n\nexport function assertValidXrpcOutput(\n lexicons: Lexicons,\n def: LexXrpcProcedure | LexXrpcQuery,\n value: unknown,\n) {\n if (def.output?.schema) {\n // loop: all output schema definitions\n assertValidOneOf(lexicons, 'Output', def.output.schema, value, true)\n }\n}\n", "import { ZodError } from 'zod'\nimport {\n LexiconDoc,\n lexiconDoc,\n LexRecord,\n LexXrpcProcedure,\n LexXrpcQuery,\n LexUserType,\n LexiconDocMalformedError,\n LexiconDefNotFoundError,\n InvalidLexiconError,\n ValidationError,\n isObj,\n hasProp,\n} from './types'\nimport {\n assertValidRecord,\n assertValidXrpcParams,\n assertValidXrpcInput,\n assertValidXrpcOutput,\n} from './validation'\nimport { toLexUri } from './util'\n\n/**\n * A collection of compiled lexicons.\n */\nexport class Lexicons {\n docs: Map = new Map()\n defs: Map = new Map()\n\n constructor(docs?: unknown[]) {\n if (docs?.length) {\n for (const doc of docs) {\n this.add(doc)\n }\n }\n }\n\n /**\n * Add a lexicon doc.\n */\n add(doc: unknown): void {\n try {\n lexiconDoc.parse(doc)\n } catch (e) {\n if (e instanceof ZodError) {\n throw new LexiconDocMalformedError(\n `Failed to parse schema definition ${\n (doc as Record).id\n }`,\n doc,\n e.issues,\n )\n } else {\n throw e\n }\n }\n const validatedDoc = doc as LexiconDoc\n const uri = toLexUri(validatedDoc.id)\n if (this.docs.has(uri)) {\n throw new Error(`${uri} has already been registered`)\n }\n\n // WARNING\n // mutates the object\n // -prf\n resolveRefUris(validatedDoc, uri)\n\n this.docs.set(uri, validatedDoc)\n for (const [defUri, def] of iterDefs(validatedDoc)) {\n this.defs.set(defUri, def)\n }\n }\n\n /**\n * Remove a lexicon doc.\n */\n remove(uri: string) {\n uri = toLexUri(uri)\n const doc = this.docs.get(uri)\n if (!doc) {\n throw new Error(`Unable to remove \"${uri}\": does not exist`)\n }\n for (const [defUri, _def] of iterDefs(doc)) {\n this.defs.delete(defUri)\n }\n this.docs.delete(uri)\n }\n\n /**\n * Get a lexicon doc.\n */\n get(uri: string): LexiconDoc | undefined {\n uri = toLexUri(uri)\n return this.docs.get(uri)\n }\n\n /**\n * Get a definition.\n */\n getDef(uri: string): LexUserType | undefined {\n uri = toLexUri(uri)\n return this.defs.get(uri)\n }\n\n /**\n * Get a def, throw if not found. Throws on not found.\n */\n getDefOrThrow(uri: string, types?: string[]): LexUserType {\n const def = this.getDef(uri)\n if (!def) {\n throw new LexiconDefNotFoundError(`Lexicon not found: ${uri}`)\n }\n if (types && !types.includes(def.type)) {\n throw new InvalidLexiconError(\n `Not a ${types.join(' or ')} lexicon: ${uri}`,\n )\n }\n return def\n }\n\n /**\n * Validate a record and throw on any error.\n */\n assertValidRecord(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['record'])\n if (!isObj(value)) {\n throw new ValidationError(`Record must be an object`)\n }\n if (!hasProp(value, '$type') || typeof value.$type !== 'string') {\n throw new ValidationError(`Record/$type must be a string`)\n }\n const $type = (value as Record).$type || ''\n if (toLexUri($type) !== lexUri) {\n throw new ValidationError(\n `Invalid $type: must be ${lexUri}, got ${$type}`,\n )\n }\n assertValidRecord(this, def as LexRecord, value)\n }\n\n /**\n * Validate xrpc query params and throw on any error.\n */\n assertValidXrpcParams(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['query', 'procedure'])\n assertValidXrpcParams(this, def as LexXrpcProcedure | LexXrpcQuery, value)\n }\n\n /**\n * Validate xrpc input body and throw on any error.\n */\n assertValidXrpcInput(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['procedure'])\n assertValidXrpcInput(this, def as LexXrpcProcedure, value)\n }\n\n /**\n * Validate xrpc output body and throw on any error.\n */\n assertValidXrpcOutput(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['query', 'procedure'])\n assertValidXrpcOutput(this, def as LexXrpcProcedure | LexXrpcQuery, value)\n }\n}\n\nfunction* iterDefs(doc: LexiconDoc): Generator<[string, LexUserType]> {\n for (const defId in doc.defs) {\n yield [`lex:${doc.id}#${defId}`, doc.defs[defId]]\n if (defId === 'main') {\n yield [`lex:${doc.id}`, doc.defs[defId]]\n }\n }\n}\n\n// WARNING\n// this method mutates objects\n// -prf\nfunction resolveRefUris(obj: any, baseUri: string): any {\n for (const k in obj) {\n if (obj.type === 'ref') {\n obj.ref = toLexUri(obj.ref, baseUri)\n } else if (obj.type === 'union') {\n obj.refs = obj.refs.map((ref) => toLexUri(ref, baseUri))\n } else if (Array.isArray(obj[k])) {\n obj[k] = obj[k].map((item: any) => {\n if (typeof item === 'string') {\n return item.startsWith('#') ? toLexUri(item, baseUri) : item\n } else if (item && typeof item === 'object') {\n return resolveRefUris(item, baseUri)\n }\n return item\n })\n } else if (obj[k] && typeof obj[k] === 'object') {\n obj[k] = resolveRefUris(obj[k], baseUri)\n }\n }\n return obj\n}\n", "import { LexXrpcProcedure, LexXrpcQuery } from '@atproto/lexicon'\nimport {\n CallOptions,\n Headers,\n QueryParams,\n ResponseType,\n XRPCError,\n} from './types'\n\nexport function getMethodSchemaHTTPMethod(\n schema: LexXrpcProcedure | LexXrpcQuery,\n) {\n if (schema.type === 'procedure') {\n return 'post'\n }\n return 'get'\n}\n\nexport function constructMethodCallUri(\n nsid: string,\n schema: LexXrpcProcedure | LexXrpcQuery,\n serviceUri: URL,\n params?: QueryParams,\n): string {\n const uri = new URL(serviceUri)\n uri.pathname = `/xrpc/${nsid}`\n\n // given parameters\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n const paramSchema = schema.parameters?.properties?.[key]\n if (!paramSchema) {\n throw new Error(`Invalid query parameter: ${key}`)\n }\n if (value !== undefined) {\n uri.searchParams.set(key, encodeQueryParam(paramSchema.type, value))\n }\n }\n }\n\n return uri.toString()\n}\n\nexport function encodeQueryParam(\n type: 'string' | 'number' | 'integer' | 'boolean' | 'datetime' | 'unknown',\n value: any,\n): string {\n if (type === 'string' || type === 'unknown') {\n return String(value)\n }\n if (type === 'number') {\n return String(Number(value))\n } else if (type === 'integer') {\n return String(Number(value) | 0)\n } else if (type === 'boolean') {\n return value ? 'true' : 'false'\n } else if (type === 'datetime') {\n if (value instanceof Date) {\n return value.toISOString()\n }\n return String(value)\n }\n throw new Error(`Unsupported query param type: ${type}`)\n}\n\nexport function constructMethodCallHeaders(\n schema: LexXrpcProcedure | LexXrpcQuery,\n data?: any,\n opts?: CallOptions,\n): Headers {\n const headers: Headers = opts?.headers || {}\n if (schema.type === 'procedure') {\n if (opts?.encoding) {\n headers['Content-Type'] = opts.encoding\n }\n if (data && typeof data === 'object') {\n if (!headers['Content-Type']) {\n headers['Content-Type'] = 'application/json'\n }\n }\n }\n return headers\n}\n\nexport function encodeMethodCallBody(\n headers: Headers,\n data?: any,\n): ArrayBuffer | undefined {\n if (!headers['Content-Type'] || typeof data === 'undefined') {\n return undefined\n }\n if (data instanceof ArrayBuffer) {\n return data\n }\n if (headers['Content-Type'].startsWith('text/')) {\n return new TextEncoder().encode(data.toString())\n }\n if (headers['Content-Type'].startsWith('application/json')) {\n return new TextEncoder().encode(JSON.stringify(data))\n }\n return data\n}\n\nexport function httpResponseCodeToEnum(status: number): ResponseType {\n let resCode: ResponseType\n if (status in ResponseType) {\n resCode = status\n } else if (status >= 100 && status < 200) {\n resCode = ResponseType.XRPCNotSupported\n } else if (status >= 200 && status < 300) {\n resCode = ResponseType.Success\n } else if (status >= 300 && status < 400) {\n resCode = ResponseType.XRPCNotSupported\n } else if (status >= 400 && status < 500) {\n resCode = ResponseType.InvalidRequest\n } else {\n resCode = ResponseType.InternalServerError\n }\n return resCode\n}\n\nexport function httpResponseBodyParse(\n mimeType: string | null,\n data: ArrayBuffer | undefined,\n): any {\n if (mimeType) {\n if (mimeType.includes('application/json') && data?.byteLength) {\n try {\n const str = new TextDecoder().decode(data)\n return JSON.parse(str)\n } catch (e) {\n throw new XRPCError(\n ResponseType.InvalidResponse,\n `Failed to parse response body: ${String(e)}`,\n )\n }\n }\n if (mimeType.startsWith('text/') && data?.byteLength) {\n try {\n return new TextDecoder().decode(data)\n } catch (e) {\n throw new XRPCError(\n ResponseType.InvalidResponse,\n `Failed to parse response body: ${String(e)}`,\n )\n }\n }\n }\n return data\n}\n", "import { Lexicons } from '@atproto/lexicon'\nimport {\n getMethodSchemaHTTPMethod,\n constructMethodCallUri,\n constructMethodCallHeaders,\n encodeMethodCallBody,\n httpResponseCodeToEnum,\n httpResponseBodyParse,\n} from './util'\nimport {\n FetchHandler,\n FetchHandlerResponse,\n Headers,\n CallOptions,\n QueryParams,\n ResponseType,\n errorResponseBody,\n ErrorResponseBody,\n XRPCResponse,\n XRPCError,\n} from './types'\n\nexport class Client {\n fetch: FetchHandler = defaultFetchHandler\n lex = new Lexicons()\n\n // method calls\n //\n\n async call(\n serviceUri: string | URL,\n methodNsid: string,\n params?: QueryParams,\n data?: unknown,\n opts?: CallOptions,\n ) {\n return this.service(serviceUri).call(methodNsid, params, data, opts)\n }\n\n service(serviceUri: string | URL) {\n return new ServiceClient(this, serviceUri)\n }\n\n // schemas\n // =\n\n addLexicon(doc: unknown) {\n this.lex.add(doc)\n }\n\n addLexicons(docs: unknown[]) {\n for (const doc of docs) {\n this.addLexicon(doc)\n }\n }\n\n removeLexicon(uri: string) {\n this.lex.remove(uri)\n }\n}\n\nexport class ServiceClient {\n baseClient: Client\n uri: URL\n headers: Record = {}\n\n constructor(baseClient: Client, serviceUri: string | URL) {\n this.baseClient = baseClient\n this.uri = typeof serviceUri === 'string' ? new URL(serviceUri) : serviceUri\n }\n\n setHeader(key: string, value: string): void {\n this.headers[key] = value\n }\n\n unsetHeader(key: string): void {\n delete this.headers[key]\n }\n\n async call(\n methodNsid: string,\n params?: QueryParams,\n data?: unknown,\n opts?: CallOptions,\n ) {\n const def = this.baseClient.lex.getDefOrThrow(methodNsid)\n if (!def || (def.type !== 'query' && def.type !== 'procedure')) {\n throw new Error(\n `Invalid lexicon: ${methodNsid}. Must be a query or procedure.`,\n )\n }\n\n const httpMethod = getMethodSchemaHTTPMethod(def)\n const httpUri = constructMethodCallUri(methodNsid, def, this.uri, params)\n const httpHeaders = constructMethodCallHeaders(def, data, {\n headers: {\n ...this.headers,\n ...opts?.headers,\n },\n encoding: opts?.encoding,\n })\n\n const res = await this.baseClient.fetch(\n httpUri,\n httpMethod,\n httpHeaders,\n data,\n )\n\n const resCode = httpResponseCodeToEnum(res.status)\n if (resCode === ResponseType.Success) {\n return new XRPCResponse(res.body, res.headers)\n } else {\n if (res.body && isErrorResponseBody(res.body)) {\n throw new XRPCError(resCode, res.body.error, res.body.message)\n } else {\n throw new XRPCError(resCode)\n }\n }\n }\n}\n\nasync function defaultFetchHandler(\n httpUri: string,\n httpMethod: string,\n httpHeaders: Headers,\n httpReqBody: unknown,\n): Promise {\n try {\n const res = await fetch(httpUri, {\n method: httpMethod,\n headers: httpHeaders,\n body: encodeMethodCallBody(httpHeaders, httpReqBody),\n })\n const resBody = await res.arrayBuffer()\n return {\n status: res.status,\n headers: Object.fromEntries(res.headers.entries()),\n body: httpResponseBodyParse(res.headers.get('content-type'), resBody),\n }\n } catch (e) {\n throw new XRPCError(ResponseType.Unknown, String(e))\n }\n}\n\nfunction isErrorResponseBody(v: unknown): v is ErrorResponseBody {\n return errorResponseBody.safeParse(v).success\n}\n", "export * from './types'\nexport * from './client'\n\nimport { Client } from './client'\nconst defaultInst = new Client()\nexport default defaultInst\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { LexiconDoc, Lexicons } from '@atproto/lexicon'\n\nexport const schemaDict = {\n ComAtprotoAccountCreate: {\n lexicon: 1,\n id: 'com.atproto.account.create',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create an account.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'email', 'password'],\n properties: {\n email: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n inviteCode: {\n type: 'string',\n },\n password: {\n type: 'string',\n },\n recoveryKey: {\n type: 'string',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['accessJwt', 'refreshJwt', 'handle', 'did'],\n properties: {\n accessJwt: {\n type: 'string',\n },\n refreshJwt: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n errors: [\n {\n name: 'InvalidHandle',\n },\n {\n name: 'InvalidPassword',\n },\n {\n name: 'InvalidInviteCode',\n },\n {\n name: 'HandleNotAvailable',\n },\n ],\n },\n },\n },\n ComAtprotoAccountCreateInviteCode: {\n lexicon: 1,\n id: 'com.atproto.account.createInviteCode',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create an invite code.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['useCount'],\n properties: {\n useCount: {\n type: 'integer',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['code'],\n properties: {\n code: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoAccountDelete: {\n lexicon: 1,\n id: 'com.atproto.account.delete',\n defs: {\n main: {\n type: 'procedure',\n description: 'Delete an account.',\n },\n },\n },\n ComAtprotoAccountGet: {\n lexicon: 1,\n id: 'com.atproto.account.get',\n defs: {\n main: {\n type: 'query',\n description: 'Get information about an account.',\n },\n },\n },\n ComAtprotoAccountRequestPasswordReset: {\n lexicon: 1,\n id: 'com.atproto.account.requestPasswordReset',\n defs: {\n main: {\n type: 'procedure',\n description: 'Initiate a user account password reset via email.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['email'],\n properties: {\n email: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoAccountResetPassword: {\n lexicon: 1,\n id: 'com.atproto.account.resetPassword',\n defs: {\n main: {\n type: 'procedure',\n description: 'Reset a user account password using a token.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['token', 'password'],\n properties: {\n token: {\n type: 'string',\n },\n password: {\n type: 'string',\n },\n },\n },\n },\n errors: [\n {\n name: 'ExpiredToken',\n },\n {\n name: 'InvalidToken',\n },\n ],\n },\n },\n },\n ComAtprotoBlobUpload: {\n lexicon: 1,\n id: 'com.atproto.blob.upload',\n defs: {\n main: {\n type: 'procedure',\n description:\n 'Upload a new blob to be added to repo in a later request.',\n input: {\n encoding: '*/*',\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['cid'],\n properties: {\n cid: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoHandleResolve: {\n lexicon: 1,\n id: 'com.atproto.handle.resolve',\n defs: {\n main: {\n type: 'query',\n description: 'Provides the DID of a repo.',\n parameters: {\n type: 'params',\n properties: {\n handle: {\n type: 'string',\n description:\n \"The handle to resolve. If not supplied, will resolve the host's own handle.\",\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoRepoBatchWrite: {\n lexicon: 1,\n id: 'com.atproto.repo.batchWrite',\n defs: {\n main: {\n type: 'procedure',\n description: 'Apply a batch transaction of creates, puts, and deletes.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'writes'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n validate: {\n type: 'boolean',\n default: true,\n description: 'Validate the records?',\n },\n writes: {\n type: 'array',\n items: {\n type: 'union',\n refs: [\n 'lex:com.atproto.repo.batchWrite#create',\n 'lex:com.atproto.repo.batchWrite#update',\n 'lex:com.atproto.repo.batchWrite#delete',\n ],\n closed: true,\n },\n },\n },\n },\n },\n },\n create: {\n type: 'object',\n required: ['action', 'collection', 'value'],\n properties: {\n action: {\n type: 'string',\n const: 'create',\n },\n collection: {\n type: 'string',\n },\n rkey: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n update: {\n type: 'object',\n required: ['action', 'collection', 'rkey', 'value'],\n properties: {\n action: {\n type: 'string',\n const: 'update',\n },\n collection: {\n type: 'string',\n },\n rkey: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n delete: {\n type: 'object',\n required: ['action', 'collection', 'rkey'],\n properties: {\n action: {\n type: 'string',\n const: 'delete',\n },\n collection: {\n type: 'string',\n },\n rkey: {\n type: 'string',\n },\n },\n },\n },\n },\n ComAtprotoRepoCreateRecord: {\n lexicon: 1,\n id: 'com.atproto.repo.createRecord',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create a new record.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'collection', 'record'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record collection.',\n },\n validate: {\n type: 'boolean',\n default: true,\n description: 'Validate the record?',\n },\n record: {\n type: 'unknown',\n description: 'The record to create.',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'cid'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoRepoDeleteRecord: {\n lexicon: 1,\n id: 'com.atproto.repo.deleteRecord',\n defs: {\n main: {\n type: 'procedure',\n description: 'Delete a record.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'collection', 'rkey'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record collection.',\n },\n rkey: {\n type: 'string',\n description: 'The key of the record.',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoRepoDescribe: {\n lexicon: 1,\n id: 'com.atproto.repo.describe',\n defs: {\n main: {\n type: 'query',\n description:\n 'Get information about the repo, including the list of collections.',\n parameters: {\n type: 'params',\n required: ['user'],\n properties: {\n user: {\n type: 'string',\n description: 'The handle or DID of the repo.',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: [\n 'handle',\n 'did',\n 'didDoc',\n 'collections',\n 'handleIsCorrect',\n ],\n properties: {\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n didDoc: {\n type: 'unknown',\n },\n collections: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n handleIsCorrect: {\n type: 'boolean',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoRepoGetRecord: {\n lexicon: 1,\n id: 'com.atproto.repo.getRecord',\n defs: {\n main: {\n type: 'query',\n description: 'Fetch a record.',\n parameters: {\n type: 'params',\n required: ['user', 'collection', 'rkey'],\n properties: {\n user: {\n type: 'string',\n description: 'The handle or DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the collection.',\n },\n rkey: {\n type: 'string',\n description: 'The key of the record.',\n },\n cid: {\n type: 'string',\n description:\n 'The CID of the version of the record. If not specified, then return the most recent version.',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'value'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoRepoListRecords: {\n lexicon: 1,\n id: 'com.atproto.repo.listRecords',\n defs: {\n main: {\n type: 'query',\n description: 'List a range of records in a collection.',\n parameters: {\n type: 'params',\n required: ['user', 'collection'],\n properties: {\n user: {\n type: 'string',\n description: 'The handle or DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record type.',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n description: 'The number of records to return.',\n },\n before: {\n type: 'string',\n description: 'A TID to filter the range of records returned.',\n },\n after: {\n type: 'string',\n description: 'A TID to filter the range of records returned.',\n },\n reverse: {\n type: 'boolean',\n description: 'Reverse the order of the returned records?',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['records'],\n properties: {\n cursor: {\n type: 'string',\n },\n records: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.listRecords#record',\n },\n },\n },\n },\n },\n },\n record: {\n type: 'object',\n required: ['uri', 'cid', 'value'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n value: {\n type: 'unknown',\n },\n },\n },\n },\n },\n ComAtprotoRepoPutRecord: {\n lexicon: 1,\n id: 'com.atproto.repo.putRecord',\n defs: {\n main: {\n type: 'procedure',\n description: 'Write a record.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['did', 'collection', 'rkey', 'record'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n collection: {\n type: 'string',\n description: 'The NSID of the record type.',\n },\n rkey: {\n type: 'string',\n description: 'The TID of the record.',\n },\n validate: {\n type: 'boolean',\n default: true,\n description: 'Validate the record?',\n },\n record: {\n type: 'unknown',\n description: 'The record to create.',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'cid'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoRepoStrongRef: {\n lexicon: 1,\n id: 'com.atproto.repo.strongRef',\n description: 'A URI with a content-hash fingerprint.',\n defs: {\n main: {\n type: 'object',\n required: ['uri', 'cid'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n },\n },\n },\n },\n ComAtprotoServerGetAccountsConfig: {\n lexicon: 1,\n id: 'com.atproto.server.getAccountsConfig',\n defs: {\n main: {\n type: 'query',\n description:\n \"Get a document describing the service's accounts configuration.\",\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['availableUserDomains'],\n properties: {\n inviteCodeRequired: {\n type: 'boolean',\n },\n availableUserDomains: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n links: {\n type: 'ref',\n ref: 'lex:com.atproto.server.getAccountsConfig#links',\n },\n },\n },\n },\n },\n links: {\n type: 'object',\n properties: {\n privacyPolicy: {\n type: 'string',\n },\n termsOfService: {\n type: 'string',\n },\n },\n },\n },\n },\n ComAtprotoSessionCreate: {\n lexicon: 1,\n id: 'com.atproto.session.create',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create an authentication session.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'password'],\n properties: {\n handle: {\n type: 'string',\n },\n password: {\n type: 'string',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['accessJwt', 'refreshJwt', 'handle', 'did'],\n properties: {\n accessJwt: {\n type: 'string',\n },\n refreshJwt: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoSessionDelete: {\n lexicon: 1,\n id: 'com.atproto.session.delete',\n defs: {\n main: {\n type: 'procedure',\n description: 'Delete the current session.',\n },\n },\n },\n ComAtprotoSessionGet: {\n lexicon: 1,\n id: 'com.atproto.session.get',\n defs: {\n main: {\n type: 'query',\n description: 'Get information about the current session.',\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'did'],\n properties: {\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoSessionRefresh: {\n lexicon: 1,\n id: 'com.atproto.session.refresh',\n defs: {\n main: {\n type: 'procedure',\n description: 'Refresh an authentication session.',\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['accessJwt', 'refreshJwt', 'handle', 'did'],\n properties: {\n accessJwt: {\n type: 'string',\n },\n refreshJwt: {\n type: 'string',\n },\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoSyncGetRepo: {\n lexicon: 1,\n id: 'com.atproto.sync.getRepo',\n defs: {\n main: {\n type: 'query',\n description: 'Gets the repo state.',\n parameters: {\n type: 'params',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n from: {\n type: 'string',\n description: 'A past commit CID.',\n },\n },\n },\n output: {\n encoding: 'application/cbor',\n },\n },\n },\n },\n ComAtprotoSyncGetRoot: {\n lexicon: 1,\n id: 'com.atproto.sync.getRoot',\n defs: {\n main: {\n type: 'query',\n description: 'Gets the current root CID of a repo.',\n parameters: {\n type: 'params',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['root'],\n properties: {\n root: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n ComAtprotoSyncUpdateRepo: {\n lexicon: 1,\n id: 'com.atproto.sync.updateRepo',\n defs: {\n main: {\n type: 'procedure',\n description: 'Writes commits to a repo.',\n parameters: {\n type: 'params',\n required: ['did'],\n properties: {\n did: {\n type: 'string',\n description: 'The DID of the repo.',\n },\n },\n },\n input: {\n encoding: 'application/cbor',\n },\n },\n },\n },\n AppBskyActorCreateScene: {\n lexicon: 1,\n id: 'app.bsky.actor.createScene',\n defs: {\n main: {\n type: 'procedure',\n description: 'Create a scene.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle'],\n properties: {\n handle: {\n type: 'string',\n },\n recoveryKey: {\n type: 'string',\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['handle', 'did', 'declaration'],\n properties: {\n handle: {\n type: 'string',\n },\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n },\n },\n },\n errors: [\n {\n name: 'InvalidHandle',\n },\n {\n name: 'HandleNotAvailable',\n },\n ],\n },\n },\n },\n AppBskyActorGetProfile: {\n lexicon: 1,\n id: 'app.bsky.actor.getProfile',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['actor'],\n properties: {\n actor: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: [\n 'did',\n 'declaration',\n 'handle',\n 'creator',\n 'followersCount',\n 'followsCount',\n 'membersCount',\n 'postsCount',\n ],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n creator: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n maxLength: 256,\n },\n avatar: {\n type: 'string',\n },\n banner: {\n type: 'string',\n },\n followersCount: {\n type: 'integer',\n },\n followsCount: {\n type: 'integer',\n },\n membersCount: {\n type: 'integer',\n },\n postsCount: {\n type: 'integer',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.getProfile#myState',\n },\n },\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n follow: {\n type: 'string',\n },\n member: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyActorGetSuggestions: {\n lexicon: 1,\n id: 'app.bsky.actor.getSuggestions',\n defs: {\n main: {\n type: 'query',\n description:\n 'Get a list of actors suggested for following. Used in discovery UIs.',\n parameters: {\n type: 'params',\n properties: {\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n cursor: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['actors'],\n properties: {\n cursor: {\n type: 'string',\n },\n actors: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.getSuggestions#actor',\n },\n },\n },\n },\n },\n },\n actor: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n },\n avatar: {\n type: 'string',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.getSuggestions#myState',\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n follow: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyActorProfile: {\n lexicon: 1,\n id: 'app.bsky.actor.profile',\n defs: {\n main: {\n type: 'record',\n key: 'literal:self',\n record: {\n type: 'object',\n required: ['displayName'],\n properties: {\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n maxLength: 256,\n },\n avatar: {\n type: 'image',\n accept: ['image/png', 'image/jpeg'],\n maxWidth: 500,\n maxHeight: 500,\n maxSize: 300000,\n },\n banner: {\n type: 'image',\n accept: ['image/png', 'image/jpeg'],\n maxWidth: 1500,\n maxHeight: 500,\n maxSize: 500000,\n },\n },\n },\n },\n },\n },\n AppBskyActorRef: {\n lexicon: 1,\n id: 'app.bsky.actor.ref',\n description: 'A reference to an actor in the network.',\n defs: {\n main: {\n type: 'object',\n required: ['did', 'declarationCid'],\n properties: {\n did: {\n type: 'string',\n },\n declarationCid: {\n type: 'string',\n },\n },\n },\n withInfo: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyActorSearch: {\n lexicon: 1,\n id: 'app.bsky.actor.search',\n defs: {\n main: {\n type: 'query',\n description: 'Find users matching search criteria.',\n parameters: {\n type: 'params',\n required: ['term'],\n properties: {\n term: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['users'],\n properties: {\n cursor: {\n type: 'string',\n },\n users: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.search#user',\n },\n },\n },\n },\n },\n },\n user: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyActorSearchTypeahead: {\n lexicon: 1,\n id: 'app.bsky.actor.searchTypeahead',\n defs: {\n main: {\n type: 'query',\n description: 'Find user suggestions for a search term.',\n parameters: {\n type: 'params',\n required: ['term'],\n properties: {\n term: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['users'],\n properties: {\n users: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.searchTypeahead#user',\n },\n },\n },\n },\n },\n },\n user: {\n type: 'object',\n required: ['did', 'declaration', 'handle'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyActorUpdateProfile: {\n lexicon: 1,\n id: 'app.bsky.actor.updateProfile',\n defs: {\n main: {\n type: 'procedure',\n description: 'Notify server that the user has seen notifications.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n properties: {\n did: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n description: {\n type: 'string',\n maxLength: 256,\n },\n avatar: {\n type: 'image',\n accept: ['image/png', 'image/jpeg'],\n maxWidth: 500,\n maxHeight: 500,\n maxSize: 100000,\n },\n banner: {\n type: 'image',\n accept: ['image/png', 'image/jpeg'],\n maxWidth: 1500,\n maxHeight: 500,\n maxSize: 500000,\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'cid', 'record'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n record: {\n type: 'unknown',\n },\n },\n },\n },\n errors: [\n {\n name: 'InvalidBlob',\n },\n {\n name: 'BlobTooLarge',\n },\n {\n name: 'InvalidMimeType',\n },\n {\n name: 'InvalidImageDimensions',\n },\n ],\n },\n },\n },\n AppBskyFeedEmbed: {\n lexicon: 1,\n id: 'app.bsky.feed.embed',\n description:\n 'Content embedded in other content, such as an image or link embedded in a post.',\n defs: {\n main: {\n type: 'object',\n description: 'A list embeds in a post or document.',\n required: ['media'],\n properties: {\n items: {\n type: 'array',\n items: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.embed#media',\n 'lex:app.bsky.feed.embed#record',\n 'lex:app.bsky.feed.embed#external',\n ],\n },\n },\n },\n },\n media: {\n type: 'object',\n required: ['original'],\n properties: {\n alt: {\n type: 'string',\n },\n thumb: {\n type: 'image',\n },\n original: {\n type: 'blob',\n },\n },\n },\n record: {\n type: 'object',\n required: ['type', 'author', 'record'],\n properties: {\n type: {\n type: 'string',\n const: 'record',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n },\n },\n external: {\n type: 'object',\n required: ['type', 'uri', 'title', 'description', 'imageUri'],\n properties: {\n type: {\n type: 'string',\n const: 'external',\n },\n uri: {\n type: 'string',\n },\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n imageUri: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyFeedGetAuthorFeed: {\n lexicon: 1,\n id: 'app.bsky.feed.getAuthorFeed',\n defs: {\n main: {\n type: 'query',\n description: \"A view of a user's feed.\",\n parameters: {\n type: 'params',\n required: ['author'],\n properties: {\n author: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['feed'],\n properties: {\n cursor: {\n type: 'string',\n },\n feed: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getAuthorFeed#feedItem',\n },\n },\n },\n },\n },\n },\n feedItem: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'record',\n 'replyCount',\n 'repostCount',\n 'upvoteCount',\n 'downvoteCount',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n trendedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n repostedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n embed: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.embed',\n },\n replyCount: {\n type: 'integer',\n },\n repostCount: {\n type: 'integer',\n },\n upvoteCount: {\n type: 'integer',\n },\n downvoteCount: {\n type: 'integer',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getAuthorFeed#myState',\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n repost: {\n type: 'string',\n },\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyFeedGetPostThread: {\n lexicon: 1,\n id: 'app.bsky.feed.getPostThread',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['uri'],\n properties: {\n uri: {\n type: 'string',\n },\n depth: {\n type: 'integer',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['thread'],\n properties: {\n thread: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#post',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n },\n },\n },\n errors: [\n {\n name: 'NotFound',\n },\n ],\n },\n post: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'record',\n 'replyCount',\n 'repostCount',\n 'upvoteCount',\n 'downvoteCount',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n embed: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.embed',\n },\n parent: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#post',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n replyCount: {\n type: 'integer',\n },\n replies: {\n type: 'array',\n items: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#post',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n },\n repostCount: {\n type: 'integer',\n },\n upvoteCount: {\n type: 'integer',\n },\n downvoteCount: {\n type: 'integer',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getPostThread#myState',\n },\n },\n },\n notFoundPost: {\n type: 'object',\n required: ['uri', 'notFound'],\n properties: {\n uri: {\n type: 'string',\n },\n notFound: {\n type: 'boolean',\n const: true,\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n repost: {\n type: 'string',\n },\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyFeedGetRepostedBy: {\n lexicon: 1,\n id: 'app.bsky.feed.getRepostedBy',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['uri'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'repostedBy'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n cursor: {\n type: 'string',\n },\n repostedBy: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getRepostedBy#repostedBy',\n },\n },\n },\n },\n },\n },\n repostedBy: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyFeedGetTimeline: {\n lexicon: 1,\n id: 'app.bsky.feed.getTimeline',\n defs: {\n main: {\n type: 'query',\n description: \"A view of the user's home timeline.\",\n parameters: {\n type: 'params',\n properties: {\n algorithm: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['feed'],\n properties: {\n cursor: {\n type: 'string',\n },\n feed: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getTimeline#feedItem',\n },\n },\n },\n },\n },\n },\n feedItem: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'record',\n 'replyCount',\n 'repostCount',\n 'upvoteCount',\n 'downvoteCount',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n trendedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n repostedBy: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n record: {\n type: 'unknown',\n },\n embed: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.embed',\n },\n replyCount: {\n type: 'integer',\n },\n repostCount: {\n type: 'integer',\n },\n upvoteCount: {\n type: 'integer',\n },\n downvoteCount: {\n type: 'integer',\n },\n indexedAt: {\n type: 'datetime',\n },\n myState: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getTimeline#myState',\n },\n },\n },\n myState: {\n type: 'object',\n properties: {\n repost: {\n type: 'string',\n },\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyFeedGetVotes: {\n lexicon: 1,\n id: 'app.bsky.feed.getVotes',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n required: ['uri'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n direction: {\n type: 'string',\n enum: ['up', 'down'],\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['uri', 'votes'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n cursor: {\n type: 'string',\n },\n votes: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.getVotes#vote',\n },\n },\n },\n },\n },\n },\n vote: {\n type: 'object',\n required: ['direction', 'indexedAt', 'createdAt', 'actor'],\n properties: {\n direction: {\n type: 'string',\n enum: ['up', 'down'],\n },\n indexedAt: {\n type: 'datetime',\n },\n createdAt: {\n type: 'datetime',\n },\n actor: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n },\n },\n },\n },\n AppBskyFeedPost: {\n lexicon: 1,\n id: 'app.bsky.feed.post',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['text', 'createdAt'],\n properties: {\n text: {\n type: 'string',\n maxLength: 256,\n },\n entities: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#entity',\n },\n },\n reply: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#replyRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n replyRef: {\n type: 'object',\n required: ['root', 'parent'],\n properties: {\n root: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n parent: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n },\n },\n entity: {\n type: 'object',\n required: ['index', 'type', 'value'],\n properties: {\n index: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#textSlice',\n },\n type: {\n type: 'string',\n description:\n \"Expected values are 'mention', 'hashtag', and 'link'.\",\n },\n value: {\n type: 'string',\n },\n },\n },\n textSlice: {\n type: 'object',\n required: ['start', 'end'],\n properties: {\n start: {\n type: 'integer',\n minimum: 0,\n },\n end: {\n type: 'integer',\n minimum: 0,\n },\n },\n },\n },\n },\n AppBskyFeedRepost: {\n lexicon: 1,\n id: 'app.bsky.feed.repost',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n AppBskyFeedSetVote: {\n lexicon: 1,\n id: 'app.bsky.feed.setVote',\n defs: {\n main: {\n type: 'procedure',\n description: \"Upvote, downvote, or clear the user's vote for a post.\",\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'direction'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n direction: {\n type: 'string',\n enum: ['up', 'down', 'none'],\n },\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n properties: {\n upvote: {\n type: 'string',\n },\n downvote: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n AppBskyFeedTrend: {\n lexicon: 1,\n id: 'app.bsky.feed.trend',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n AppBskyFeedVote: {\n lexicon: 1,\n id: 'app.bsky.feed.vote',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'direction', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n direction: {\n type: 'string',\n enum: ['up', 'down'],\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n AppBskyGraphAssertCreator: {\n lexicon: 1,\n id: 'app.bsky.graph.assertCreator',\n defs: {\n main: {\n type: 'token',\n description:\n \"Assertion type: Creator. Defined for app.bsky.graph.assertions's assertion.\",\n },\n },\n },\n AppBskyGraphAssertMember: {\n lexicon: 1,\n id: 'app.bsky.graph.assertMember',\n defs: {\n main: {\n type: 'token',\n description:\n \"Assertion type: Member. Defined for app.bsky.graph.assertions's assertion.\",\n },\n },\n },\n AppBskyGraphAssertion: {\n lexicon: 1,\n id: 'app.bsky.graph.assertion',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['assertion', 'subject', 'createdAt'],\n properties: {\n assertion: {\n type: 'string',\n },\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n AppBskyGraphConfirmation: {\n lexicon: 1,\n id: 'app.bsky.graph.confirmation',\n defs: {\n main: {\n type: 'record',\n key: 'tid',\n record: {\n type: 'object',\n required: ['originator', 'assertion', 'createdAt'],\n properties: {\n originator: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref',\n },\n assertion: {\n type: 'ref',\n ref: 'lex:com.atproto.repo.strongRef',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n AppBskyGraphFollow: {\n lexicon: 1,\n id: 'app.bsky.graph.follow',\n defs: {\n main: {\n type: 'record',\n description: 'A social follow.',\n key: 'tid',\n record: {\n type: 'object',\n required: ['subject', 'createdAt'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n AppBskyGraphGetAssertions: {\n lexicon: 1,\n id: 'app.bsky.graph.getAssertions',\n defs: {\n main: {\n type: 'query',\n description: 'General-purpose query for assertions.',\n parameters: {\n type: 'params',\n properties: {\n author: {\n type: 'string',\n },\n subject: {\n type: 'string',\n },\n assertion: {\n type: 'string',\n },\n confirmed: {\n type: 'boolean',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['assertions'],\n properties: {\n cursor: {\n type: 'string',\n },\n assertions: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getAssertions#assertion',\n },\n },\n },\n },\n },\n },\n assertion: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'assertion',\n 'author',\n 'subject',\n 'indexedAt',\n 'createdAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n assertion: {\n type: 'string',\n },\n confirmation: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getAssertions#confirmation',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n indexedAt: {\n type: 'datetime',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n confirmation: {\n type: 'object',\n required: ['uri', 'cid', 'indexedAt', 'createdAt'],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n indexedAt: {\n type: 'datetime',\n },\n createdAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyGraphGetFollowers: {\n lexicon: 1,\n id: 'app.bsky.graph.getFollowers',\n defs: {\n main: {\n type: 'query',\n description: 'Who is following a user?',\n parameters: {\n type: 'params',\n required: ['user'],\n properties: {\n user: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'followers'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n followers: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getFollowers#follower',\n },\n },\n },\n },\n },\n },\n follower: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n avatar: {\n type: 'string',\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyGraphGetFollows: {\n lexicon: 1,\n id: 'app.bsky.graph.getFollows',\n defs: {\n main: {\n type: 'query',\n description: 'Who is a user following?',\n parameters: {\n type: 'params',\n required: ['user'],\n properties: {\n user: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'follows'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n follows: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getFollows#follow',\n },\n },\n },\n },\n },\n },\n follow: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyGraphGetMembers: {\n lexicon: 1,\n id: 'app.bsky.graph.getMembers',\n defs: {\n main: {\n type: 'query',\n description: 'Who is a member of the group?',\n parameters: {\n type: 'params',\n required: ['actor'],\n properties: {\n actor: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'members'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n members: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getMembers#member',\n },\n },\n },\n },\n },\n },\n member: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyGraphGetMemberships: {\n lexicon: 1,\n id: 'app.bsky.graph.getMemberships',\n defs: {\n main: {\n type: 'query',\n description: 'Which groups is the actor a member of?',\n parameters: {\n type: 'params',\n required: ['actor'],\n properties: {\n actor: {\n type: 'string',\n },\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['subject', 'memberships'],\n properties: {\n subject: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n cursor: {\n type: 'string',\n },\n memberships: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.graph.getMemberships#membership',\n },\n },\n },\n },\n },\n },\n membership: {\n type: 'object',\n required: ['did', 'declaration', 'handle', 'indexedAt'],\n properties: {\n did: {\n type: 'string',\n },\n declaration: {\n type: 'ref',\n ref: 'lex:app.bsky.system.declRef',\n },\n handle: {\n type: 'string',\n },\n displayName: {\n type: 'string',\n maxLength: 64,\n },\n createdAt: {\n type: 'datetime',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyNotificationGetCount: {\n lexicon: 1,\n id: 'app.bsky.notification.getCount',\n defs: {\n main: {\n type: 'query',\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['count'],\n properties: {\n count: {\n type: 'integer',\n },\n },\n },\n },\n },\n },\n },\n AppBskyNotificationList: {\n lexicon: 1,\n id: 'app.bsky.notification.list',\n defs: {\n main: {\n type: 'query',\n parameters: {\n type: 'params',\n properties: {\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: 100,\n default: 50,\n },\n before: {\n type: 'string',\n },\n },\n },\n output: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['notifications'],\n properties: {\n cursor: {\n type: 'string',\n },\n notifications: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.notification.list#notification',\n },\n },\n },\n },\n },\n },\n notification: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'reason',\n 'record',\n 'isRead',\n 'indexedAt',\n ],\n properties: {\n uri: {\n type: 'string',\n },\n cid: {\n type: 'string',\n },\n author: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n reason: {\n type: 'string',\n description:\n \"Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'.\",\n knownValues: [\n 'vote',\n 'repost',\n 'trend',\n 'follow',\n 'invite',\n 'mention',\n 'reply',\n ],\n },\n reasonSubject: {\n type: 'string',\n },\n record: {\n type: 'unknown',\n },\n isRead: {\n type: 'boolean',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n AppBskyNotificationUpdateSeen: {\n lexicon: 1,\n id: 'app.bsky.notification.updateSeen',\n defs: {\n main: {\n type: 'procedure',\n description: 'Notify server that the user has seen notifications.',\n input: {\n encoding: 'application/json',\n schema: {\n type: 'object',\n required: ['seenAt'],\n properties: {\n seenAt: {\n type: 'datetime',\n },\n },\n },\n },\n },\n },\n },\n AppBskySystemActorScene: {\n lexicon: 1,\n id: 'app.bsky.system.actorScene',\n defs: {\n main: {\n type: 'token',\n description:\n \"Actor type: Scene. Defined for app.bsky.system.declaration's actorType.\",\n },\n },\n },\n AppBskySystemActorUser: {\n lexicon: 1,\n id: 'app.bsky.system.actorUser',\n defs: {\n main: {\n type: 'token',\n description:\n \"Actor type: User. Defined for app.bsky.system.declaration's actorType.\",\n },\n },\n },\n AppBskySystemDeclRef: {\n lexicon: 1,\n id: 'app.bsky.system.declRef',\n defs: {\n main: {\n description: 'A reference to a app.bsky.system.declaration record.',\n type: 'object',\n required: ['cid', 'actorType'],\n properties: {\n cid: {\n type: 'string',\n },\n actorType: {\n type: 'string',\n knownValues: [\n 'app.bsky.system.actorUser',\n 'app.bsky.system.actorScene',\n ],\n },\n },\n },\n },\n },\n AppBskySystemDeclaration: {\n lexicon: 1,\n id: 'app.bsky.system.declaration',\n defs: {\n main: {\n description:\n 'Context for an account that is considered intrinsic to it and alters the fundamental understanding of an account of changed. A declaration should be treated as immutable.',\n type: 'record',\n key: 'literal:self',\n record: {\n type: 'object',\n required: ['actorType'],\n properties: {\n actorType: {\n type: 'string',\n knownValues: [\n 'app.bsky.system.actorUser',\n 'app.bsky.system.actorScene',\n ],\n },\n },\n },\n },\n },\n },\n}\nexport const schemas: LexiconDoc[] = Object.values(schemaDict) as LexiconDoc[]\nexport const lexicons: Lexicons = new Lexicons(schemas)\nexport const ids = {\n ComAtprotoAccountCreate: 'com.atproto.account.create',\n ComAtprotoAccountCreateInviteCode: 'com.atproto.account.createInviteCode',\n ComAtprotoAccountDelete: 'com.atproto.account.delete',\n ComAtprotoAccountGet: 'com.atproto.account.get',\n ComAtprotoAccountRequestPasswordReset:\n 'com.atproto.account.requestPasswordReset',\n ComAtprotoAccountResetPassword: 'com.atproto.account.resetPassword',\n ComAtprotoBlobUpload: 'com.atproto.blob.upload',\n ComAtprotoHandleResolve: 'com.atproto.handle.resolve',\n ComAtprotoRepoBatchWrite: 'com.atproto.repo.batchWrite',\n ComAtprotoRepoCreateRecord: 'com.atproto.repo.createRecord',\n ComAtprotoRepoDeleteRecord: 'com.atproto.repo.deleteRecord',\n ComAtprotoRepoDescribe: 'com.atproto.repo.describe',\n ComAtprotoRepoGetRecord: 'com.atproto.repo.getRecord',\n ComAtprotoRepoListRecords: 'com.atproto.repo.listRecords',\n ComAtprotoRepoPutRecord: 'com.atproto.repo.putRecord',\n ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',\n ComAtprotoServerGetAccountsConfig: 'com.atproto.server.getAccountsConfig',\n ComAtprotoSessionCreate: 'com.atproto.session.create',\n ComAtprotoSessionDelete: 'com.atproto.session.delete',\n ComAtprotoSessionGet: 'com.atproto.session.get',\n ComAtprotoSessionRefresh: 'com.atproto.session.refresh',\n ComAtprotoSyncGetRepo: 'com.atproto.sync.getRepo',\n ComAtprotoSyncGetRoot: 'com.atproto.sync.getRoot',\n ComAtprotoSyncUpdateRepo: 'com.atproto.sync.updateRepo',\n AppBskyActorCreateScene: 'app.bsky.actor.createScene',\n AppBskyActorGetProfile: 'app.bsky.actor.getProfile',\n AppBskyActorGetSuggestions: 'app.bsky.actor.getSuggestions',\n AppBskyActorProfile: 'app.bsky.actor.profile',\n AppBskyActorRef: 'app.bsky.actor.ref',\n AppBskyActorSearch: 'app.bsky.actor.search',\n AppBskyActorSearchTypeahead: 'app.bsky.actor.searchTypeahead',\n AppBskyActorUpdateProfile: 'app.bsky.actor.updateProfile',\n AppBskyFeedEmbed: 'app.bsky.feed.embed',\n AppBskyFeedGetAuthorFeed: 'app.bsky.feed.getAuthorFeed',\n AppBskyFeedGetPostThread: 'app.bsky.feed.getPostThread',\n AppBskyFeedGetRepostedBy: 'app.bsky.feed.getRepostedBy',\n AppBskyFeedGetTimeline: 'app.bsky.feed.getTimeline',\n AppBskyFeedGetVotes: 'app.bsky.feed.getVotes',\n AppBskyFeedPost: 'app.bsky.feed.post',\n AppBskyFeedRepost: 'app.bsky.feed.repost',\n AppBskyFeedSetVote: 'app.bsky.feed.setVote',\n AppBskyFeedTrend: 'app.bsky.feed.trend',\n AppBskyFeedVote: 'app.bsky.feed.vote',\n AppBskyGraphAssertCreator: 'app.bsky.graph.assertCreator',\n AppBskyGraphAssertMember: 'app.bsky.graph.assertMember',\n AppBskyGraphAssertion: 'app.bsky.graph.assertion',\n AppBskyGraphConfirmation: 'app.bsky.graph.confirmation',\n AppBskyGraphFollow: 'app.bsky.graph.follow',\n AppBskyGraphGetAssertions: 'app.bsky.graph.getAssertions',\n AppBskyGraphGetFollowers: 'app.bsky.graph.getFollowers',\n AppBskyGraphGetFollows: 'app.bsky.graph.getFollows',\n AppBskyGraphGetMembers: 'app.bsky.graph.getMembers',\n AppBskyGraphGetMemberships: 'app.bsky.graph.getMemberships',\n AppBskyNotificationGetCount: 'app.bsky.notification.getCount',\n AppBskyNotificationList: 'app.bsky.notification.list',\n AppBskyNotificationUpdateSeen: 'app.bsky.notification.updateSeen',\n AppBskySystemActorScene: 'app.bsky.system.actorScene',\n AppBskySystemActorUser: 'app.bsky.system.actorUser',\n AppBskySystemDeclRef: 'app.bsky.system.declRef',\n AppBskySystemDeclaration: 'app.bsky.system.declaration',\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n email: string\n handle: string\n inviteCode?: string\n password: string\n recoveryKey?: string\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n accessJwt: string\n refreshJwt: string\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class InvalidHandleError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidPasswordError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidInviteCodeError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class HandleNotAvailableError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'InvalidHandle') return new InvalidHandleError(e)\n if (e.error === 'InvalidPassword') return new InvalidPasswordError(e)\n if (e.error === 'InvalidInviteCode') return new InvalidInviteCodeError(e)\n if (e.error === 'HandleNotAvailable') return new HandleNotAvailableError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n useCount: number\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n code: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n email: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n token: string\n password: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport class ExpiredTokenError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidTokenError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'ExpiredToken') return new ExpiredTokenError(e)\n if (e.error === 'InvalidToken') return new InvalidTokenError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = string | Uint8Array\n\nexport interface OutputSchema {\n cid: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: string\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle to resolve. If not supplied, will resolve the host's own handle. */\n handle?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** Validate the records? */\n validate?: boolean\n writes: (Create | Update | Delete)[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Create {\n action: 'create'\n collection: string\n rkey?: string\n value: {}\n [k: string]: unknown\n}\n\nexport interface Update {\n action: 'update'\n collection: string\n rkey: string\n value: {}\n [k: string]: unknown\n}\n\nexport interface Delete {\n action: 'delete'\n collection: string\n rkey: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** The NSID of the record collection. */\n collection: string\n /** Validate the record? */\n validate?: boolean\n /** The record to create. */\n record: {}\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n uri: string\n cid: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** The NSID of the record collection. */\n collection: string\n /** The key of the record. */\n rkey: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle or DID of the repo. */\n user: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n handle: string\n did: string\n didDoc: {}\n collections: string[]\n handleIsCorrect: boolean\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle or DID of the repo. */\n user: string\n /** The NSID of the collection. */\n collection: string\n /** The key of the record. */\n rkey: string\n /** The CID of the version of the record. If not specified, then return the most recent version. */\n cid?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n uri: string\n cid?: string\n value: {}\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The handle or DID of the repo. */\n user: string\n /** The NSID of the record type. */\n collection: string\n /** The number of records to return. */\n limit?: number\n /** A TID to filter the range of records returned. */\n before?: string\n /** A TID to filter the range of records returned. */\n after?: string\n /** Reverse the order of the returned records? */\n reverse?: boolean\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n records: Record[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Record {\n uri: string\n cid: string\n value: {}\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n /** The DID of the repo. */\n did: string\n /** The NSID of the record type. */\n collection: string\n /** The TID of the record. */\n rkey: string\n /** Validate the record? */\n validate?: boolean\n /** The record to create. */\n record: {}\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n uri: string\n cid: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n inviteCodeRequired?: boolean\n availableUserDomains: string[]\n links?: Links\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Links {\n privacyPolicy?: string\n termsOfService?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n handle: string\n password: string\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n accessJwt: string\n refreshJwt: string\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n accessJwt: string\n refreshJwt: string\n handle: string\n did: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The DID of the repo. */\n did: string\n /** A past commit CID. */\n from?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: Uint8Array\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The DID of the repo. */\n did: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n root: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {\n /** The DID of the repo. */\n did: string\n}\n\nexport type InputSchema = string | Uint8Array\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/cbor'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n handle: string\n recoveryKey?: string\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n handle: string\n did: string\n declaration: AppBskySystemDeclRef.Main\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class InvalidHandleError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class HandleNotAvailableError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'InvalidHandle') return new InvalidHandleError(e)\n if (e.error === 'HandleNotAvailable') return new HandleNotAvailableError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n actor: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n creator: string\n displayName?: string\n description?: string\n avatar?: string\n banner?: string\n followersCount: number\n followsCount: number\n membersCount: number\n postsCount: number\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface MyState {\n follow?: string\n member?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n limit?: number\n cursor?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n actors: Actor[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Actor {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n description?: string\n avatar?: string\n indexedAt?: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface MyState {\n follow?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n term: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n users: User[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface User {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n description?: string\n indexedAt?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n term: string\n limit?: number\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n users: User[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface User {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n did?: string\n displayName?: string\n description?: string\n avatar?: { cid: string; mimeType: string; [k: string]: unknown }\n banner?: { cid: string; mimeType: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n uri: string\n cid: string\n record: {}\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class InvalidBlobError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class BlobTooLargeError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidMimeTypeError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport class InvalidImageDimensionsError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'InvalidBlob') return new InvalidBlobError(e)\n if (e.error === 'BlobTooLarge') return new BlobTooLargeError(e)\n if (e.error === 'InvalidMimeType') return new InvalidMimeTypeError(e)\n if (e.error === 'InvalidImageDimensions')\n return new InvalidImageDimensionsError(e)\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskyFeedEmbed from './embed'\n\nexport interface QueryParams {\n author: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n feed: FeedItem[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface FeedItem {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n trendedBy?: AppBskyActorRef.WithInfo\n repostedBy?: AppBskyActorRef.WithInfo\n record: {}\n embed?: AppBskyFeedEmbed.Main\n replyCount: number\n repostCount: number\n upvoteCount: number\n downvoteCount: number\n indexedAt: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface MyState {\n repost?: string\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskyFeedEmbed from './embed'\n\nexport interface QueryParams {\n uri: string\n depth?: number\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n thread: Post | NotFoundPost | { $type: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport class NotFoundError extends XRPCError {\n constructor(src: XRPCError) {\n super(src.status, src.error, src.message)\n }\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n if (e.error === 'NotFound') return new NotFoundError(e)\n }\n return e\n}\n\nexport interface Post {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n record: {}\n embed?: AppBskyFeedEmbed.Main\n parent?: Post | NotFoundPost | { $type: string; [k: string]: unknown }\n replyCount: number\n replies?: (Post | NotFoundPost | { $type: string; [k: string]: unknown })[]\n repostCount: number\n upvoteCount: number\n downvoteCount: number\n indexedAt: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface NotFoundPost {\n uri: string\n notFound: true\n [k: string]: unknown\n}\n\nexport interface MyState {\n repost?: string\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n uri: string\n cid?: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n uri: string\n cid?: string\n cursor?: string\n repostedBy: RepostedBy[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface RepostedBy {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskyFeedEmbed from './embed'\n\nexport interface QueryParams {\n algorithm?: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n feed: FeedItem[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface FeedItem {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n trendedBy?: AppBskyActorRef.WithInfo\n repostedBy?: AppBskyActorRef.WithInfo\n record: {}\n embed?: AppBskyFeedEmbed.Main\n replyCount: number\n repostCount: number\n upvoteCount: number\n downvoteCount: number\n indexedAt: string\n myState?: MyState\n [k: string]: unknown\n}\n\nexport interface MyState {\n repost?: string\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface QueryParams {\n uri: string\n cid?: string\n direction?: 'up' | 'down'\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n uri: string\n cid?: string\n cursor?: string\n votes: Vote[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Vote {\n direction: 'up' | 'down'\n indexedAt: string\n createdAt: string\n actor: AppBskyActorRef.WithInfo\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n subject: ComAtprotoRepoStrongRef.Main\n direction: 'up' | 'down' | 'none'\n [k: string]: unknown\n}\n\nexport interface OutputSchema {\n upvote?: string\n downvote?: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface QueryParams {\n author?: string\n subject?: string\n assertion?: string\n confirmed?: boolean\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n assertions: Assertion[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Assertion {\n uri: string\n cid: string\n assertion: string\n confirmation?: Confirmation\n author: AppBskyActorRef.WithInfo\n subject: AppBskyActorRef.WithInfo\n indexedAt: string\n createdAt: string\n [k: string]: unknown\n}\n\nexport interface Confirmation {\n uri: string\n cid: string\n indexedAt: string\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n user: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n followers: Follower[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Follower {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n user: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n follows: Follow[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Follow {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n actor: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n members: Member[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Member {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface QueryParams {\n actor: string\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n subject: AppBskyActorRef.WithInfo\n cursor?: string\n memberships: Membership[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Membership {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n createdAt?: string\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n count: number\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface QueryParams {\n limit?: number\n before?: string\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n notifications: Notification[]\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n data: OutputSchema\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n\nexport interface Notification {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n /** Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'. */\n reason:\n | 'vote'\n | 'repost'\n | 'trend'\n | 'follow'\n | 'invite'\n | 'mention'\n | 'reply'\n | (string & {})\n reasonSubject?: string\n record: {}\n isRead: boolean\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { Headers, XRPCError } from '@atproto/xrpc'\n\nexport interface QueryParams {}\n\nexport interface InputSchema {\n seenAt: string\n [k: string]: unknown\n}\n\nexport interface CallOptions {\n headers?: Headers\n qp?: QueryParams\n encoding: 'application/json'\n}\n\nexport interface Response {\n success: boolean\n headers: Headers\n}\n\nexport function toKnownErr(e: any) {\n if (e instanceof XRPCError) {\n }\n return e\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nexport interface Main {\n uri: string\n cid: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nexport interface Record {\n displayName: string\n description?: string\n avatar?: { cid: string; mimeType: string; [k: string]: unknown }\n banner?: { cid: string; mimeType: string; [k: string]: unknown }\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskySystemDeclRef from '../system/declRef'\n\nexport interface Main {\n did: string\n declarationCid: string\n [k: string]: unknown\n}\n\nexport interface WithInfo {\n did: string\n declaration: AppBskySystemDeclRef.Main\n handle: string\n displayName?: string\n avatar?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\n\n/** A list embeds in a post or document. */\nexport interface Main {\n items?: (\n | Media\n | Record\n | External\n | { $type: string; [k: string]: unknown }\n )[]\n [k: string]: unknown\n}\n\nexport interface Media {\n alt?: string\n thumb?: { cid: string; mimeType: string; [k: string]: unknown }\n original: { cid: string; mimeType: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface Record {\n type: 'record'\n author: AppBskyActorRef.WithInfo\n record: {}\n [k: string]: unknown\n}\n\nexport interface External {\n type: 'external'\n uri: string\n title: string\n description: string\n imageUri: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n text: string\n entities?: Entity[]\n reply?: ReplyRef\n createdAt: string\n [k: string]: unknown\n}\n\nexport interface ReplyRef {\n root: ComAtprotoRepoStrongRef.Main\n parent: ComAtprotoRepoStrongRef.Main\n [k: string]: unknown\n}\n\nexport interface Entity {\n index: TextSlice\n /** Expected values are 'mention', 'hashtag', and 'link'. */\n type: string\n value: string\n [k: string]: unknown\n}\n\nexport interface TextSlice {\n start: number\n end: number\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n subject: ComAtprotoRepoStrongRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n subject: ComAtprotoRepoStrongRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n subject: ComAtprotoRepoStrongRef.Main\n direction: 'up' | 'down'\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Assertion type: Creator. Defined for app.bsky.graph.assertions's assertion. */\nexport const MAIN = 'app.bsky.graph.assertCreator#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Assertion type: Member. Defined for app.bsky.graph.assertions's assertion. */\nexport const MAIN = 'app.bsky.graph.assertMember#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface Record {\n assertion: string\n subject: AppBskyActorRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\n\nexport interface Record {\n originator: AppBskyActorRef.Main\n assertion: ComAtprotoRepoStrongRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface Record {\n subject: AppBskyActorRef.Main\n createdAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Actor type: Scene. Defined for app.bsky.system.declaration's actorType. */\nexport const MAIN = 'app.bsky.system.actorScene#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** Actor type: User. Defined for app.bsky.system.declaration's actorType. */\nexport const MAIN = 'app.bsky.system.actorUser#main'\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\n/** A reference to a app.bsky.system.declaration record. */\nexport interface Main {\n cid: string\n actorType:\n | 'app.bsky.system.actorUser'\n | 'app.bsky.system.actorScene'\n | (string & {})\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nexport interface Record {\n actorType:\n | 'app.bsky.system.actorUser'\n | 'app.bsky.system.actorScene'\n | (string & {})\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport {\n Client as XrpcClient,\n ServiceClient as XrpcServiceClient,\n} from '@atproto/xrpc'\nimport { schemas } from './lexicons'\nimport * as ComAtprotoAccountCreate from './types/com/atproto/account/create'\nimport * as ComAtprotoAccountCreateInviteCode from './types/com/atproto/account/createInviteCode'\nimport * as ComAtprotoAccountDelete from './types/com/atproto/account/delete'\nimport * as ComAtprotoAccountGet from './types/com/atproto/account/get'\nimport * as ComAtprotoAccountRequestPasswordReset from './types/com/atproto/account/requestPasswordReset'\nimport * as ComAtprotoAccountResetPassword from './types/com/atproto/account/resetPassword'\nimport * as ComAtprotoBlobUpload from './types/com/atproto/blob/upload'\nimport * as ComAtprotoHandleResolve from './types/com/atproto/handle/resolve'\nimport * as ComAtprotoRepoBatchWrite from './types/com/atproto/repo/batchWrite'\nimport * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord'\nimport * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord'\nimport * as ComAtprotoRepoDescribe from './types/com/atproto/repo/describe'\nimport * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord'\nimport * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords'\nimport * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord'\nimport * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef'\nimport * as ComAtprotoServerGetAccountsConfig from './types/com/atproto/server/getAccountsConfig'\nimport * as ComAtprotoSessionCreate from './types/com/atproto/session/create'\nimport * as ComAtprotoSessionDelete from './types/com/atproto/session/delete'\nimport * as ComAtprotoSessionGet from './types/com/atproto/session/get'\nimport * as ComAtprotoSessionRefresh from './types/com/atproto/session/refresh'\nimport * as ComAtprotoSyncGetRepo from './types/com/atproto/sync/getRepo'\nimport * as ComAtprotoSyncGetRoot from './types/com/atproto/sync/getRoot'\nimport * as ComAtprotoSyncUpdateRepo from './types/com/atproto/sync/updateRepo'\nimport * as AppBskyActorCreateScene from './types/app/bsky/actor/createScene'\nimport * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile'\nimport * as AppBskyActorGetSuggestions from './types/app/bsky/actor/getSuggestions'\nimport * as AppBskyActorProfile from './types/app/bsky/actor/profile'\nimport * as AppBskyActorRef from './types/app/bsky/actor/ref'\nimport * as AppBskyActorSearch from './types/app/bsky/actor/search'\nimport * as AppBskyActorSearchTypeahead from './types/app/bsky/actor/searchTypeahead'\nimport * as AppBskyActorUpdateProfile from './types/app/bsky/actor/updateProfile'\nimport * as AppBskyFeedEmbed from './types/app/bsky/feed/embed'\nimport * as AppBskyFeedGetAuthorFeed from './types/app/bsky/feed/getAuthorFeed'\nimport * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread'\nimport * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy'\nimport * as AppBskyFeedGetTimeline from './types/app/bsky/feed/getTimeline'\nimport * as AppBskyFeedGetVotes from './types/app/bsky/feed/getVotes'\nimport * as AppBskyFeedPost from './types/app/bsky/feed/post'\nimport * as AppBskyFeedRepost from './types/app/bsky/feed/repost'\nimport * as AppBskyFeedSetVote from './types/app/bsky/feed/setVote'\nimport * as AppBskyFeedTrend from './types/app/bsky/feed/trend'\nimport * as AppBskyFeedVote from './types/app/bsky/feed/vote'\nimport * as AppBskyGraphAssertCreator from './types/app/bsky/graph/assertCreator'\nimport * as AppBskyGraphAssertMember from './types/app/bsky/graph/assertMember'\nimport * as AppBskyGraphAssertion from './types/app/bsky/graph/assertion'\nimport * as AppBskyGraphConfirmation from './types/app/bsky/graph/confirmation'\nimport * as AppBskyGraphFollow from './types/app/bsky/graph/follow'\nimport * as AppBskyGraphGetAssertions from './types/app/bsky/graph/getAssertions'\nimport * as AppBskyGraphGetFollowers from './types/app/bsky/graph/getFollowers'\nimport * as AppBskyGraphGetFollows from './types/app/bsky/graph/getFollows'\nimport * as AppBskyGraphGetMembers from './types/app/bsky/graph/getMembers'\nimport * as AppBskyGraphGetMemberships from './types/app/bsky/graph/getMemberships'\nimport * as AppBskyNotificationGetCount from './types/app/bsky/notification/getCount'\nimport * as AppBskyNotificationList from './types/app/bsky/notification/list'\nimport * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'\nimport * as AppBskySystemActorScene from './types/app/bsky/system/actorScene'\nimport * as AppBskySystemActorUser from './types/app/bsky/system/actorUser'\nimport * as AppBskySystemDeclRef from './types/app/bsky/system/declRef'\nimport * as AppBskySystemDeclaration from './types/app/bsky/system/declaration'\n\nexport * as ComAtprotoAccountCreate from './types/com/atproto/account/create'\nexport * as ComAtprotoAccountCreateInviteCode from './types/com/atproto/account/createInviteCode'\nexport * as ComAtprotoAccountDelete from './types/com/atproto/account/delete'\nexport * as ComAtprotoAccountGet from './types/com/atproto/account/get'\nexport * as ComAtprotoAccountRequestPasswordReset from './types/com/atproto/account/requestPasswordReset'\nexport * as ComAtprotoAccountResetPassword from './types/com/atproto/account/resetPassword'\nexport * as ComAtprotoBlobUpload from './types/com/atproto/blob/upload'\nexport * as ComAtprotoHandleResolve from './types/com/atproto/handle/resolve'\nexport * as ComAtprotoRepoBatchWrite from './types/com/atproto/repo/batchWrite'\nexport * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord'\nexport * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord'\nexport * as ComAtprotoRepoDescribe from './types/com/atproto/repo/describe'\nexport * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord'\nexport * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords'\nexport * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord'\nexport * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef'\nexport * as ComAtprotoServerGetAccountsConfig from './types/com/atproto/server/getAccountsConfig'\nexport * as ComAtprotoSessionCreate from './types/com/atproto/session/create'\nexport * as ComAtprotoSessionDelete from './types/com/atproto/session/delete'\nexport * as ComAtprotoSessionGet from './types/com/atproto/session/get'\nexport * as ComAtprotoSessionRefresh from './types/com/atproto/session/refresh'\nexport * as ComAtprotoSyncGetRepo from './types/com/atproto/sync/getRepo'\nexport * as ComAtprotoSyncGetRoot from './types/com/atproto/sync/getRoot'\nexport * as ComAtprotoSyncUpdateRepo from './types/com/atproto/sync/updateRepo'\nexport * as AppBskyActorCreateScene from './types/app/bsky/actor/createScene'\nexport * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile'\nexport * as AppBskyActorGetSuggestions from './types/app/bsky/actor/getSuggestions'\nexport * as AppBskyActorProfile from './types/app/bsky/actor/profile'\nexport * as AppBskyActorRef from './types/app/bsky/actor/ref'\nexport * as AppBskyActorSearch from './types/app/bsky/actor/search'\nexport * as AppBskyActorSearchTypeahead from './types/app/bsky/actor/searchTypeahead'\nexport * as AppBskyActorUpdateProfile from './types/app/bsky/actor/updateProfile'\nexport * as AppBskyFeedEmbed from './types/app/bsky/feed/embed'\nexport * as AppBskyFeedGetAuthorFeed from './types/app/bsky/feed/getAuthorFeed'\nexport * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread'\nexport * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy'\nexport * as AppBskyFeedGetTimeline from './types/app/bsky/feed/getTimeline'\nexport * as AppBskyFeedGetVotes from './types/app/bsky/feed/getVotes'\nexport * as AppBskyFeedPost from './types/app/bsky/feed/post'\nexport * as AppBskyFeedRepost from './types/app/bsky/feed/repost'\nexport * as AppBskyFeedSetVote from './types/app/bsky/feed/setVote'\nexport * as AppBskyFeedTrend from './types/app/bsky/feed/trend'\nexport * as AppBskyFeedVote from './types/app/bsky/feed/vote'\nexport * as AppBskyGraphAssertCreator from './types/app/bsky/graph/assertCreator'\nexport * as AppBskyGraphAssertMember from './types/app/bsky/graph/assertMember'\nexport * as AppBskyGraphAssertion from './types/app/bsky/graph/assertion'\nexport * as AppBskyGraphConfirmation from './types/app/bsky/graph/confirmation'\nexport * as AppBskyGraphFollow from './types/app/bsky/graph/follow'\nexport * as AppBskyGraphGetAssertions from './types/app/bsky/graph/getAssertions'\nexport * as AppBskyGraphGetFollowers from './types/app/bsky/graph/getFollowers'\nexport * as AppBskyGraphGetFollows from './types/app/bsky/graph/getFollows'\nexport * as AppBskyGraphGetMembers from './types/app/bsky/graph/getMembers'\nexport * as AppBskyGraphGetMemberships from './types/app/bsky/graph/getMemberships'\nexport * as AppBskyNotificationGetCount from './types/app/bsky/notification/getCount'\nexport * as AppBskyNotificationList from './types/app/bsky/notification/list'\nexport * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'\nexport * as AppBskySystemActorScene from './types/app/bsky/system/actorScene'\nexport * as AppBskySystemActorUser from './types/app/bsky/system/actorUser'\nexport * as AppBskySystemDeclRef from './types/app/bsky/system/declRef'\nexport * as AppBskySystemDeclaration from './types/app/bsky/system/declaration'\n\nexport const APP_BSKY_GRAPH = {\n AssertCreator: 'app.bsky.graph.assertCreator',\n AssertMember: 'app.bsky.graph.assertMember',\n}\nexport const APP_BSKY_SYSTEM = {\n ActorScene: 'app.bsky.system.actorScene',\n ActorUser: 'app.bsky.system.actorUser',\n}\n\nexport class Client {\n xrpc: XrpcClient = new XrpcClient()\n\n constructor() {\n this.xrpc.addLexicons(schemas)\n }\n\n service(serviceUri: string | URL): ServiceClient {\n return new ServiceClient(this, this.xrpc.service(serviceUri))\n }\n}\n\nconst defaultInst = new Client()\nexport default defaultInst\n\nexport class ServiceClient {\n _baseClient: Client\n xrpc: XrpcServiceClient\n com: ComNS\n app: AppNS\n\n constructor(baseClient: Client, xrpcService: XrpcServiceClient) {\n this._baseClient = baseClient\n this.xrpc = xrpcService\n this.com = new ComNS(this)\n this.app = new AppNS(this)\n }\n\n setHeader(key: string, value: string): void {\n this.xrpc.setHeader(key, value)\n }\n}\n\nexport class ComNS {\n _service: ServiceClient\n atproto: AtprotoNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.atproto = new AtprotoNS(service)\n }\n}\n\nexport class AtprotoNS {\n _service: ServiceClient\n account: AccountNS\n blob: BlobNS\n handle: HandleNS\n repo: RepoNS\n server: ServerNS\n session: SessionNS\n sync: SyncNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.account = new AccountNS(service)\n this.blob = new BlobNS(service)\n this.handle = new HandleNS(service)\n this.repo = new RepoNS(service)\n this.server = new ServerNS(service)\n this.session = new SessionNS(service)\n this.sync = new SyncNS(service)\n }\n}\n\nexport class AccountNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n create(\n data?: ComAtprotoAccountCreate.InputSchema,\n opts?: ComAtprotoAccountCreate.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.create', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountCreate.toKnownErr(e)\n })\n }\n\n createInviteCode(\n data?: ComAtprotoAccountCreateInviteCode.InputSchema,\n opts?: ComAtprotoAccountCreateInviteCode.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.createInviteCode', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountCreateInviteCode.toKnownErr(e)\n })\n }\n\n delete(\n data?: ComAtprotoAccountDelete.InputSchema,\n opts?: ComAtprotoAccountDelete.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.delete', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountDelete.toKnownErr(e)\n })\n }\n\n get(\n params?: ComAtprotoAccountGet.QueryParams,\n opts?: ComAtprotoAccountGet.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.get', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoAccountGet.toKnownErr(e)\n })\n }\n\n requestPasswordReset(\n data?: ComAtprotoAccountRequestPasswordReset.InputSchema,\n opts?: ComAtprotoAccountRequestPasswordReset.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.requestPasswordReset', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountRequestPasswordReset.toKnownErr(e)\n })\n }\n\n resetPassword(\n data?: ComAtprotoAccountResetPassword.InputSchema,\n opts?: ComAtprotoAccountResetPassword.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.account.resetPassword', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoAccountResetPassword.toKnownErr(e)\n })\n }\n}\n\nexport class BlobNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n upload(\n data?: ComAtprotoBlobUpload.InputSchema,\n opts?: ComAtprotoBlobUpload.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.blob.upload', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoBlobUpload.toKnownErr(e)\n })\n }\n}\n\nexport class HandleNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n resolve(\n params?: ComAtprotoHandleResolve.QueryParams,\n opts?: ComAtprotoHandleResolve.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.handle.resolve', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoHandleResolve.toKnownErr(e)\n })\n }\n}\n\nexport class RepoNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n batchWrite(\n data?: ComAtprotoRepoBatchWrite.InputSchema,\n opts?: ComAtprotoRepoBatchWrite.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.batchWrite', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoBatchWrite.toKnownErr(e)\n })\n }\n\n createRecord(\n data?: ComAtprotoRepoCreateRecord.InputSchema,\n opts?: ComAtprotoRepoCreateRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.createRecord', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoCreateRecord.toKnownErr(e)\n })\n }\n\n deleteRecord(\n data?: ComAtprotoRepoDeleteRecord.InputSchema,\n opts?: ComAtprotoRepoDeleteRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.deleteRecord', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoDeleteRecord.toKnownErr(e)\n })\n }\n\n describe(\n params?: ComAtprotoRepoDescribe.QueryParams,\n opts?: ComAtprotoRepoDescribe.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.describe', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoRepoDescribe.toKnownErr(e)\n })\n }\n\n getRecord(\n params?: ComAtprotoRepoGetRecord.QueryParams,\n opts?: ComAtprotoRepoGetRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.getRecord', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoRepoGetRecord.toKnownErr(e)\n })\n }\n\n listRecords(\n params?: ComAtprotoRepoListRecords.QueryParams,\n opts?: ComAtprotoRepoListRecords.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.listRecords', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoRepoListRecords.toKnownErr(e)\n })\n }\n\n putRecord(\n data?: ComAtprotoRepoPutRecord.InputSchema,\n opts?: ComAtprotoRepoPutRecord.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.repo.putRecord', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoRepoPutRecord.toKnownErr(e)\n })\n }\n}\n\nexport class ServerNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n getAccountsConfig(\n params?: ComAtprotoServerGetAccountsConfig.QueryParams,\n opts?: ComAtprotoServerGetAccountsConfig.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.server.getAccountsConfig', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoServerGetAccountsConfig.toKnownErr(e)\n })\n }\n}\n\nexport class SessionNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n create(\n data?: ComAtprotoSessionCreate.InputSchema,\n opts?: ComAtprotoSessionCreate.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.create', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSessionCreate.toKnownErr(e)\n })\n }\n\n delete(\n data?: ComAtprotoSessionDelete.InputSchema,\n opts?: ComAtprotoSessionDelete.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.delete', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSessionDelete.toKnownErr(e)\n })\n }\n\n get(\n params?: ComAtprotoSessionGet.QueryParams,\n opts?: ComAtprotoSessionGet.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.get', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoSessionGet.toKnownErr(e)\n })\n }\n\n refresh(\n data?: ComAtprotoSessionRefresh.InputSchema,\n opts?: ComAtprotoSessionRefresh.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.session.refresh', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSessionRefresh.toKnownErr(e)\n })\n }\n}\n\nexport class SyncNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n getRepo(\n params?: ComAtprotoSyncGetRepo.QueryParams,\n opts?: ComAtprotoSyncGetRepo.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.sync.getRepo', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoSyncGetRepo.toKnownErr(e)\n })\n }\n\n getRoot(\n params?: ComAtprotoSyncGetRoot.QueryParams,\n opts?: ComAtprotoSyncGetRoot.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.sync.getRoot', params, undefined, opts)\n .catch((e) => {\n throw ComAtprotoSyncGetRoot.toKnownErr(e)\n })\n }\n\n updateRepo(\n data?: ComAtprotoSyncUpdateRepo.InputSchema,\n opts?: ComAtprotoSyncUpdateRepo.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('com.atproto.sync.updateRepo', opts?.qp, data, opts)\n .catch((e) => {\n throw ComAtprotoSyncUpdateRepo.toKnownErr(e)\n })\n }\n}\n\nexport class AppNS {\n _service: ServiceClient\n bsky: BskyNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.bsky = new BskyNS(service)\n }\n}\n\nexport class BskyNS {\n _service: ServiceClient\n actor: ActorNS\n feed: FeedNS\n graph: GraphNS\n notification: NotificationNS\n system: SystemNS\n\n constructor(service: ServiceClient) {\n this._service = service\n this.actor = new ActorNS(service)\n this.feed = new FeedNS(service)\n this.graph = new GraphNS(service)\n this.notification = new NotificationNS(service)\n this.system = new SystemNS(service)\n }\n}\n\nexport class ActorNS {\n _service: ServiceClient\n profile: ProfileRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.profile = new ProfileRecord(service)\n }\n\n createScene(\n data?: AppBskyActorCreateScene.InputSchema,\n opts?: AppBskyActorCreateScene.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.createScene', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyActorCreateScene.toKnownErr(e)\n })\n }\n\n getProfile(\n params?: AppBskyActorGetProfile.QueryParams,\n opts?: AppBskyActorGetProfile.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.getProfile', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorGetProfile.toKnownErr(e)\n })\n }\n\n getSuggestions(\n params?: AppBskyActorGetSuggestions.QueryParams,\n opts?: AppBskyActorGetSuggestions.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.getSuggestions', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorGetSuggestions.toKnownErr(e)\n })\n }\n\n search(\n params?: AppBskyActorSearch.QueryParams,\n opts?: AppBskyActorSearch.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.search', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorSearch.toKnownErr(e)\n })\n }\n\n searchTypeahead(\n params?: AppBskyActorSearchTypeahead.QueryParams,\n opts?: AppBskyActorSearchTypeahead.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.searchTypeahead', params, undefined, opts)\n .catch((e) => {\n throw AppBskyActorSearchTypeahead.toKnownErr(e)\n })\n }\n\n updateProfile(\n data?: AppBskyActorUpdateProfile.InputSchema,\n opts?: AppBskyActorUpdateProfile.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.actor.updateProfile', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyActorUpdateProfile.toKnownErr(e)\n })\n }\n}\n\nexport class ProfileRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyActorProfile.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.actor.profile',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyActorProfile.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.actor.profile',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyActorProfile.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.actor.profile'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.actor.profile', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.actor.profile', ...params },\n { headers },\n )\n }\n}\n\nexport class FeedNS {\n _service: ServiceClient\n post: PostRecord\n repost: RepostRecord\n trend: TrendRecord\n vote: VoteRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.post = new PostRecord(service)\n this.repost = new RepostRecord(service)\n this.trend = new TrendRecord(service)\n this.vote = new VoteRecord(service)\n }\n\n getAuthorFeed(\n params?: AppBskyFeedGetAuthorFeed.QueryParams,\n opts?: AppBskyFeedGetAuthorFeed.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getAuthorFeed', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetAuthorFeed.toKnownErr(e)\n })\n }\n\n getPostThread(\n params?: AppBskyFeedGetPostThread.QueryParams,\n opts?: AppBskyFeedGetPostThread.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getPostThread', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetPostThread.toKnownErr(e)\n })\n }\n\n getRepostedBy(\n params?: AppBskyFeedGetRepostedBy.QueryParams,\n opts?: AppBskyFeedGetRepostedBy.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getRepostedBy', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetRepostedBy.toKnownErr(e)\n })\n }\n\n getTimeline(\n params?: AppBskyFeedGetTimeline.QueryParams,\n opts?: AppBskyFeedGetTimeline.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getTimeline', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetTimeline.toKnownErr(e)\n })\n }\n\n getVotes(\n params?: AppBskyFeedGetVotes.QueryParams,\n opts?: AppBskyFeedGetVotes.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.getVotes', params, undefined, opts)\n .catch((e) => {\n throw AppBskyFeedGetVotes.toKnownErr(e)\n })\n }\n\n setVote(\n data?: AppBskyFeedSetVote.InputSchema,\n opts?: AppBskyFeedSetVote.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.feed.setVote', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyFeedSetVote.toKnownErr(e)\n })\n }\n}\n\nexport class PostRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedPost.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.post',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedPost.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.post',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedPost.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.post'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.post', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.post', ...params },\n { headers },\n )\n }\n}\n\nexport class RepostRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedRepost.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.repost',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedRepost.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.repost',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedRepost.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.repost'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.repost', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.repost', ...params },\n { headers },\n )\n }\n}\n\nexport class TrendRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedTrend.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.trend',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedTrend.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.trend',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedTrend.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.trend'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.trend', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.trend', ...params },\n { headers },\n )\n }\n}\n\nexport class VoteRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyFeedVote.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.feed.vote',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyFeedVote.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.feed.vote',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyFeedVote.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.feed.vote'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.feed.vote', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.feed.vote', ...params },\n { headers },\n )\n }\n}\n\nexport class GraphNS {\n _service: ServiceClient\n assertion: AssertionRecord\n confirmation: ConfirmationRecord\n follow: FollowRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.assertion = new AssertionRecord(service)\n this.confirmation = new ConfirmationRecord(service)\n this.follow = new FollowRecord(service)\n }\n\n getAssertions(\n params?: AppBskyGraphGetAssertions.QueryParams,\n opts?: AppBskyGraphGetAssertions.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getAssertions', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetAssertions.toKnownErr(e)\n })\n }\n\n getFollowers(\n params?: AppBskyGraphGetFollowers.QueryParams,\n opts?: AppBskyGraphGetFollowers.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getFollowers', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetFollowers.toKnownErr(e)\n })\n }\n\n getFollows(\n params?: AppBskyGraphGetFollows.QueryParams,\n opts?: AppBskyGraphGetFollows.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getFollows', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetFollows.toKnownErr(e)\n })\n }\n\n getMembers(\n params?: AppBskyGraphGetMembers.QueryParams,\n opts?: AppBskyGraphGetMembers.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getMembers', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetMembers.toKnownErr(e)\n })\n }\n\n getMemberships(\n params?: AppBskyGraphGetMemberships.QueryParams,\n opts?: AppBskyGraphGetMemberships.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.graph.getMemberships', params, undefined, opts)\n .catch((e) => {\n throw AppBskyGraphGetMemberships.toKnownErr(e)\n })\n }\n}\n\nexport class AssertionRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyGraphAssertion.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.graph.assertion',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{\n uri: string\n cid: string\n value: AppBskyGraphAssertion.Record\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.graph.assertion',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyGraphAssertion.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.graph.assertion'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.graph.assertion', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.graph.assertion', ...params },\n { headers },\n )\n }\n}\n\nexport class ConfirmationRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyGraphConfirmation.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.graph.confirmation',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{\n uri: string\n cid: string\n value: AppBskyGraphConfirmation.Record\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.graph.confirmation',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyGraphConfirmation.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.graph.confirmation'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.graph.confirmation', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.graph.confirmation', ...params },\n { headers },\n )\n }\n}\n\nexport class FollowRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskyGraphFollow.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.graph.follow',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{ uri: string; cid: string; value: AppBskyGraphFollow.Record }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.graph.follow',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskyGraphFollow.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.graph.follow'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.graph.follow', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.graph.follow', ...params },\n { headers },\n )\n }\n}\n\nexport class NotificationNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n getCount(\n params?: AppBskyNotificationGetCount.QueryParams,\n opts?: AppBskyNotificationGetCount.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.notification.getCount', params, undefined, opts)\n .catch((e) => {\n throw AppBskyNotificationGetCount.toKnownErr(e)\n })\n }\n\n list(\n params?: AppBskyNotificationList.QueryParams,\n opts?: AppBskyNotificationList.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.notification.list', params, undefined, opts)\n .catch((e) => {\n throw AppBskyNotificationList.toKnownErr(e)\n })\n }\n\n updateSeen(\n data?: AppBskyNotificationUpdateSeen.InputSchema,\n opts?: AppBskyNotificationUpdateSeen.CallOptions,\n ): Promise {\n return this._service.xrpc\n .call('app.bsky.notification.updateSeen', opts?.qp, data, opts)\n .catch((e) => {\n throw AppBskyNotificationUpdateSeen.toKnownErr(e)\n })\n }\n}\n\nexport class SystemNS {\n _service: ServiceClient\n declaration: DeclarationRecord\n\n constructor(service: ServiceClient) {\n this._service = service\n this.declaration = new DeclarationRecord(service)\n }\n}\n\nexport class DeclarationRecord {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\n }\n\n async list(\n params: Omit,\n ): Promise<{\n cursor?: string\n records: { uri: string; value: AppBskySystemDeclaration.Record }[]\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.listRecords', {\n collection: 'app.bsky.system.declaration',\n ...params,\n })\n return res.data\n }\n\n async get(\n params: Omit,\n ): Promise<{\n uri: string\n cid: string\n value: AppBskySystemDeclaration.Record\n }> {\n const res = await this._service.xrpc.call('com.atproto.repo.getRecord', {\n collection: 'app.bsky.system.declaration',\n ...params,\n })\n return res.data\n }\n\n async create(\n params: Omit<\n ComAtprotoRepoCreateRecord.InputSchema,\n 'collection' | 'record'\n >,\n record: AppBskySystemDeclaration.Record,\n headers?: Record,\n ): Promise<{ uri: string; cid: string }> {\n record.$type = 'app.bsky.system.declaration'\n const res = await this._service.xrpc.call(\n 'com.atproto.repo.createRecord',\n undefined,\n { collection: 'app.bsky.system.declaration', ...params, record },\n { encoding: 'application/json', headers },\n )\n return res.data\n }\n\n async delete(\n params: Omit,\n headers?: Record,\n ): Promise {\n await this._service.xrpc.call(\n 'com.atproto.repo.deleteRecord',\n undefined,\n { collection: 'app.bsky.system.declaration', ...params },\n { headers },\n )\n }\n}\n", "import {\n CallOptions,\n Client as XrpcClient,\n ServiceClient as XrpcServiceClient,\n QueryParams,\n ResponseType,\n XRPCError,\n XRPCResponse,\n} from '@atproto/xrpc'\nimport EventEmitter from 'events'\nimport TypedEmitter from 'typed-emitter'\nimport { Client, ServiceClient } from './client'\nimport * as CreateSession from './client/types/com/atproto/session/create'\nimport * as RefreshSession from './client/types/com/atproto/session/refresh'\nimport * as CreateAccount from './client/types/com/atproto/session/create'\n\nconst CREATE_SESSION = 'com.atproto.session.create'\nconst REFRESH_SESSION = 'com.atproto.session.refresh'\nconst DELETE_SESSION = 'com.atproto.session.delete'\nconst CREATE_ACCOUNT = 'com.atproto.account.create'\n\nexport class SessionClient extends Client {\n service(serviceUri: string | URL): SessionServiceClient {\n const xrpcService = new SessionXrpcServiceClient(this.xrpc, serviceUri)\n return new SessionServiceClient(this, xrpcService)\n }\n}\n\nconst defaultInst = new SessionClient()\nexport default defaultInst\n\nexport class SessionServiceClient extends ServiceClient {\n xrpc: SessionXrpcServiceClient\n sessionManager: SessionManager\n constructor(baseClient: Client, xrpcService: SessionXrpcServiceClient) {\n super(baseClient, xrpcService)\n this.sessionManager = this.xrpc.sessionManager\n }\n}\n\nexport class SessionXrpcServiceClient extends XrpcServiceClient {\n sessionManager = new SessionManager()\n refreshing?: Promise\n\n constructor(baseClient: XrpcClient, serviceUri: string | URL) {\n super(baseClient, serviceUri)\n this.sessionManager.on('session', () => {\n // Maintain access token headers when session changes\n const accessHeaders = this.sessionManager.accessHeaders()\n if (accessHeaders) {\n this.setHeader('authorization', accessHeaders.authorization)\n } else {\n this.unsetHeader('authorization')\n }\n })\n }\n\n async call(\n methodNsid: string,\n params?: QueryParams,\n data?: unknown,\n opts?: CallOptions,\n ) {\n const original = (overrideOpts?: CallOptions) =>\n super.call(methodNsid, params, data, overrideOpts ?? opts)\n\n // If someone is setting credentials manually, pass through as an escape hatch\n if (opts?.headers?.authorization) {\n return await original()\n }\n\n // Manage concurrent refreshes on session refresh\n if (methodNsid === REFRESH_SESSION) {\n return await this.refresh(opts)\n }\n\n // Complete any pending session refresh and then continue onto the original request with fresh credentials\n await this.refreshing\n\n // Setup session on session or account creation\n if (methodNsid === CREATE_SESSION || methodNsid === CREATE_ACCOUNT) {\n const result = await original()\n const { accessJwt, refreshJwt } =\n result.data as CreateSession.OutputSchema & CreateAccount.OutputSchema\n this.sessionManager.set({ accessJwt, refreshJwt })\n return result\n }\n\n // Clear session on session deletion\n if (methodNsid === DELETE_SESSION) {\n const result = await original({\n ...opts,\n headers: {\n ...opts?.headers,\n ...this.sessionManager.refreshHeaders(),\n },\n })\n this.sessionManager.unset()\n return result\n }\n\n // For all other requests, if failed due to an expired token, refresh and retry with fresh credentials\n try {\n return await original()\n } catch (err) {\n if (\n err instanceof XRPCError &&\n err.status === ResponseType.InvalidRequest &&\n err.error === 'ExpiredToken' &&\n this.sessionManager.active()\n ) {\n await this.refresh(opts)\n return await original()\n }\n throw err\n }\n }\n\n // Ensures a single refresh request at a time, deduping concurrent requests.\n async refresh(opts?: CallOptions) {\n this.refreshing ??= this._refresh(opts)\n try {\n return await this.refreshing\n } finally {\n this.refreshing = undefined\n }\n }\n\n private async _refresh(opts?: CallOptions) {\n try {\n const result = await super.call(REFRESH_SESSION, undefined, undefined, {\n ...opts,\n headers: {\n ...opts?.headers,\n ...this.sessionManager.refreshHeaders(),\n },\n })\n const { accessJwt, refreshJwt } =\n result.data as RefreshSession.OutputSchema\n this.sessionManager.set({ accessJwt, refreshJwt })\n return result\n } catch (err) {\n if (\n err instanceof XRPCError &&\n err.status === ResponseType.InvalidRequest &&\n (err.error === 'ExpiredToken' || err.error === 'InvalidToken')\n ) {\n this.sessionManager.unset()\n }\n throw err\n }\n }\n}\n\nexport class SessionManager extends (EventEmitter as new () => TypedEmitter) {\n session?: Session\n get() {\n return this.session\n }\n set(session: Session) {\n this.session = session\n this.emit('session', session)\n }\n unset() {\n this.session = undefined\n this.emit('session', undefined)\n }\n active() {\n return !!this.session\n }\n accessHeaders() {\n return (\n this.session && {\n authorization: `Bearer ${this.session.accessJwt}`,\n }\n )\n }\n refreshHeaders() {\n return (\n this.session && {\n authorization: `Bearer ${this.session.refreshJwt}`,\n }\n )\n }\n}\n\nexport type Session = {\n refreshJwt: string\n accessJwt: string\n}\n\ntype SessionEvents = {\n session: (session?: Session) => void\n}\n"], + "mappings": "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", + "names": ["Client", "create_exports", "delete_exports", "get_exports", "ServiceClient", "util", "object", "array", "params", "errorUtil", "errorMap", "ctx", "result", "objectUtil", "issues", "schemas", "elements", "processed", "ZodFirstPartyTypeKind", "ResponseType", "lexicons", "lexicons", "validate", "lexicons", "lexicons", "validate", "lexicons", "lexicons", "params", "params", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "create_exports", "toKnownErr", "toKnownErr", "delete_exports", "toKnownErr", "toKnownErr", "get_exports", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "HandleNotAvailableError", "InvalidHandleError", "toKnownErr", "InvalidHandleError", "HandleNotAvailableError", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "toKnownErr", "MAIN", "MAIN", "MAIN", "Client", "ServiceClient", "defaultInst", "toKnownErr", "params", "Client", "defaultInst", "ServiceClient", "params", "EventEmitter"] } diff --git a/src/third-party/api/src/client/lexicons.d.ts b/src/third-party/api/src/client/lexicons.d.ts index 4893bd82..0fcbc312 100644 --- a/src/third-party/api/src/client/lexicons.d.ts +++ b/src/third-party/api/src/client/lexicons.d.ts @@ -1,5 +1,2841 @@ -import { LexiconDoc } from '@atproto/lexicon'; -export declare const lexicons: LexiconDoc[]; +import { LexiconDoc, Lexicons } from '@atproto/lexicon'; +export declare const schemaDict: { + ComAtprotoAccountCreate: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + email: { + type: string; + }; + handle: { + type: string; + }; + inviteCode: { + type: string; + }; + password: { + type: string; + }; + recoveryKey: { + type: string; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + accessJwt: { + type: string; + }; + refreshJwt: { + type: string; + }; + handle: { + type: string; + }; + did: { + type: string; + }; + }; + }; + }; + errors: { + name: string; + }[]; + }; + }; + }; + ComAtprotoAccountCreateInviteCode: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + useCount: { + type: string; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + code: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoAccountDelete: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + }; + }; + }; + ComAtprotoAccountGet: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + }; + }; + }; + ComAtprotoAccountRequestPasswordReset: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + email: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoAccountResetPassword: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + token: { + type: string; + }; + password: { + type: string; + }; + }; + }; + }; + errors: { + name: string; + }[]; + }; + }; + }; + ComAtprotoBlobUpload: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cid: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoHandleResolve: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + properties: { + handle: { + type: string; + description: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoRepoBatchWrite: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + did: { + type: string; + description: string; + }; + validate: { + type: string; + default: boolean; + description: string; + }; + writes: { + type: string; + items: { + type: string; + refs: string[]; + closed: boolean; + }; + }; + }; + }; + }; + }; + create: { + type: string; + required: string[]; + properties: { + action: { + type: string; + const: string; + }; + collection: { + type: string; + }; + rkey: { + type: string; + }; + value: { + type: string; + }; + }; + }; + update: { + type: string; + required: string[]; + properties: { + action: { + type: string; + const: string; + }; + collection: { + type: string; + }; + rkey: { + type: string; + }; + value: { + type: string; + }; + }; + }; + delete: { + type: string; + required: string[]; + properties: { + action: { + type: string; + const: string; + }; + collection: { + type: string; + }; + rkey: { + type: string; + }; + }; + }; + }; + }; + ComAtprotoRepoCreateRecord: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + did: { + type: string; + description: string; + }; + collection: { + type: string; + description: string; + }; + validate: { + type: string; + default: boolean; + description: string; + }; + record: { + type: string; + description: string; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoRepoDeleteRecord: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + did: { + type: string; + description: string; + }; + collection: { + type: string; + description: string; + }; + rkey: { + type: string; + description: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoRepoDescribe: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + user: { + type: string; + description: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + handle: { + type: string; + }; + did: { + type: string; + }; + didDoc: { + type: string; + }; + collections: { + type: string; + items: { + type: string; + }; + }; + handleIsCorrect: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoRepoGetRecord: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + user: { + type: string; + description: string; + }; + collection: { + type: string; + description: string; + }; + rkey: { + type: string; + description: string; + }; + cid: { + type: string; + description: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + value: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoRepoListRecords: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + user: { + type: string; + description: string; + }; + collection: { + type: string; + description: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + description: string; + }; + before: { + type: string; + description: string; + }; + after: { + type: string; + description: string; + }; + reverse: { + type: string; + description: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cursor: { + type: string; + }; + records: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + record: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + value: { + type: string; + }; + }; + }; + }; + }; + ComAtprotoRepoPutRecord: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + did: { + type: string; + description: string; + }; + collection: { + type: string; + description: string; + }; + rkey: { + type: string; + description: string; + }; + validate: { + type: string; + default: boolean; + description: string; + }; + record: { + type: string; + description: string; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoRepoStrongRef: { + lexicon: number; + id: string; + description: string; + defs: { + main: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + }; + }; + }; + }; + ComAtprotoServerGetAccountsConfig: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + inviteCodeRequired: { + type: string; + }; + availableUserDomains: { + type: string; + items: { + type: string; + }; + }; + links: { + type: string; + ref: string; + }; + }; + }; + }; + }; + links: { + type: string; + properties: { + privacyPolicy: { + type: string; + }; + termsOfService: { + type: string; + }; + }; + }; + }; + }; + ComAtprotoSessionCreate: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + handle: { + type: string; + }; + password: { + type: string; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + accessJwt: { + type: string; + }; + refreshJwt: { + type: string; + }; + handle: { + type: string; + }; + did: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoSessionDelete: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + }; + }; + }; + ComAtprotoSessionGet: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + handle: { + type: string; + }; + did: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoSessionRefresh: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + accessJwt: { + type: string; + }; + refreshJwt: { + type: string; + }; + handle: { + type: string; + }; + did: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoSyncGetRepo: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + did: { + type: string; + description: string; + }; + from: { + type: string; + description: string; + }; + }; + }; + output: { + encoding: string; + }; + }; + }; + }; + ComAtprotoSyncGetRoot: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + did: { + type: string; + description: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + root: { + type: string; + }; + }; + }; + }; + }; + }; + }; + ComAtprotoSyncUpdateRepo: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + did: { + type: string; + description: string; + }; + }; + }; + input: { + encoding: string; + }; + }; + }; + }; + AppBskyActorCreateScene: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + handle: { + type: string; + }; + recoveryKey: { + type: string; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + handle: { + type: string; + }; + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + }; + }; + }; + errors: { + name: string; + }[]; + }; + }; + }; + AppBskyActorGetProfile: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + parameters: { + type: string; + required: string[]; + properties: { + actor: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + creator: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + description: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + }; + banner: { + type: string; + }; + followersCount: { + type: string; + }; + followsCount: { + type: string; + }; + membersCount: { + type: string; + }; + postsCount: { + type: string; + }; + myState: { + type: string; + ref: string; + }; + }; + }; + }; + }; + myState: { + type: string; + properties: { + follow: { + type: string; + }; + member: { + type: string; + }; + }; + }; + }; + }; + AppBskyActorGetSuggestions: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + properties: { + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + cursor: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cursor: { + type: string; + }; + actors: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + actor: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + description: { + type: string; + }; + avatar: { + type: string; + }; + indexedAt: { + type: string; + }; + myState: { + type: string; + ref: string; + }; + }; + }; + myState: { + type: string; + properties: { + follow: { + type: string; + }; + }; + }; + }; + }; + AppBskyActorProfile: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + displayName: { + type: string; + maxLength: number; + }; + description: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + accept: string[]; + maxWidth: number; + maxHeight: number; + maxSize: number; + }; + banner: { + type: string; + accept: string[]; + maxWidth: number; + maxHeight: number; + maxSize: number; + }; + }; + }; + }; + }; + }; + AppBskyActorRef: { + lexicon: number; + id: string; + description: string; + defs: { + main: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declarationCid: { + type: string; + }; + }; + }; + withInfo: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + }; + }; + }; + }; + }; + AppBskyActorSearch: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + term: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cursor: { + type: string; + }; + users: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + user: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + }; + description: { + type: string; + }; + indexedAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyActorSearchTypeahead: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + term: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + users: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + user: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + }; + }; + }; + }; + }; + AppBskyActorUpdateProfile: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + properties: { + did: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + description: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + accept: string[]; + maxWidth: number; + maxHeight: number; + maxSize: number; + }; + banner: { + type: string; + accept: string[]; + maxWidth: number; + maxHeight: number; + maxSize: number; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + record: { + type: string; + }; + }; + }; + }; + errors: { + name: string; + }[]; + }; + }; + }; + AppBskyFeedEmbed: { + lexicon: number; + id: string; + description: string; + defs: { + main: { + type: string; + description: string; + required: string[]; + properties: { + items: { + type: string; + items: { + type: string; + refs: string[]; + }; + }; + }; + }; + media: { + type: string; + required: string[]; + properties: { + alt: { + type: string; + }; + thumb: { + type: string; + }; + original: { + type: string; + }; + }; + }; + record: { + type: string; + required: string[]; + properties: { + type: { + type: string; + const: string; + }; + author: { + type: string; + ref: string; + }; + record: { + type: string; + }; + }; + }; + external: { + type: string; + required: string[]; + properties: { + type: { + type: string; + const: string; + }; + uri: { + type: string; + }; + title: { + type: string; + }; + description: { + type: string; + }; + imageUri: { + type: string; + }; + }; + }; + }; + }; + AppBskyFeedGetAuthorFeed: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + author: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cursor: { + type: string; + }; + feed: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + feedItem: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + author: { + type: string; + ref: string; + }; + trendedBy: { + type: string; + ref: string; + }; + repostedBy: { + type: string; + ref: string; + }; + record: { + type: string; + }; + embed: { + type: string; + ref: string; + }; + replyCount: { + type: string; + }; + repostCount: { + type: string; + }; + upvoteCount: { + type: string; + }; + downvoteCount: { + type: string; + }; + indexedAt: { + type: string; + }; + myState: { + type: string; + ref: string; + }; + }; + }; + myState: { + type: string; + properties: { + repost: { + type: string; + }; + upvote: { + type: string; + }; + downvote: { + type: string; + }; + }; + }; + }; + }; + AppBskyFeedGetPostThread: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + parameters: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + depth: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + thread: { + type: string; + refs: string[]; + }; + }; + }; + }; + errors: { + name: string; + }[]; + }; + post: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + author: { + type: string; + ref: string; + }; + record: { + type: string; + }; + embed: { + type: string; + ref: string; + }; + parent: { + type: string; + refs: string[]; + }; + replyCount: { + type: string; + }; + replies: { + type: string; + items: { + type: string; + refs: string[]; + }; + }; + repostCount: { + type: string; + }; + upvoteCount: { + type: string; + }; + downvoteCount: { + type: string; + }; + indexedAt: { + type: string; + }; + myState: { + type: string; + ref: string; + }; + }; + }; + notFoundPost: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + notFound: { + type: string; + const: boolean; + }; + }; + }; + myState: { + type: string; + properties: { + repost: { + type: string; + }; + upvote: { + type: string; + }; + downvote: { + type: string; + }; + }; + }; + }; + }; + AppBskyFeedGetRepostedBy: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + parameters: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + cursor: { + type: string; + }; + repostedBy: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + repostedBy: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + }; + createdAt: { + type: string; + }; + indexedAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyFeedGetTimeline: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + properties: { + algorithm: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cursor: { + type: string; + }; + feed: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + feedItem: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + author: { + type: string; + ref: string; + }; + trendedBy: { + type: string; + ref: string; + }; + repostedBy: { + type: string; + ref: string; + }; + record: { + type: string; + }; + embed: { + type: string; + ref: string; + }; + replyCount: { + type: string; + }; + repostCount: { + type: string; + }; + upvoteCount: { + type: string; + }; + downvoteCount: { + type: string; + }; + indexedAt: { + type: string; + }; + myState: { + type: string; + ref: string; + }; + }; + }; + myState: { + type: string; + properties: { + repost: { + type: string; + }; + upvote: { + type: string; + }; + downvote: { + type: string; + }; + }; + }; + }; + }; + AppBskyFeedGetVotes: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + parameters: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + direction: { + type: string; + enum: string[]; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + cursor: { + type: string; + }; + votes: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + vote: { + type: string; + required: string[]; + properties: { + direction: { + type: string; + enum: string[]; + }; + indexedAt: { + type: string; + }; + createdAt: { + type: string; + }; + actor: { + type: string; + ref: string; + }; + }; + }; + }; + }; + AppBskyFeedPost: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + text: { + type: string; + maxLength: number; + }; + entities: { + type: string; + items: { + type: string; + ref: string; + }; + }; + reply: { + type: string; + ref: string; + }; + createdAt: { + type: string; + }; + }; + }; + }; + replyRef: { + type: string; + required: string[]; + properties: { + root: { + type: string; + ref: string; + }; + parent: { + type: string; + ref: string; + }; + }; + }; + entity: { + type: string; + required: string[]; + properties: { + index: { + type: string; + ref: string; + }; + type: { + type: string; + description: string; + }; + value: { + type: string; + }; + }; + }; + textSlice: { + type: string; + required: string[]; + properties: { + start: { + type: string; + minimum: number; + }; + end: { + type: string; + minimum: number; + }; + }; + }; + }; + }; + AppBskyFeedRepost: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + createdAt: { + type: string; + }; + }; + }; + }; + }; + }; + AppBskyFeedSetVote: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + direction: { + type: string; + enum: string[]; + }; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + properties: { + upvote: { + type: string; + }; + downvote: { + type: string; + }; + }; + }; + }; + }; + }; + }; + AppBskyFeedTrend: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + createdAt: { + type: string; + }; + }; + }; + }; + }; + }; + AppBskyFeedVote: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + direction: { + type: string; + enum: string[]; + }; + createdAt: { + type: string; + }; + }; + }; + }; + }; + }; + AppBskyGraphAssertCreator: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + }; + }; + }; + AppBskyGraphAssertMember: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + }; + }; + }; + AppBskyGraphAssertion: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + assertion: { + type: string; + }; + subject: { + type: string; + ref: string; + }; + createdAt: { + type: string; + }; + }; + }; + }; + }; + }; + AppBskyGraphConfirmation: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + originator: { + type: string; + ref: string; + }; + assertion: { + type: string; + ref: string; + }; + createdAt: { + type: string; + }; + }; + }; + }; + }; + }; + AppBskyGraphFollow: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + createdAt: { + type: string; + }; + }; + }; + }; + }; + }; + AppBskyGraphGetAssertions: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + properties: { + author: { + type: string; + }; + subject: { + type: string; + }; + assertion: { + type: string; + }; + confirmed: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cursor: { + type: string; + }; + assertions: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + assertion: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + assertion: { + type: string; + }; + confirmation: { + type: string; + ref: string; + }; + author: { + type: string; + ref: string; + }; + subject: { + type: string; + ref: string; + }; + indexedAt: { + type: string; + }; + createdAt: { + type: string; + }; + }; + }; + confirmation: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + indexedAt: { + type: string; + }; + createdAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyGraphGetFollowers: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + user: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + cursor: { + type: string; + }; + followers: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + follower: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + avatar: { + type: string; + }; + createdAt: { + type: string; + }; + indexedAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyGraphGetFollows: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + user: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + cursor: { + type: string; + }; + follows: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + follow: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + createdAt: { + type: string; + }; + indexedAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyGraphGetMembers: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + actor: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + cursor: { + type: string; + }; + members: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + member: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + createdAt: { + type: string; + }; + indexedAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyGraphGetMemberships: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + parameters: { + type: string; + required: string[]; + properties: { + actor: { + type: string; + }; + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + subject: { + type: string; + ref: string; + }; + cursor: { + type: string; + }; + memberships: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + membership: { + type: string; + required: string[]; + properties: { + did: { + type: string; + }; + declaration: { + type: string; + ref: string; + }; + handle: { + type: string; + }; + displayName: { + type: string; + maxLength: number; + }; + createdAt: { + type: string; + }; + indexedAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyNotificationGetCount: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + count: { + type: string; + }; + }; + }; + }; + }; + }; + }; + AppBskyNotificationList: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + parameters: { + type: string; + properties: { + limit: { + type: string; + minimum: number; + maximum: number; + default: number; + }; + before: { + type: string; + }; + }; + }; + output: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + cursor: { + type: string; + }; + notifications: { + type: string; + items: { + type: string; + ref: string; + }; + }; + }; + }; + }; + }; + notification: { + type: string; + required: string[]; + properties: { + uri: { + type: string; + }; + cid: { + type: string; + }; + author: { + type: string; + ref: string; + }; + reason: { + type: string; + description: string; + knownValues: string[]; + }; + reasonSubject: { + type: string; + }; + record: { + type: string; + }; + isRead: { + type: string; + }; + indexedAt: { + type: string; + }; + }; + }; + }; + }; + AppBskyNotificationUpdateSeen: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + input: { + encoding: string; + schema: { + type: string; + required: string[]; + properties: { + seenAt: { + type: string; + }; + }; + }; + }; + }; + }; + }; + AppBskySystemActorScene: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + }; + }; + }; + AppBskySystemActorUser: { + lexicon: number; + id: string; + defs: { + main: { + type: string; + description: string; + }; + }; + }; + AppBskySystemDeclRef: { + lexicon: number; + id: string; + defs: { + main: { + description: string; + type: string; + required: string[]; + properties: { + cid: { + type: string; + }; + actorType: { + type: string; + knownValues: string[]; + }; + }; + }; + }; + }; + AppBskySystemDeclaration: { + lexicon: number; + id: string; + defs: { + main: { + description: string; + type: string; + key: string; + record: { + type: string; + required: string[]; + properties: { + actorType: { + type: string; + knownValues: string[]; + }; + }; + }; + }; + }; + }; +}; +export declare const schemas: LexiconDoc[]; +export declare const lexicons: Lexicons; export declare const ids: { ComAtprotoAccountCreate: string; ComAtprotoAccountCreateInviteCode: string; diff --git a/src/third-party/api/src/client/types/app/bsky/actor/getProfile.d.ts b/src/third-party/api/src/client/types/app/bsky/actor/getProfile.d.ts index 24e12a08..2cb4e3d2 100644 --- a/src/third-party/api/src/client/types/app/bsky/actor/getProfile.d.ts +++ b/src/third-party/api/src/client/types/app/bsky/actor/getProfile.d.ts @@ -12,6 +12,7 @@ export interface OutputSchema { displayName?: string; description?: string; avatar?: string; + banner?: string; followersCount: number; followsCount: number; membersCount: number; diff --git a/src/third-party/api/src/client/types/app/bsky/actor/profile.d.ts b/src/third-party/api/src/client/types/app/bsky/actor/profile.d.ts index 6573721c..52790378 100644 --- a/src/third-party/api/src/client/types/app/bsky/actor/profile.d.ts +++ b/src/third-party/api/src/client/types/app/bsky/actor/profile.d.ts @@ -6,5 +6,10 @@ export interface Record { mimeType: string; [k: string]: unknown; }; + banner?: { + cid: string; + mimeType: string; + [k: string]: unknown; + }; [k: string]: unknown; } diff --git a/src/third-party/api/src/client/types/app/bsky/actor/updateProfile.d.ts b/src/third-party/api/src/client/types/app/bsky/actor/updateProfile.d.ts index 951b59d7..7ae89071 100644 --- a/src/third-party/api/src/client/types/app/bsky/actor/updateProfile.d.ts +++ b/src/third-party/api/src/client/types/app/bsky/actor/updateProfile.d.ts @@ -1,4 +1,4 @@ -import { Headers } from '@atproto/xrpc'; +import { Headers, XRPCError } from '@atproto/xrpc'; export interface QueryParams { } export interface InputSchema { @@ -10,6 +10,11 @@ export interface InputSchema { mimeType: string; [k: string]: unknown; }; + banner?: { + cid: string; + mimeType: string; + [k: string]: unknown; + }; [k: string]: unknown; } export interface OutputSchema { @@ -28,4 +33,16 @@ export interface Response { headers: Headers; data: OutputSchema; } +export declare class InvalidBlobError extends XRPCError { + constructor(src: XRPCError); +} +export declare class BlobTooLargeError extends XRPCError { + constructor(src: XRPCError); +} +export declare class InvalidMimeTypeError extends XRPCError { + constructor(src: XRPCError); +} +export declare class InvalidImageDimensionsError extends XRPCError { + constructor(src: XRPCError); +} export declare function toKnownErr(e: any): any; diff --git a/src/third-party/api/src/client/types/com/atproto/blob/upload.d.ts b/src/third-party/api/src/client/types/com/atproto/blob/upload.d.ts index ccfb194f..aadc64f5 100644 --- a/src/third-party/api/src/client/types/com/atproto/blob/upload.d.ts +++ b/src/third-party/api/src/client/types/com/atproto/blob/upload.d.ts @@ -1,4 +1,4 @@ -import { Headers, XRPCError } from '@atproto/xrpc'; +import { Headers } from '@atproto/xrpc'; export interface QueryParams { } export declare type InputSchema = string | Uint8Array; @@ -9,14 +9,11 @@ export interface OutputSchema { export interface CallOptions { headers?: Headers; qp?: QueryParams; - encoding: '*/*'; + encoding: string; } export interface Response { success: boolean; headers: Headers; data: OutputSchema; } -export declare class InvalidBlobError extends XRPCError { - constructor(src: XRPCError); -} export declare function toKnownErr(e: any): any; diff --git a/src/third-party/api/tsconfig.build.tsbuildinfo b/src/third-party/api/tsconfig.build.tsbuildinfo index 2c840844..0d250308 100644 --- a/src/third-party/api/tsconfig.build.tsbuildinfo +++ b/src/third-party/api/tsconfig.build.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/zod/lib/helpers/typealiases.d.ts","../../../node_modules/zod/lib/helpers/util.d.ts","../../../node_modules/zod/lib/zoderror.d.ts","../../../node_modules/zod/lib/locales/en.d.ts","../../../node_modules/zod/lib/errors.d.ts","../../../node_modules/zod/lib/helpers/parseutil.d.ts","../../../node_modules/zod/lib/helpers/enumutil.d.ts","../../../node_modules/zod/lib/helpers/errorutil.d.ts","../../../node_modules/zod/lib/helpers/partialutil.d.ts","../../../node_modules/zod/lib/types.d.ts","../../../node_modules/zod/lib/external.d.ts","../../../node_modules/zod/lib/index.d.ts","../../../node_modules/zod/index.d.ts","../../xrpc/src/types.ts","../../nsid/src/index.ts","../../lexicon/src/types.ts","../../lexicon/src/validators/primitives.ts","../../lexicon/src/validators/blob.ts","../../lexicon/src/validators/complex.ts","../../lexicon/src/util.ts","../../lexicon/src/validators/xrpc.ts","../../lexicon/src/validation.ts","../../lexicon/src/lexicons.ts","../../lexicon/src/index.ts","../../xrpc/src/util.ts","../../xrpc/src/client.ts","../../xrpc/src/index.ts","../src/client/lexicons.ts","../src/client/types/com/atproto/account/create.ts","../src/client/types/com/atproto/account/createinvitecode.ts","../src/client/types/com/atproto/account/delete.ts","../src/client/types/com/atproto/account/get.ts","../src/client/types/com/atproto/account/requestpasswordreset.ts","../src/client/types/com/atproto/account/resetpassword.ts","../src/client/types/com/atproto/blob/upload.ts","../src/client/types/com/atproto/handle/resolve.ts","../src/client/types/com/atproto/repo/batchwrite.ts","../src/client/types/com/atproto/repo/createrecord.ts","../src/client/types/com/atproto/repo/deleterecord.ts","../src/client/types/com/atproto/repo/describe.ts","../src/client/types/com/atproto/repo/getrecord.ts","../src/client/types/com/atproto/repo/listrecords.ts","../src/client/types/com/atproto/repo/putrecord.ts","../src/client/types/com/atproto/repo/strongref.ts","../src/client/types/com/atproto/server/getaccountsconfig.ts","../src/client/types/com/atproto/session/create.ts","../src/client/types/com/atproto/session/delete.ts","../src/client/types/com/atproto/session/get.ts","../src/client/types/com/atproto/session/refresh.ts","../src/client/types/com/atproto/sync/getrepo.ts","../src/client/types/com/atproto/sync/getroot.ts","../src/client/types/com/atproto/sync/updaterepo.ts","../src/client/types/app/bsky/system/declref.ts","../src/client/types/app/bsky/actor/createscene.ts","../src/client/types/app/bsky/actor/getprofile.ts","../src/client/types/app/bsky/actor/getsuggestions.ts","../src/client/types/app/bsky/actor/profile.ts","../src/client/types/app/bsky/actor/ref.ts","../src/client/types/app/bsky/actor/search.ts","../src/client/types/app/bsky/actor/searchtypeahead.ts","../src/client/types/app/bsky/actor/updateprofile.ts","../src/client/types/app/bsky/feed/embed.ts","../src/client/types/app/bsky/feed/getauthorfeed.ts","../src/client/types/app/bsky/feed/getpostthread.ts","../src/client/types/app/bsky/feed/getrepostedby.ts","../src/client/types/app/bsky/feed/gettimeline.ts","../src/client/types/app/bsky/feed/getvotes.ts","../src/client/types/app/bsky/feed/post.ts","../src/client/types/app/bsky/feed/repost.ts","../src/client/types/app/bsky/feed/setvote.ts","../src/client/types/app/bsky/feed/trend.ts","../src/client/types/app/bsky/feed/vote.ts","../src/client/types/app/bsky/graph/assertcreator.ts","../src/client/types/app/bsky/graph/assertmember.ts","../src/client/types/app/bsky/graph/assertion.ts","../src/client/types/app/bsky/graph/confirmation.ts","../src/client/types/app/bsky/graph/follow.ts","../src/client/types/app/bsky/graph/getassertions.ts","../src/client/types/app/bsky/graph/getfollowers.ts","../src/client/types/app/bsky/graph/getfollows.ts","../src/client/types/app/bsky/graph/getmembers.ts","../src/client/types/app/bsky/graph/getmemberships.ts","../src/client/types/app/bsky/notification/getcount.ts","../src/client/types/app/bsky/notification/list.ts","../src/client/types/app/bsky/notification/updateseen.ts","../src/client/types/app/bsky/system/actorscene.ts","../src/client/types/app/bsky/system/actoruser.ts","../src/client/types/app/bsky/system/declaration.ts","../src/client/index.ts","../../../node_modules/typed-emitter/index.d.ts","../src/session.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/node/ts4.8/assert.d.ts","../../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../../node_modules/@types/node/ts4.8/globals.d.ts","../../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../node_modules/@types/node/ts4.8/buffer.d.ts","../../../node_modules/@types/node/ts4.8/child_process.d.ts","../../../node_modules/@types/node/ts4.8/cluster.d.ts","../../../node_modules/@types/node/ts4.8/console.d.ts","../../../node_modules/@types/node/ts4.8/constants.d.ts","../../../node_modules/@types/node/ts4.8/crypto.d.ts","../../../node_modules/@types/node/ts4.8/dgram.d.ts","../../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../../node_modules/@types/node/ts4.8/dns.d.ts","../../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../../node_modules/@types/node/ts4.8/domain.d.ts","../../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../../node_modules/@types/node/ts4.8/events.d.ts","../../../node_modules/@types/node/ts4.8/fs.d.ts","../../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../node_modules/@types/node/ts4.8/http.d.ts","../../../node_modules/@types/node/ts4.8/http2.d.ts","../../../node_modules/@types/node/ts4.8/https.d.ts","../../../node_modules/@types/node/ts4.8/inspector.d.ts","../../../node_modules/@types/node/ts4.8/module.d.ts","../../../node_modules/@types/node/ts4.8/net.d.ts","../../../node_modules/@types/node/ts4.8/os.d.ts","../../../node_modules/@types/node/ts4.8/path.d.ts","../../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../node_modules/@types/node/ts4.8/process.d.ts","../../../node_modules/@types/node/ts4.8/punycode.d.ts","../../../node_modules/@types/node/ts4.8/querystring.d.ts","../../../node_modules/@types/node/ts4.8/readline.d.ts","../../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../../node_modules/@types/node/ts4.8/repl.d.ts","../../../node_modules/@types/node/ts4.8/stream.d.ts","../../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../node_modules/@types/node/ts4.8/test.d.ts","../../../node_modules/@types/node/ts4.8/timers.d.ts","../../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../../node_modules/@types/node/ts4.8/tls.d.ts","../../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../../node_modules/@types/node/ts4.8/tty.d.ts","../../../node_modules/@types/node/ts4.8/url.d.ts","../../../node_modules/@types/node/ts4.8/util.d.ts","../../../node_modules/@types/node/ts4.8/v8.d.ts","../../../node_modules/@types/node/ts4.8/vm.d.ts","../../../node_modules/@types/node/ts4.8/wasi.d.ts","../../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../node_modules/@types/node/ts4.8/zlib.d.ts","../../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../../node_modules/@types/node/ts4.8/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/cors/index.d.ts","../../../node_modules/@types/elliptic/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/http-errors/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../../node_modules/@types/nodemailer/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/pg-types/index.d.ts","../../../node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/@types/pg/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/sharp/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/util.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb09ec0a64fc17dbbc4a228b3b18aa5f01db3440a6b0cbb02354df58674d584","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"9afae14803f3b7343ed6d193173008715c1fa3421a353a818c805244ed737a84","bb98c05ae5cb9bd7cb7ad76fe517251a661787a6f24337b842f47faf393f79c7","a93bf95f7009c90e7d1edb092560d4052e3ebbe9b9ad2d796bcd95dc4306825c","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","014b34d4c2ef27191fdf3feabb6557ec92127f813910725b6e79ed9a49e466b6","72efc3e8cee3cb13144cb63bb8aacf28f918439a2ff222de89e0e5d7ba9c7170","b61efb129c7011068cb4ccbbd86d5741ac82653476b09f46d3d06dd99b5b687e","2b7961486503fa279a4f1a52928d8c31fc6558c335b750878721467210552dd7","d1f62988c7e8e8650f7ed39520a766648155abbf75dd89f60e24f069433301d4","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","156b9be8718e5157c84f4ca2163a48f9a8334e4477b945694c882ab89fd3382d","14e6f51486f4234e46f1b2c09c852989754de877fda7b2afdd709627e24b9882","207dbf55dfe32ef1298e5945f196911bb7fb75a2ebd15e3606c65535ad8f474d","3d20a183069527c92a7d6cb79ca521fa4f8cc9d36b56cb269db4088c220d0ac9","4c8aa3b64e4973c8d22231943bc8ebbecdc3c2d8c6aaac829151c3dbc0bfc7c8","4f5e1e2785adc88653b1888a315532329a4b615a09a422c2bc1cb2f49df33740","906dd0e8fa586117f9ed4dd86573c68b1a1080adc63221429f8b29975d357714","2861e0a8090f7ebd61dd1fa9970b04a5a2afe911ab4baca19cdc21a8e6ed9b28","0966a4236c1616d428cf4615cffb6fcd8bc16c0f4852a8146610ec3cb48af913","8859c7be12542da46ae05d00f5e9eccd8aba56ad687852b3565bf40e94a5924e","b4e1ab9692322413a0095065c5a5e8a4f433e2b082d02635b82fae7e17a8fc6a","eb978dd055b9ce273d159e691fd0e5245724e93fe1bf6f6a7ac52b2a2c5afcde","c951a82134ce7545a7469d0b34c7cf61a968a2fd180c7b0761e09ffddc769996","dc8bd2d3fdede21907b93d1b962354779cdae08f83205f4507b639f0f69a29a2",{"version":"11819aa7988c7771a2b4d3ebd3f841f58673b4b3294e94aea30f4c4005cdf097","signature":"ae413e868fe61840a38ba6ca1ee01a45ae4ee2fe4a6c39d6ee292d96c3b43c92"},{"version":"38e89ed53adbb64433e74157c093654332b19aa74220b4a8f2c04b29d9b0bdd5","signature":"6d2bba1860095de82f4f2bd67ceb6c0eb2d8ec739581a30c3009b956d1037901"},{"version":"e0b3ad55cffaa95991cce4e3bc78384e7733e2477b217d2cd24da31e87291f8a","signature":"f160348d30169b0c2499990fe76d8e15cfbb6e8463be2b1869c53d133b936dfc"},{"version":"363b51b18cfdf213b990a45ffe6225793cd370ed38b54b42ba057f37cd8c4c34","signature":"5d999925e847ad23c8657074fda9a5559113c4156c89e668322505a243907449"},{"version":"b29740c6188e84ebd81cc27caa59b19fbfef6983f9cdcb14c7796eb8d57d8908","signature":"5abb501b865b7f33f9846da9aadef7b964a35bcf68276524e249096c23460b43"},{"version":"fd5349347ac67bffb31bec34ea44364bd0ffb1780e2728de74b216178daafb34","signature":"eedbd1cfb0884d3b46a133fe9243c1b9d0c4037b96fed382c749a0dd415098d8"},{"version":"ede18a50b3ce627b4d31dccb014ef4ddb8d0293ec29d74cfd00273b51682a1ee","signature":"954595352af7c28235d5ead40be59503033fdb672a062865a5421a448c031154"},{"version":"5f26fcfd1031095a447b619910449e0ac57bcd8c2af1b8ca36a2fce62c07bbba","signature":"6d0c60b42545cfd8c9671d6db4b31b98dc978820f46ed97645cec927485767cd"},{"version":"a883472081fb34e9f38b67c5cb1c284c86da101b263fa480886be177b2340d53","signature":"fe06006d74387cf01b9686789ef46b8c3ddefbac667fa8c1999a55da295c0873"},{"version":"014b809041f801ef09e11460852ddb8e60daa804549f9ce62863cfe3223dced7","signature":"b96c5dcf2c7dc76fe56927605f29eeb09b08fb36b7c983c130a13d933ae83247"},{"version":"a17e7bb60c8a7763103e26dd51ec843aacee5e9d0d7b43d7e66e2cc2e47a0421","signature":"ba3c01853dde109bd23af1426806cffe120dad5e728f7db115342e78bf02d805"},{"version":"537944d7ee8932a8686eec85604841faa82fed688f145bac775f968824464f97","signature":"030488d5760d79dfc46d733b07c6fdfbc773bfc9c5290cf8bd1fcd9b9ef20c7a"},{"version":"bc46ec4bc7954727837ad4aebc6500bd15b6ba5ecfa68ddc989b779f36e0a3b5","signature":"c2449b4b23ca7fffd902e7e0dbc6fd1e493fc622e34e73e9b7f64bb8195bf4bd"},{"version":"8fef4039a121e04b88f69cb30287ee57d8acad5dd2571e13dc3b9de61cbcbc26","signature":"4b0a859871faf72ea6f481019c0384a2a1b3d1caf4462779f2b12556d76a550a"},{"version":"1eb0698de47ff6530a18610f2030c22743fc7d7f4299ce1189abe25f13606926","signature":"5b55701ecc7431d1af6729f10fe493ef5eb38ede59e5d82dd7cabdc50a083a9c"},{"version":"3e98c53fb0813dd664ab24754f8ea50b67bf027caf78d9bbe76a66f9e47e6d37","signature":"e16edd7b5e640457f4959a47b837833089df0baa2b0d91b6f604b3eda7145b4f"},{"version":"b4376fb73ecd3ad0449eb55bbaf44a58115edf5664c5c4f53fa830c211dc022d","signature":"b90ee86a7b55f699519c13b7e50d7b3cce5756bf62b3da0b0a9238ed83b93d04"},{"version":"e7cf20ea84b54af49e025925fe485f9419d97dcfccb7ece55d89860660dc54cc","signature":"9e9f9b5ad0922a7f172eaa2e0444d5298670e80e6b092bdd1f7a4d9abe12391a"},{"version":"a14722fb5c2adb2c338d7155c5e70bd3290bc3935a740ce1b291700915559be5","signature":"24dcb20e81830d1e14dcbfb4f54097a6201ac850e5e3d32ad98f8ec2e366acad"},{"version":"363b51b18cfdf213b990a45ffe6225793cd370ed38b54b42ba057f37cd8c4c34","signature":"5d999925e847ad23c8657074fda9a5559113c4156c89e668322505a243907449"},{"version":"81d363282ea148ae7b5b68bb0f7bc10f56f8c043c74ae1538b19f831816670b1","signature":"afda0409fddfcda8a53326dc8c5c79c4ff26218402529a4858f6141a31303960"},{"version":"fc25931907a5b86b4a58c9c8dcd1bf0e40afb8cda0a3da07389ea04462398766","signature":"ac5c1191c3d4470d58db7c0ed081b2f638f6b7cc91df7b670ff3317987e4326f"},{"version":"676d32222d79f25153430eca53541ff6ab411f36b2b46e3ce26d6d642e8aaa8f","signature":"9dea0e20ae109cffb6ed9c1f6c80f27731d59075092ee73e390a08402bc575c1"},{"version":"e7cf7858020dd7939dbc9351690a5c9dbcf0f7e455a576ae0fe94bc9f2e45c73","signature":"d2fb24212524dceaae883198dab7e0c31ddf30ea61ca0d326b7c87df6e12b51f"},{"version":"321dda8e00109f534c0336c94eefc2dafc4b78e12c5c09b4c8e1dfc430dc3233","signature":"04942cf19474c37c7b3300e4a916889fe64de4ecf14673000eab7f0980025e93"},{"version":"e485a6d2b76553f36a4012b9a6d965dd9a957f07daa5ccd7fc86adabc6224c38","signature":"3043f46820ae3d97134378e2cbbea4795b8b8af9faf1d93c6e3863de25604760"},{"version":"1e661c5647265cf361ca057dd9bcc749bf9e7580b1b7925972e2bd7f78ef0484","signature":"22a8f90c30ac847439de1e1bf7a7d082838ca007f19f3f64c70f3e3050c41818"},{"version":"568a9ffaa9581037f34c7304672a9a16124939a96c09d9952a536cbc2132987c","signature":"1c52f6bde1d134b082b1262f1ac8ad09d64d76f59d8e4748f43e59892e08d52a"},{"version":"1ff96ed2ba881c32e79206c6351120e5982b3c3b101a4b3db5d669f5ee875880","signature":"9285a11d74282bc87cc42eb49bc568a7ae64c01976847c695fbbcb010e04f095"},{"version":"3676bc00869e23214d079784e3add2b7079ee7f6d50548b7ac5fb14809cd87f6","signature":"c00f7ceadb593444f58831e3114cd09ba55e2260746c0a28aaa98a7729364fed"},{"version":"f0514756f04f3f3029aa1d045f49759d547674c09991b4d2e903f8bb1141d673","signature":"e3c2ec59f8043229f0833b26ba5505a4f6376fa7f79d8bf648a62b22dddf4012"},{"version":"e8d059fb2fc4dd11a0db213f7b8c333f6606b096b312fba7bb1ba813a6558d8a","signature":"b486316cd620151cd230197a3ea21cf02c1ab34b3bfa57bfa36df03764643f9a"},{"version":"e4070b2e6dec09370be84f436d0ecc3d96c7e76b5a829c3119d7290c957a3b43","signature":"d67837989e43a17172fd6b2c8d35e0f4ec113b93b4e38c7d9e043583bb243a2e"},{"version":"19b873bd5884dcf821d4abee1fc9ce08dfdb4d1536ad4940eea8f5e03db0010e","signature":"99dd5db116ab998b929eba1813d1cdbeaf06fc92d647f6ed0c7d2d908c64e8b6"},{"version":"65ff38c0225936236529649fd85e792ce73b0840611e3107a195e50f11bceb31","signature":"035dc4f914fb319f20524a0b8b2d65f3375edefaf5d32b06264fac11b0c1be96"},{"version":"eb9f771060dc57f7b83d808b516e4f119d49bfee92945c86b07f1203ce3f6f30","signature":"e114241c6ca163b680755072af82415c3a5ca6151508d526b35982f54f682e0e"},{"version":"965aaf6b8fdf87532162919d2053af41dca88c4c3126520ef6a01c911bf6a8db","signature":"56f607c3cfc2130aa6fe2e04664a151967443a08733ccf65945a4850e8838e1b"},{"version":"a87129855a6898b5ca3cc4f46697be40be1900e642694bcdc59dbedcf05dfd5c","signature":"c2ed7248f573304683b5de07eff2e57415d264ee7bd14f5f3d398915a26c6167"},{"version":"02e19048213c2862e0bc9e4ded0c28183469f2cbaa99bba6f805849df7a78f01","signature":"93ea9d8e1aa729375e036654645c56d8fb7ebab85e2ee092798285cc0d57324a"},{"version":"2f133be0f7197273001fdcb24563b2951ef9b1694a9b7489013f7af9f47c38b5","signature":"4145d8b6a1abd1fd7dbf3ad2fcc70120e555cf029c4fa6d8477e30753aae7266"},{"version":"7298a3a86d55be49cfa46758863e5a9a4eae6e99051079ed852fdf0fc57b2042","signature":"2952e9d2025b53e20f737cd4cfed1f4ae9367ea56bccaa30335c5dcdb60b070b"},{"version":"2e762ce2704dabbed305b7182da56c419dba3bd8a65f0f52d8a25b99d3673137","signature":"af9da8a546b60b31496ed251ae53cc72bc3d41f7b47694393dfa65a51280f908"},{"version":"e69c0b65fdfcc284bddc62aa4b514f21c574cc903f52b93bc9a36b23d8d86228","signature":"498f51f807f57d06b29b47c30ed131aa8dc67cdc6d3efd5fae63cc93b591c444"},{"version":"2e762ce2704dabbed305b7182da56c419dba3bd8a65f0f52d8a25b99d3673137","signature":"af9da8a546b60b31496ed251ae53cc72bc3d41f7b47694393dfa65a51280f908"},{"version":"411020f596b80e58fe37f7b627c1332a97741ba57420a3109f538f8a05ca4ca8","signature":"855d6732b5d77e501a6367ff9726b6fc02e5a36ec31181dd8ae165567a7a38b4"},{"version":"efff7ade1541a8a2eb0ba4ef4e37e41a26e0c984f1b01cd14983dff11f6da5b5","signature":"2c20cc7238cbd19319210cf5855138d104e9e3ba267c3d20aeaf279a9af47c42"},{"version":"81ad8984e9880613c4e057d65176597acd7e4ff0610f6b44d20d1ab97b53e1d1","signature":"3013de7e95be2b01e5f8d187e8de22c5313a47030eb26d17897153b1101405a5"},{"version":"c939aed41531096d26a08cf3cca5ecf3c05c24b030af84e1cb1ba0307c119ce9","signature":"43b644698d12b39f153baa6ad3a180e44ba7c54269fab60b52bd549fddc15476"},{"version":"ad21ca8687e59e302bd87273c4b9d0e180cfe18499e2f6b9421725764549d960","signature":"a22e4cd16c8f73a978225092138442f1879da5672da984ea40ce35f0e06a427e"},{"version":"4e81e21175876dd5159ac6d43f4ca7b457f11170decf2dc539efacb2fad0d72a","signature":"6e557f2433a75d20ba296fccaecd20796e7a66ce88ac4620c587ba909ac2eb1f"},{"version":"67355ca6d610f664bdb24743b9cc6d35547ed1e7c2adbe53f46a1a1e2238505b","signature":"bedf23c1c94c3a4bfdb5249f78d29242762285f4adfddbbcda52f098b4d025cf"},{"version":"8a21f93651233b29efd855bb3abdd924e722208f1717753a6dcaf2420cdda46b","signature":"d87f08972ad9cc5f7bd9277308741f225722d74a1a49c93778951a07ef1edc49"},{"version":"88585e1d70cd4f0fac0f0bf3108c7fa33eb0ed482debd437bc13d751b2cbf902","signature":"cf9023853abdc876cdbe234c35bee87f8fcfe1975af839c77f987676a5070c14"},{"version":"02f008f69fdef4a2b1eff41907acb6dffadaf2e3707f2fc1839d83177cd0757c","signature":"adeb007dd90e76a73f4b070139a964cdb3159560e6f359c53791ec8dfff73b5e"},{"version":"2e868b4f7b6ff80207152a12025136a1b654144af15097c26fd261eb940f805c","signature":"7cdaa38ab075300328647b62916089b9380c010e04d20b9d66671d99564dd286"},{"version":"ac67ccaa9e21896d07dba6e76075a6e56e5a773b6b0241231daaccf029132aad","signature":"209e9e58dd4eb70a91262c65d4be7b544d825fafbcdc9dd3dbadb4cae334c82c"},{"version":"38d77c1e4d11780dbc03ff0b6b3fab908fd94747cdd70a93c8cf16a8e823554c","signature":"5035b339f67ec94577421c650110c612b192e40ab6e3c7c24cfdd5e0d7695f72"},{"version":"421b1a5f751b0135df9e0ae4f8fbadda26b0a28bbd02e402669844959b49f132","signature":"5fb0f9a1e35016120a2bfb2735b12de00912f399949e8e8f8813d2faecd98a0f"},{"version":"115d9bfdd156fa6b2d9affe5cd8feb81344b9aa19481a3f5bde1b8008a114299","signature":"719eaa179d953b043795fd6fc3e97cc51bda454e8bad55fcb31e58a1ba03ae10"},{"version":"3226a1b3524f1c07d8379f9d9b445943f36131e5fbde8d777b7cb2cef3f56a82","signature":"0df8815fca8b165f461723833493def462844cf11722ef1cced82e52b3b8d881"},{"version":"8d41619dda215df9b5cb439c19f7e7d810f0fb2712ba43f3c11ba175b80311f0","signature":"1892494c78bbe8c8c4bb08d7eb71e945c8a6a740a7790da48d0c2d4123713750"},{"version":"b9c481a0b21eb4e690592657068f5db5f8a41f7cc1a14695bfd1bd7244d417bb","signature":"8fbf0f93d0b2142fadd35dbe43404d95b765e5e6fe1829c11d4c174def114874"},"6c27d4b5ba01295ef334456d9af4366aca789f228eee70fcb874b903a59b0e5b",{"version":"d2917c1370f3d1859c884ba3726d63c14fa3086a0c8671d311b08810e557dd22","signature":"18f168653a953e3bf0ed315e79413969de4c6fcff7add51c8b2005eda2a07cb2"},{"version":"a0f41c123f2d733f503fa755bb2d029aa461364ba103b87f27685ff447835d34","signature":"914fc0941912b62e2f6a03a59ab61b2eae9d4c5a9d5f2728ad47a5b5021b5d6f"},"c561efdf5ba0b62619745d4761fe2d9756f23db972e039367d15922fed67fd2f","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"c0db280fa6b09d7b8d6720a19a47f485956a41ee0e6914f1b704033eb69c6058","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","afcc1c426b76db7ec80e563d4fb0ba9e6bcc6e63c2d7e9342e649dc56d26347f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","b01a80007e448d035a16c74b5c95a5405b2e81b12fabcf18b75aa9eb9ef28990","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","213fc4f2b172d8beb74b77d7c1b41488d67348066d185e4263470cbb010cd6e8",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"f7db71191aa7aac5d6bc927ed6e7075c2763d22c7238227ec0c63c8cf5cb6a8b","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612","b8a427b9fe88504a6fb092e21adfe272d144394a2ced7f9e4adc3de7efa6e216","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"ae3fe461989bbd951344efc1f1fe932360ce7392e6126bdb225a82a1bbaf15ee","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f47887b61c6cf2f48746980390d6cb5b8013518951d912cfb37fe748071942be","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","f463d61cf39c3a6a5f96cdf7adfdb72a0b1d663f7b5d5b6dd042adba835430c2","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","3e6bbb0883148627ca0854a9f62d820aaf1a0f1842f5568176721fef156b8f23","ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","f72f8428f3c1caa22e9c247d046603b85b442c0dae7b77a7a0bc092c18867cb7",{"version":"195f63105abc03e72b6a176e3e34dfb5ac932b55db378fdc7874b1617e24b465","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","bb654d426b82e0846cd4bd7de91d637039ecdfd63c94447373490178f80846fe","db90f54098b237753ac9c846e39cd49aa538dcad07a2e1c68a138f3c0f8e621d","92ad68795c32309fb43576cacb38bd2677deeed38f5730dcd4a8c5e65463ae15","4b16417aab5a4b276fd4a7db95120a8c7b4d49a6d68ddfe075e9f46dcbf22f00","eecb2ea10a1500dcc6bdeff14be1fb43806f63a9b8562e16e1b4fc8baa8dfa8d","221a6ab66d611349faaf80af49c7a34d95623787610fd153fed4da0811abdcae","f3d84d6f83cf131e4db335dc8100898adbeb01dd4cf4e2fe695ab220eac98be4","6521aaade4e1d23cbc4b665083b004aeaca23f3347ba2422f88d1828968a0056","e79130cf2ba010f2b79747bf43b086252ad041b130768331a1144c0a86185877","e9709ed827c40789c669736fc78e2ab603605e8e81325d1e6d7a5eb451810dd0","dafce7a7b279977940b6b4b50017625e4f922f73094433d2875994bdc0b27e87","6fc76efbb61d3336833ef44ff3f37552667f26c2a73b368f3b4b259f19f2c234","479496e5bb48f2f5e981ef646665bc09fd9ab080e86e9ea882ca4369411604af","6c559dee3c6251c261b67df08e01d4cbc89cbd7a63300150c636705733cebfff","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","87ed0f84f0691d5c724b23159db96342e6b04ac69201b02c65936f4281ce1fbe","13868c5792808236b17dfe2803eafce911ea4d09d3b2fda95391891a494f988f","0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","fa5c2d3fcd8e227e180815df0a0903ed4b116400452af8a75ac5b68e5e1de9da","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","9adb78bae51a473d33f40da9bdb50c0e491d1cc7a5db776665853effa0cd3374","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":1,"module":1,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":7},"fileIdsList":[[149,201],[201],[201,228],[149,150,151,152,153,201],[149,151,201],[201,208],[174,201,208,210],[174,201,208],[174,201],[201,209],[171,174,201,208,214,215],[201,211,215,216,219],[172,201,208],[201,223],[201,224],[201,230,233],[201,217],[201,218],[155,201],[158,201],[159,164,192,201],[160,171,172,179,189,200,201],[160,161,171,179,201],[162,201],[163,164,172,180,201],[164,189,197,201],[165,167,171,179,201],[166,201],[167,168,201],[171,201],[169,171,201],[171,172,173,189,200,201],[171,172,173,186,189,192,201],[201,205],[174,179,189,200,201],[171,172,174,175,179,189,197,200,201],[174,176,189,197,200,201],[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207],[171,177,201],[178,200,201],[167,171,179,189,201],[180,201],[181,201],[158,182,201],[183,199,201,205],[184,201],[185,201],[171,186,187,201],[186,188,201,203],[159,171,189,190,191,192,201],[159,189,191,201],[189,190,201],[192,201],[193,201],[171,195,196,201],[195,196,201],[164,179,189,197,201],[198,201],[179,199,201],[159,174,185,200,201],[164,201],[189,201,202],[201,203],[201,204],[159,164,171,173,182,189,200,201,203,205],[189,201,206],[201,208,240,242,246,247,248,249,250,251],[189,201,208],[171,201,208,240,242,243,245,252],[171,179,189,200,201,208,239,240,241,243,244,245,252],[189,201,208,242,243],[189,201,208,242,244],[201,208,240,242,243,245,252],[189,201,208,244],[171,179,189,197,201,208,241,243,245],[171,201,208,240,242,243,244,245,252],[171,189,201,208,240,241,242,243,244,245,252],[171,189,201,208,240,242,243,245,252],[174,189,201,208,245],[171,189,197,201,208,255,256,259,260],[174,201,208,218],[201,264],[201,226,232],[201,230],[201,227,231],[201,208,256,257,258],[189,201,208,256],[201,229],[68,201],[59,60,201],[57,58,59,61,62,66,201],[58,59,201],[67,201],[59,201],[57,58,59,62,63,64,65,201],[57,58,68,201],[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,201],[80,201],[83,109,201],[109,201],[83,201],[114,201],[83,114,118,201],[83,114,201],[100,201],[83,100,201],[100,114,201],[83,109,114,201],[145,147,201],[83,102,105,145,146,171,201],[72,79,201],[69,72,76,78,201],[69,71,201],[72,75,79,201],[72,75,76,77,79,201],[72,73,74,76,79,201],[72,73,79,201],[70,80,81,201],[70,82,201],[69,201],[70,80,201],[149],[228],[149,150,151,152,153],[149,151],[266],[210,266,267],[266,267],[267],[209],[214,215,266,267,268],[211,215,216,219],[266,269],[223],[224],[230,233],[217],[218],[240,242,246,247,248,249,250,251,266],[266,270],[240,242,243,245,252,266,268],[239,240,241,243,244,245,252,266,268,270,271,272],[242,243,266,270],[242,244,266,270],[240,242,243,245,252,266],[244,266,270],[241,243,245,266,268,270,271,273],[240,242,243,244,245,252,266,268],[240,241,242,243,244,245,252,266,268,270],[240,242,243,245,252,266,268,270],[245,266,267,270],[255,256,259,260,266,268,270,273],[218,266,267],[264],[226,232],[230],[227,231],[256,257,258,266],[256,266,270],[229],[68],[59,60],[57,58,59,61,62,66],[58,59],[67],[59],[57,58,59,62,63,64,65],[57,58,68],[83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[80],[83,109],[109],[83],[114],[83,114,118],[83,114],[100],[83,100],[100,114],[83,109,114],[145,147],[83,145,146],[72,79],[69,72,76,78,274],[69,71,274],[72,75,79,274],[72,75,76,77,79,274],[72,73,74,76,79,274],[72,73,79],[70,80,81],[70,82],[69],[70,80,274]],"referencedMap":[[151,1],[149,2],[226,2],[229,3],[228,2],[154,4],[150,1],[152,5],[153,1],[209,6],[211,7],[210,8],[212,9],[213,10],[216,11],[220,12],[221,13],[222,2],[223,2],[224,14],[225,15],[234,16],[235,2],[236,6],[218,17],[217,18],[237,2],[238,2],[155,19],[156,19],[158,20],[159,21],[160,22],[161,23],[162,24],[163,25],[164,26],[165,27],[166,28],[167,29],[168,29],[170,30],[169,31],[171,30],[172,32],[173,33],[157,34],[207,2],[174,35],[175,36],[176,37],[208,38],[177,39],[178,40],[179,41],[180,42],[181,43],[182,44],[183,45],[184,46],[185,47],[186,48],[187,48],[188,49],[189,50],[191,51],[190,52],[192,53],[193,54],[194,2],[195,55],[196,56],[197,57],[198,58],[199,59],[200,60],[201,61],[202,62],[203,63],[204,64],[205,65],[206,66],[252,67],[239,68],[246,69],[242,70],[240,71],[243,72],[247,73],[248,69],[245,74],[244,75],[249,76],[250,77],[251,78],[241,79],[253,2],[254,2],[260,80],[261,2],[215,2],[214,2],[219,81],[262,68],[263,2],[264,2],[265,82],[227,2],[233,83],[231,84],[232,85],[259,86],[256,6],[258,87],[257,6],[255,2],[230,88],[146,2],[11,2],[12,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[4,2],[27,2],[24,2],[25,2],[26,2],[28,2],[29,2],[30,2],[5,2],[31,2],[32,2],[33,2],[34,2],[6,2],[35,2],[36,2],[37,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[54,2],[55,2],[1,2],[10,2],[56,2],[13,2],[69,89],[61,90],[67,91],[63,2],[64,2],[62,92],[65,89],[57,2],[58,2],[68,93],[60,94],[66,95],[59,96],[145,97],[84,98],[110,99],[111,99],[112,99],[113,2],[114,100],[115,99],[116,99],[117,101],[118,102],[119,103],[120,103],[121,99],[122,103],[123,104],[124,105],[125,105],[126,106],[127,105],[128,105],[129,2],[131,102],[130,2],[132,107],[133,102],[134,104],[135,108],[136,108],[137,108],[138,108],[139,101],[140,104],[141,101],[142,2],[143,2],[144,2],[109,2],[85,101],[86,101],[87,101],[88,101],[89,101],[90,101],[91,101],[92,101],[93,101],[94,101],[95,101],[96,101],[97,101],[98,101],[99,101],[100,2],[101,101],[102,101],[103,101],[104,101],[105,101],[106,101],[107,101],[108,101],[148,109],[147,110],[80,111],[79,112],[72,113],[76,114],[78,115],[74,111],[75,116],[73,111],[77,117],[71,2],[82,118],[83,119],[70,120],[81,121]],"exportedModulesMap":[[151,122],[229,123],[154,124],[150,122],[152,125],[153,122],[209,126],[211,127],[210,128],[212,129],[213,130],[216,131],[220,132],[221,133],[224,134],[225,135],[234,136],[236,126],[218,137],[217,138],[155,19],[156,19],[158,20],[159,21],[160,22],[161,23],[162,24],[163,25],[164,26],[165,27],[166,28],[167,29],[168,29],[170,30],[169,31],[171,30],[172,32],[173,33],[157,34],[207,2],[174,35],[175,36],[176,37],[208,38],[177,39],[178,40],[179,41],[180,42],[181,43],[182,44],[183,45],[184,46],[185,47],[186,48],[187,48],[188,49],[189,50],[191,51],[190,52],[192,53],[193,54],[194,2],[195,55],[196,56],[197,57],[198,58],[199,59],[200,60],[201,61],[202,62],[203,63],[204,64],[205,65],[206,66],[252,139],[239,140],[246,141],[242,142],[240,143],[243,144],[247,145],[248,141],[245,146],[244,147],[249,148],[250,149],[251,150],[241,151],[260,152],[219,153],[262,68],[265,154],[233,155],[231,156],[232,157],[259,158],[256,126],[258,159],[257,126],[230,160],[69,161],[61,162],[67,163],[62,164],[65,161],[68,165],[60,166],[66,167],[59,168],[145,169],[84,170],[110,171],[111,171],[112,171],[114,172],[115,171],[116,171],[117,173],[118,174],[119,175],[120,175],[121,171],[122,175],[123,176],[124,177],[125,177],[126,178],[127,177],[128,177],[131,174],[132,179],[133,174],[134,176],[135,180],[136,180],[137,180],[138,180],[139,173],[140,176],[141,173],[85,173],[86,173],[87,173],[88,173],[89,173],[90,173],[91,173],[92,173],[93,173],[94,173],[95,173],[96,173],[97,173],[98,173],[99,173],[101,173],[102,173],[103,173],[104,173],[105,173],[106,173],[107,173],[108,173],[148,181],[147,182],[80,183],[79,184],[72,185],[76,186],[78,187],[74,183],[75,188],[73,183],[77,189],[82,190],[83,191],[70,192],[81,193]],"semanticDiagnosticsPerFile":[151,149,226,229,228,154,150,152,153,209,211,210,212,213,216,220,221,222,223,224,225,234,235,236,218,217,237,238,155,156,158,159,160,161,162,163,164,165,166,167,168,170,169,171,172,173,157,207,174,175,176,208,177,178,179,180,181,182,183,184,185,186,187,188,189,191,190,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,252,239,246,242,240,243,247,248,245,244,249,250,251,241,253,254,260,261,215,214,219,262,263,264,265,227,233,231,232,259,256,258,257,255,230,146,11,12,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,35,36,37,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,54,55,1,10,56,13,69,61,67,63,64,62,65,57,58,68,60,66,59,145,84,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,130,132,133,134,135,136,137,138,139,140,141,142,143,144,109,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,148,147,80,79,72,76,78,74,75,73,77,71,82,83,70,81],"latestChangedDtsFile":"./src/client/index.d.ts"},"version":"4.8.4"} \ No newline at end of file +{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/zod/lib/helpers/typealiases.d.ts","../../../node_modules/zod/lib/helpers/util.d.ts","../../../node_modules/zod/lib/zoderror.d.ts","../../../node_modules/zod/lib/locales/en.d.ts","../../../node_modules/zod/lib/errors.d.ts","../../../node_modules/zod/lib/helpers/parseutil.d.ts","../../../node_modules/zod/lib/helpers/enumutil.d.ts","../../../node_modules/zod/lib/helpers/errorutil.d.ts","../../../node_modules/zod/lib/helpers/partialutil.d.ts","../../../node_modules/zod/lib/types.d.ts","../../../node_modules/zod/lib/external.d.ts","../../../node_modules/zod/lib/index.d.ts","../../../node_modules/zod/index.d.ts","../../xrpc/src/types.ts","../../nsid/src/index.ts","../../lexicon/src/types.ts","../../lexicon/src/validators/primitives.ts","../../lexicon/src/validators/blob.ts","../../lexicon/src/validators/complex.ts","../../lexicon/src/util.ts","../../lexicon/src/validators/xrpc.ts","../../lexicon/src/validation.ts","../../lexicon/src/lexicons.ts","../../lexicon/src/index.ts","../../xrpc/src/util.ts","../../xrpc/src/client.ts","../../xrpc/src/index.ts","../src/client/lexicons.ts","../src/client/types/com/atproto/account/create.ts","../src/client/types/com/atproto/account/createinvitecode.ts","../src/client/types/com/atproto/account/delete.ts","../src/client/types/com/atproto/account/get.ts","../src/client/types/com/atproto/account/requestpasswordreset.ts","../src/client/types/com/atproto/account/resetpassword.ts","../src/client/types/com/atproto/blob/upload.ts","../src/client/types/com/atproto/handle/resolve.ts","../src/client/types/com/atproto/repo/batchwrite.ts","../src/client/types/com/atproto/repo/createrecord.ts","../src/client/types/com/atproto/repo/deleterecord.ts","../src/client/types/com/atproto/repo/describe.ts","../src/client/types/com/atproto/repo/getrecord.ts","../src/client/types/com/atproto/repo/listrecords.ts","../src/client/types/com/atproto/repo/putrecord.ts","../src/client/types/com/atproto/repo/strongref.ts","../src/client/types/com/atproto/server/getaccountsconfig.ts","../src/client/types/com/atproto/session/create.ts","../src/client/types/com/atproto/session/delete.ts","../src/client/types/com/atproto/session/get.ts","../src/client/types/com/atproto/session/refresh.ts","../src/client/types/com/atproto/sync/getrepo.ts","../src/client/types/com/atproto/sync/getroot.ts","../src/client/types/com/atproto/sync/updaterepo.ts","../src/client/types/app/bsky/system/declref.ts","../src/client/types/app/bsky/actor/createscene.ts","../src/client/types/app/bsky/actor/getprofile.ts","../src/client/types/app/bsky/actor/getsuggestions.ts","../src/client/types/app/bsky/actor/profile.ts","../src/client/types/app/bsky/actor/ref.ts","../src/client/types/app/bsky/actor/search.ts","../src/client/types/app/bsky/actor/searchtypeahead.ts","../src/client/types/app/bsky/actor/updateprofile.ts","../src/client/types/app/bsky/feed/embed.ts","../src/client/types/app/bsky/feed/getauthorfeed.ts","../src/client/types/app/bsky/feed/getpostthread.ts","../src/client/types/app/bsky/feed/getrepostedby.ts","../src/client/types/app/bsky/feed/gettimeline.ts","../src/client/types/app/bsky/feed/getvotes.ts","../src/client/types/app/bsky/feed/post.ts","../src/client/types/app/bsky/feed/repost.ts","../src/client/types/app/bsky/feed/setvote.ts","../src/client/types/app/bsky/feed/trend.ts","../src/client/types/app/bsky/feed/vote.ts","../src/client/types/app/bsky/graph/assertcreator.ts","../src/client/types/app/bsky/graph/assertmember.ts","../src/client/types/app/bsky/graph/assertion.ts","../src/client/types/app/bsky/graph/confirmation.ts","../src/client/types/app/bsky/graph/follow.ts","../src/client/types/app/bsky/graph/getassertions.ts","../src/client/types/app/bsky/graph/getfollowers.ts","../src/client/types/app/bsky/graph/getfollows.ts","../src/client/types/app/bsky/graph/getmembers.ts","../src/client/types/app/bsky/graph/getmemberships.ts","../src/client/types/app/bsky/notification/getcount.ts","../src/client/types/app/bsky/notification/list.ts","../src/client/types/app/bsky/notification/updateseen.ts","../src/client/types/app/bsky/system/actorscene.ts","../src/client/types/app/bsky/system/actoruser.ts","../src/client/types/app/bsky/system/declaration.ts","../src/client/index.ts","../../../node_modules/typed-emitter/index.d.ts","../src/session.ts","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/node/ts4.8/assert.d.ts","../../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../../node_modules/@types/node/ts4.8/globals.d.ts","../../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../node_modules/@types/node/ts4.8/buffer.d.ts","../../../node_modules/@types/node/ts4.8/child_process.d.ts","../../../node_modules/@types/node/ts4.8/cluster.d.ts","../../../node_modules/@types/node/ts4.8/console.d.ts","../../../node_modules/@types/node/ts4.8/constants.d.ts","../../../node_modules/@types/node/ts4.8/crypto.d.ts","../../../node_modules/@types/node/ts4.8/dgram.d.ts","../../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../../node_modules/@types/node/ts4.8/dns.d.ts","../../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../../node_modules/@types/node/ts4.8/domain.d.ts","../../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../../node_modules/@types/node/ts4.8/events.d.ts","../../../node_modules/@types/node/ts4.8/fs.d.ts","../../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../node_modules/@types/node/ts4.8/http.d.ts","../../../node_modules/@types/node/ts4.8/http2.d.ts","../../../node_modules/@types/node/ts4.8/https.d.ts","../../../node_modules/@types/node/ts4.8/inspector.d.ts","../../../node_modules/@types/node/ts4.8/module.d.ts","../../../node_modules/@types/node/ts4.8/net.d.ts","../../../node_modules/@types/node/ts4.8/os.d.ts","../../../node_modules/@types/node/ts4.8/path.d.ts","../../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../node_modules/@types/node/ts4.8/process.d.ts","../../../node_modules/@types/node/ts4.8/punycode.d.ts","../../../node_modules/@types/node/ts4.8/querystring.d.ts","../../../node_modules/@types/node/ts4.8/readline.d.ts","../../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../../node_modules/@types/node/ts4.8/repl.d.ts","../../../node_modules/@types/node/ts4.8/stream.d.ts","../../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../node_modules/@types/node/ts4.8/test.d.ts","../../../node_modules/@types/node/ts4.8/timers.d.ts","../../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../../node_modules/@types/node/ts4.8/tls.d.ts","../../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../../node_modules/@types/node/ts4.8/tty.d.ts","../../../node_modules/@types/node/ts4.8/url.d.ts","../../../node_modules/@types/node/ts4.8/util.d.ts","../../../node_modules/@types/node/ts4.8/v8.d.ts","../../../node_modules/@types/node/ts4.8/vm.d.ts","../../../node_modules/@types/node/ts4.8/wasi.d.ts","../../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../node_modules/@types/node/ts4.8/zlib.d.ts","../../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../../node_modules/@types/node/ts4.8/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/cors/index.d.ts","../../../node_modules/@types/elliptic/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/http-errors/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../../node_modules/@types/nodemailer/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/pg-types/index.d.ts","../../../node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/@types/pg/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/sharp/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/util.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb09ec0a64fc17dbbc4a228b3b18aa5f01db3440a6b0cbb02354df58674d584","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"9afae14803f3b7343ed6d193173008715c1fa3421a353a818c805244ed737a84","bb98c05ae5cb9bd7cb7ad76fe517251a661787a6f24337b842f47faf393f79c7","a93bf95f7009c90e7d1edb092560d4052e3ebbe9b9ad2d796bcd95dc4306825c","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","014b34d4c2ef27191fdf3feabb6557ec92127f813910725b6e79ed9a49e466b6","72efc3e8cee3cb13144cb63bb8aacf28f918439a2ff222de89e0e5d7ba9c7170","b61efb129c7011068cb4ccbbd86d5741ac82653476b09f46d3d06dd99b5b687e","2b7961486503fa279a4f1a52928d8c31fc6558c335b750878721467210552dd7","d1f62988c7e8e8650f7ed39520a766648155abbf75dd89f60e24f069433301d4","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","156b9be8718e5157c84f4ca2163a48f9a8334e4477b945694c882ab89fd3382d","14e6f51486f4234e46f1b2c09c852989754de877fda7b2afdd709627e24b9882","207dbf55dfe32ef1298e5945f196911bb7fb75a2ebd15e3606c65535ad8f474d","3d20a183069527c92a7d6cb79ca521fa4f8cc9d36b56cb269db4088c220d0ac9","4c8aa3b64e4973c8d22231943bc8ebbecdc3c2d8c6aaac829151c3dbc0bfc7c8","4f5e1e2785adc88653b1888a315532329a4b615a09a422c2bc1cb2f49df33740","906dd0e8fa586117f9ed4dd86573c68b1a1080adc63221429f8b29975d357714","2861e0a8090f7ebd61dd1fa9970b04a5a2afe911ab4baca19cdc21a8e6ed9b28","0966a4236c1616d428cf4615cffb6fcd8bc16c0f4852a8146610ec3cb48af913","8859c7be12542da46ae05d00f5e9eccd8aba56ad687852b3565bf40e94a5924e","b4e1ab9692322413a0095065c5a5e8a4f433e2b082d02635b82fae7e17a8fc6a","eb978dd055b9ce273d159e691fd0e5245724e93fe1bf6f6a7ac52b2a2c5afcde","c951a82134ce7545a7469d0b34c7cf61a968a2fd180c7b0761e09ffddc769996","dc8bd2d3fdede21907b93d1b962354779cdae08f83205f4507b639f0f69a29a2",{"version":"e1def4fb2a8b60963b7c382aa02524b740734f6cbb2a625a00cb081f8598043b","signature":"899811fae7dad3b8a8b17040b9dd22b6873c2c95985143e424733cc031e5eb61"},{"version":"38e89ed53adbb64433e74157c093654332b19aa74220b4a8f2c04b29d9b0bdd5","signature":"6d2bba1860095de82f4f2bd67ceb6c0eb2d8ec739581a30c3009b956d1037901"},{"version":"e0b3ad55cffaa95991cce4e3bc78384e7733e2477b217d2cd24da31e87291f8a","signature":"f160348d30169b0c2499990fe76d8e15cfbb6e8463be2b1869c53d133b936dfc"},{"version":"363b51b18cfdf213b990a45ffe6225793cd370ed38b54b42ba057f37cd8c4c34","signature":"5d999925e847ad23c8657074fda9a5559113c4156c89e668322505a243907449"},{"version":"b29740c6188e84ebd81cc27caa59b19fbfef6983f9cdcb14c7796eb8d57d8908","signature":"5abb501b865b7f33f9846da9aadef7b964a35bcf68276524e249096c23460b43"},{"version":"fd5349347ac67bffb31bec34ea44364bd0ffb1780e2728de74b216178daafb34","signature":"eedbd1cfb0884d3b46a133fe9243c1b9d0c4037b96fed382c749a0dd415098d8"},{"version":"ede18a50b3ce627b4d31dccb014ef4ddb8d0293ec29d74cfd00273b51682a1ee","signature":"954595352af7c28235d5ead40be59503033fdb672a062865a5421a448c031154"},{"version":"a56480018a76569b89126619673dbeccaba23bb5beb553ef955c16794ce9bbdc","signature":"5e5c401c9d312b37378e4b1cf43651143acdc0ae835e70a5439e186ca4f8c20e"},{"version":"a883472081fb34e9f38b67c5cb1c284c86da101b263fa480886be177b2340d53","signature":"fe06006d74387cf01b9686789ef46b8c3ddefbac667fa8c1999a55da295c0873"},{"version":"014b809041f801ef09e11460852ddb8e60daa804549f9ce62863cfe3223dced7","signature":"b96c5dcf2c7dc76fe56927605f29eeb09b08fb36b7c983c130a13d933ae83247"},{"version":"a17e7bb60c8a7763103e26dd51ec843aacee5e9d0d7b43d7e66e2cc2e47a0421","signature":"ba3c01853dde109bd23af1426806cffe120dad5e728f7db115342e78bf02d805"},{"version":"537944d7ee8932a8686eec85604841faa82fed688f145bac775f968824464f97","signature":"030488d5760d79dfc46d733b07c6fdfbc773bfc9c5290cf8bd1fcd9b9ef20c7a"},{"version":"bc46ec4bc7954727837ad4aebc6500bd15b6ba5ecfa68ddc989b779f36e0a3b5","signature":"c2449b4b23ca7fffd902e7e0dbc6fd1e493fc622e34e73e9b7f64bb8195bf4bd"},{"version":"8fef4039a121e04b88f69cb30287ee57d8acad5dd2571e13dc3b9de61cbcbc26","signature":"4b0a859871faf72ea6f481019c0384a2a1b3d1caf4462779f2b12556d76a550a"},{"version":"1eb0698de47ff6530a18610f2030c22743fc7d7f4299ce1189abe25f13606926","signature":"5b55701ecc7431d1af6729f10fe493ef5eb38ede59e5d82dd7cabdc50a083a9c"},{"version":"3e98c53fb0813dd664ab24754f8ea50b67bf027caf78d9bbe76a66f9e47e6d37","signature":"e16edd7b5e640457f4959a47b837833089df0baa2b0d91b6f604b3eda7145b4f"},{"version":"b4376fb73ecd3ad0449eb55bbaf44a58115edf5664c5c4f53fa830c211dc022d","signature":"b90ee86a7b55f699519c13b7e50d7b3cce5756bf62b3da0b0a9238ed83b93d04"},{"version":"e7cf20ea84b54af49e025925fe485f9419d97dcfccb7ece55d89860660dc54cc","signature":"9e9f9b5ad0922a7f172eaa2e0444d5298670e80e6b092bdd1f7a4d9abe12391a"},{"version":"a14722fb5c2adb2c338d7155c5e70bd3290bc3935a740ce1b291700915559be5","signature":"24dcb20e81830d1e14dcbfb4f54097a6201ac850e5e3d32ad98f8ec2e366acad"},{"version":"363b51b18cfdf213b990a45ffe6225793cd370ed38b54b42ba057f37cd8c4c34","signature":"5d999925e847ad23c8657074fda9a5559113c4156c89e668322505a243907449"},{"version":"81d363282ea148ae7b5b68bb0f7bc10f56f8c043c74ae1538b19f831816670b1","signature":"afda0409fddfcda8a53326dc8c5c79c4ff26218402529a4858f6141a31303960"},{"version":"fc25931907a5b86b4a58c9c8dcd1bf0e40afb8cda0a3da07389ea04462398766","signature":"ac5c1191c3d4470d58db7c0ed081b2f638f6b7cc91df7b670ff3317987e4326f"},{"version":"676d32222d79f25153430eca53541ff6ab411f36b2b46e3ce26d6d642e8aaa8f","signature":"9dea0e20ae109cffb6ed9c1f6c80f27731d59075092ee73e390a08402bc575c1"},{"version":"e7cf7858020dd7939dbc9351690a5c9dbcf0f7e455a576ae0fe94bc9f2e45c73","signature":"d2fb24212524dceaae883198dab7e0c31ddf30ea61ca0d326b7c87df6e12b51f"},{"version":"321dda8e00109f534c0336c94eefc2dafc4b78e12c5c09b4c8e1dfc430dc3233","signature":"04942cf19474c37c7b3300e4a916889fe64de4ecf14673000eab7f0980025e93"},{"version":"e485a6d2b76553f36a4012b9a6d965dd9a957f07daa5ccd7fc86adabc6224c38","signature":"3043f46820ae3d97134378e2cbbea4795b8b8af9faf1d93c6e3863de25604760"},{"version":"1e661c5647265cf361ca057dd9bcc749bf9e7580b1b7925972e2bd7f78ef0484","signature":"22a8f90c30ac847439de1e1bf7a7d082838ca007f19f3f64c70f3e3050c41818"},{"version":"c373b6c53f49131399afd6edb7d1d7fb4b67ab6389cb64959669b81065ada0b7","signature":"486af43b7fcc52d41a0417ecd2af092427e92576a9838b2c492d2aeebec4b46e"},{"version":"1ff96ed2ba881c32e79206c6351120e5982b3c3b101a4b3db5d669f5ee875880","signature":"9285a11d74282bc87cc42eb49bc568a7ae64c01976847c695fbbcb010e04f095"},{"version":"09075588e1e3a93a522ee983e4e1f33df636a21da6184b34281b04a4bee42031","signature":"1848cbb2fe093dfd3b6943863a908640c775386918cc553c4efd157a6e76d611"},{"version":"f0514756f04f3f3029aa1d045f49759d547674c09991b4d2e903f8bb1141d673","signature":"e3c2ec59f8043229f0833b26ba5505a4f6376fa7f79d8bf648a62b22dddf4012"},{"version":"e8d059fb2fc4dd11a0db213f7b8c333f6606b096b312fba7bb1ba813a6558d8a","signature":"b486316cd620151cd230197a3ea21cf02c1ab34b3bfa57bfa36df03764643f9a"},{"version":"e4070b2e6dec09370be84f436d0ecc3d96c7e76b5a829c3119d7290c957a3b43","signature":"d67837989e43a17172fd6b2c8d35e0f4ec113b93b4e38c7d9e043583bb243a2e"},{"version":"69d54a3222a5b70aa832987c6a0f93e5e607deaf16e966f7eaf4e1a1478bfac2","signature":"61b7f1a8a4b263a377c98eed16662ae2bef8f477d1b0c3b2a77879dcf2662d77"},{"version":"65ff38c0225936236529649fd85e792ce73b0840611e3107a195e50f11bceb31","signature":"035dc4f914fb319f20524a0b8b2d65f3375edefaf5d32b06264fac11b0c1be96"},{"version":"eb9f771060dc57f7b83d808b516e4f119d49bfee92945c86b07f1203ce3f6f30","signature":"e114241c6ca163b680755072af82415c3a5ca6151508d526b35982f54f682e0e"},{"version":"965aaf6b8fdf87532162919d2053af41dca88c4c3126520ef6a01c911bf6a8db","signature":"56f607c3cfc2130aa6fe2e04664a151967443a08733ccf65945a4850e8838e1b"},{"version":"a87129855a6898b5ca3cc4f46697be40be1900e642694bcdc59dbedcf05dfd5c","signature":"c2ed7248f573304683b5de07eff2e57415d264ee7bd14f5f3d398915a26c6167"},{"version":"02e19048213c2862e0bc9e4ded0c28183469f2cbaa99bba6f805849df7a78f01","signature":"93ea9d8e1aa729375e036654645c56d8fb7ebab85e2ee092798285cc0d57324a"},{"version":"2f133be0f7197273001fdcb24563b2951ef9b1694a9b7489013f7af9f47c38b5","signature":"4145d8b6a1abd1fd7dbf3ad2fcc70120e555cf029c4fa6d8477e30753aae7266"},{"version":"7298a3a86d55be49cfa46758863e5a9a4eae6e99051079ed852fdf0fc57b2042","signature":"2952e9d2025b53e20f737cd4cfed1f4ae9367ea56bccaa30335c5dcdb60b070b"},{"version":"2e762ce2704dabbed305b7182da56c419dba3bd8a65f0f52d8a25b99d3673137","signature":"af9da8a546b60b31496ed251ae53cc72bc3d41f7b47694393dfa65a51280f908"},{"version":"e69c0b65fdfcc284bddc62aa4b514f21c574cc903f52b93bc9a36b23d8d86228","signature":"498f51f807f57d06b29b47c30ed131aa8dc67cdc6d3efd5fae63cc93b591c444"},{"version":"2e762ce2704dabbed305b7182da56c419dba3bd8a65f0f52d8a25b99d3673137","signature":"af9da8a546b60b31496ed251ae53cc72bc3d41f7b47694393dfa65a51280f908"},{"version":"411020f596b80e58fe37f7b627c1332a97741ba57420a3109f538f8a05ca4ca8","signature":"855d6732b5d77e501a6367ff9726b6fc02e5a36ec31181dd8ae165567a7a38b4"},{"version":"efff7ade1541a8a2eb0ba4ef4e37e41a26e0c984f1b01cd14983dff11f6da5b5","signature":"2c20cc7238cbd19319210cf5855138d104e9e3ba267c3d20aeaf279a9af47c42"},{"version":"81ad8984e9880613c4e057d65176597acd7e4ff0610f6b44d20d1ab97b53e1d1","signature":"3013de7e95be2b01e5f8d187e8de22c5313a47030eb26d17897153b1101405a5"},{"version":"c939aed41531096d26a08cf3cca5ecf3c05c24b030af84e1cb1ba0307c119ce9","signature":"43b644698d12b39f153baa6ad3a180e44ba7c54269fab60b52bd549fddc15476"},{"version":"ad21ca8687e59e302bd87273c4b9d0e180cfe18499e2f6b9421725764549d960","signature":"a22e4cd16c8f73a978225092138442f1879da5672da984ea40ce35f0e06a427e"},{"version":"4e81e21175876dd5159ac6d43f4ca7b457f11170decf2dc539efacb2fad0d72a","signature":"6e557f2433a75d20ba296fccaecd20796e7a66ce88ac4620c587ba909ac2eb1f"},{"version":"67355ca6d610f664bdb24743b9cc6d35547ed1e7c2adbe53f46a1a1e2238505b","signature":"bedf23c1c94c3a4bfdb5249f78d29242762285f4adfddbbcda52f098b4d025cf"},{"version":"8a21f93651233b29efd855bb3abdd924e722208f1717753a6dcaf2420cdda46b","signature":"d87f08972ad9cc5f7bd9277308741f225722d74a1a49c93778951a07ef1edc49"},{"version":"88585e1d70cd4f0fac0f0bf3108c7fa33eb0ed482debd437bc13d751b2cbf902","signature":"cf9023853abdc876cdbe234c35bee87f8fcfe1975af839c77f987676a5070c14"},{"version":"02f008f69fdef4a2b1eff41907acb6dffadaf2e3707f2fc1839d83177cd0757c","signature":"adeb007dd90e76a73f4b070139a964cdb3159560e6f359c53791ec8dfff73b5e"},{"version":"2e868b4f7b6ff80207152a12025136a1b654144af15097c26fd261eb940f805c","signature":"7cdaa38ab075300328647b62916089b9380c010e04d20b9d66671d99564dd286"},{"version":"ac67ccaa9e21896d07dba6e76075a6e56e5a773b6b0241231daaccf029132aad","signature":"209e9e58dd4eb70a91262c65d4be7b544d825fafbcdc9dd3dbadb4cae334c82c"},{"version":"38d77c1e4d11780dbc03ff0b6b3fab908fd94747cdd70a93c8cf16a8e823554c","signature":"5035b339f67ec94577421c650110c612b192e40ab6e3c7c24cfdd5e0d7695f72"},{"version":"421b1a5f751b0135df9e0ae4f8fbadda26b0a28bbd02e402669844959b49f132","signature":"5fb0f9a1e35016120a2bfb2735b12de00912f399949e8e8f8813d2faecd98a0f"},{"version":"115d9bfdd156fa6b2d9affe5cd8feb81344b9aa19481a3f5bde1b8008a114299","signature":"719eaa179d953b043795fd6fc3e97cc51bda454e8bad55fcb31e58a1ba03ae10"},{"version":"3226a1b3524f1c07d8379f9d9b445943f36131e5fbde8d777b7cb2cef3f56a82","signature":"0df8815fca8b165f461723833493def462844cf11722ef1cced82e52b3b8d881"},{"version":"8d41619dda215df9b5cb439c19f7e7d810f0fb2712ba43f3c11ba175b80311f0","signature":"1892494c78bbe8c8c4bb08d7eb71e945c8a6a740a7790da48d0c2d4123713750"},{"version":"a4946660e2cf5c7856d3d3d0384e37cb09aa996b2dd224135c9e1386c93c7d93","signature":"8fbf0f93d0b2142fadd35dbe43404d95b765e5e6fe1829c11d4c174def114874"},"6c27d4b5ba01295ef334456d9af4366aca789f228eee70fcb874b903a59b0e5b",{"version":"d2917c1370f3d1859c884ba3726d63c14fa3086a0c8671d311b08810e557dd22","signature":"18f168653a953e3bf0ed315e79413969de4c6fcff7add51c8b2005eda2a07cb2"},{"version":"a0f41c123f2d733f503fa755bb2d029aa461364ba103b87f27685ff447835d34","signature":"914fc0941912b62e2f6a03a59ab61b2eae9d4c5a9d5f2728ad47a5b5021b5d6f"},"c561efdf5ba0b62619745d4761fe2d9756f23db972e039367d15922fed67fd2f","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"c0db280fa6b09d7b8d6720a19a47f485956a41ee0e6914f1b704033eb69c6058","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","afcc1c426b76db7ec80e563d4fb0ba9e6bcc6e63c2d7e9342e649dc56d26347f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","b01a80007e448d035a16c74b5c95a5405b2e81b12fabcf18b75aa9eb9ef28990","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","213fc4f2b172d8beb74b77d7c1b41488d67348066d185e4263470cbb010cd6e8",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"f7db71191aa7aac5d6bc927ed6e7075c2763d22c7238227ec0c63c8cf5cb6a8b","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612","b8a427b9fe88504a6fb092e21adfe272d144394a2ced7f9e4adc3de7efa6e216","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"ae3fe461989bbd951344efc1f1fe932360ce7392e6126bdb225a82a1bbaf15ee","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f47887b61c6cf2f48746980390d6cb5b8013518951d912cfb37fe748071942be","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","f463d61cf39c3a6a5f96cdf7adfdb72a0b1d663f7b5d5b6dd042adba835430c2","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","3e6bbb0883148627ca0854a9f62d820aaf1a0f1842f5568176721fef156b8f23","ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","f72f8428f3c1caa22e9c247d046603b85b442c0dae7b77a7a0bc092c18867cb7",{"version":"195f63105abc03e72b6a176e3e34dfb5ac932b55db378fdc7874b1617e24b465","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","bb654d426b82e0846cd4bd7de91d637039ecdfd63c94447373490178f80846fe","db90f54098b237753ac9c846e39cd49aa538dcad07a2e1c68a138f3c0f8e621d","92ad68795c32309fb43576cacb38bd2677deeed38f5730dcd4a8c5e65463ae15","4b16417aab5a4b276fd4a7db95120a8c7b4d49a6d68ddfe075e9f46dcbf22f00","eecb2ea10a1500dcc6bdeff14be1fb43806f63a9b8562e16e1b4fc8baa8dfa8d","221a6ab66d611349faaf80af49c7a34d95623787610fd153fed4da0811abdcae","f3d84d6f83cf131e4db335dc8100898adbeb01dd4cf4e2fe695ab220eac98be4","6521aaade4e1d23cbc4b665083b004aeaca23f3347ba2422f88d1828968a0056","e79130cf2ba010f2b79747bf43b086252ad041b130768331a1144c0a86185877","e9709ed827c40789c669736fc78e2ab603605e8e81325d1e6d7a5eb451810dd0","dafce7a7b279977940b6b4b50017625e4f922f73094433d2875994bdc0b27e87","6fc76efbb61d3336833ef44ff3f37552667f26c2a73b368f3b4b259f19f2c234","479496e5bb48f2f5e981ef646665bc09fd9ab080e86e9ea882ca4369411604af","6c559dee3c6251c261b67df08e01d4cbc89cbd7a63300150c636705733cebfff","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","87ed0f84f0691d5c724b23159db96342e6b04ac69201b02c65936f4281ce1fbe","13868c5792808236b17dfe2803eafce911ea4d09d3b2fda95391891a494f988f","0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","fa5c2d3fcd8e227e180815df0a0903ed4b116400452af8a75ac5b68e5e1de9da","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","9adb78bae51a473d33f40da9bdb50c0e491d1cc7a5db776665853effa0cd3374","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":1,"module":1,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":7},"fileIdsList":[[149,201],[201],[201,228],[149,150,151,152,153,201],[149,151,201],[201,208],[174,201,208,210],[174,201,208],[174,201],[201,209],[171,174,201,208,214,215],[201,211,215,216,219],[172,201,208],[201,223],[201,224],[201,230,233],[201,217],[201,218],[155,201],[158,201],[159,164,192,201],[160,171,172,179,189,200,201],[160,161,171,179,201],[162,201],[163,164,172,180,201],[164,189,197,201],[165,167,171,179,201],[166,201],[167,168,201],[171,201],[169,171,201],[171,172,173,189,200,201],[171,172,173,186,189,192,201],[201,205],[174,179,189,200,201],[171,172,174,175,179,189,197,200,201],[174,176,189,197,200,201],[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207],[171,177,201],[178,200,201],[167,171,179,189,201],[180,201],[181,201],[158,182,201],[183,199,201,205],[184,201],[185,201],[171,186,187,201],[186,188,201,203],[159,171,189,190,191,192,201],[159,189,191,201],[189,190,201],[192,201],[193,201],[171,195,196,201],[195,196,201],[164,179,189,197,201],[198,201],[179,199,201],[159,174,185,200,201],[164,201],[189,201,202],[201,203],[201,204],[159,164,171,173,182,189,200,201,203,205],[189,201,206],[201,208,240,242,246,247,248,249,250,251],[189,201,208],[171,201,208,240,242,243,245,252],[171,179,189,200,201,208,239,240,241,243,244,245,252],[189,201,208,242,243],[189,201,208,242,244],[201,208,240,242,243,245,252],[189,201,208,244],[171,179,189,197,201,208,241,243,245],[171,201,208,240,242,243,244,245,252],[171,189,201,208,240,241,242,243,244,245,252],[171,189,201,208,240,242,243,245,252],[174,189,201,208,245],[171,189,197,201,208,255,256,259,260],[174,201,208,218],[201,264],[201,226,232],[201,230],[201,227,231],[201,208,256,257,258],[189,201,208,256],[201,229],[68,201],[59,60,201],[57,58,59,61,62,66,201],[58,59,201],[67,201],[59,201],[57,58,59,62,63,64,65,201],[57,58,68,201],[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,201],[80,201],[83,109,201],[109,201],[83,201],[114,201],[83,114,118,201],[83,114,201],[100,201],[83,100,201],[100,114,201],[83,109,114,201],[145,147,201],[83,102,105,145,146,171,201],[72,79,201],[69,72,76,78,201],[69,71,201],[72,75,79,201],[72,75,76,77,79,201],[72,73,74,76,79,201],[72,73,79,201],[70,80,81,201],[70,82,201],[69,201],[70,80,201],[149],[228],[149,150,151,152,153],[149,151],[266],[210,266,267],[266,267],[267],[209],[214,215,266,267,268],[211,215,216,219],[266,269],[223],[224],[230,233],[217],[218],[240,242,246,247,248,249,250,251,266],[266,270],[240,242,243,245,252,266,268],[239,240,241,243,244,245,252,266,268,270,271,272],[242,243,266,270],[242,244,266,270],[240,242,243,245,252,266],[244,266,270],[241,243,245,266,268,270,271,273],[240,242,243,244,245,252,266,268],[240,241,242,243,244,245,252,266,268,270],[240,242,243,245,252,266,268,270],[245,266,267,270],[255,256,259,260,266,268,270,273],[218,266,267],[264],[226,232],[230],[227,231],[256,257,258,266],[256,266,270],[229],[68],[59,60],[57,58,59,61,62,66],[58,59],[67],[59],[57,58,59,62,63,64,65],[57,58,68],[83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[80],[83,109],[109],[83],[114],[83,114,118],[83,114],[100],[83,100],[100,114],[83,109,114],[145,147],[83,145,146],[72,79],[69,72,76,78,274],[69,71,274],[72,75,79,274],[72,75,76,77,79,274],[72,73,74,76,79,274],[72,73,79],[70,80,81],[70,82],[69],[70,80,274]],"referencedMap":[[151,1],[149,2],[226,2],[229,3],[228,2],[154,4],[150,1],[152,5],[153,1],[209,6],[211,7],[210,8],[212,9],[213,10],[216,11],[220,12],[221,13],[222,2],[223,2],[224,14],[225,15],[234,16],[235,2],[236,6],[218,17],[217,18],[237,2],[238,2],[155,19],[156,19],[158,20],[159,21],[160,22],[161,23],[162,24],[163,25],[164,26],[165,27],[166,28],[167,29],[168,29],[170,30],[169,31],[171,30],[172,32],[173,33],[157,34],[207,2],[174,35],[175,36],[176,37],[208,38],[177,39],[178,40],[179,41],[180,42],[181,43],[182,44],[183,45],[184,46],[185,47],[186,48],[187,48],[188,49],[189,50],[191,51],[190,52],[192,53],[193,54],[194,2],[195,55],[196,56],[197,57],[198,58],[199,59],[200,60],[201,61],[202,62],[203,63],[204,64],[205,65],[206,66],[252,67],[239,68],[246,69],[242,70],[240,71],[243,72],[247,73],[248,69],[245,74],[244,75],[249,76],[250,77],[251,78],[241,79],[253,2],[254,2],[260,80],[261,2],[215,2],[214,2],[219,81],[262,68],[263,2],[264,2],[265,82],[227,2],[233,83],[231,84],[232,85],[259,86],[256,6],[258,87],[257,6],[255,2],[230,88],[146,2],[11,2],[12,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[4,2],[27,2],[24,2],[25,2],[26,2],[28,2],[29,2],[30,2],[5,2],[31,2],[32,2],[33,2],[34,2],[6,2],[35,2],[36,2],[37,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[54,2],[55,2],[1,2],[10,2],[56,2],[13,2],[69,89],[61,90],[67,91],[63,2],[64,2],[62,92],[65,89],[57,2],[58,2],[68,93],[60,94],[66,95],[59,96],[145,97],[84,98],[110,99],[111,99],[112,99],[113,2],[114,100],[115,99],[116,99],[117,101],[118,102],[119,103],[120,103],[121,99],[122,103],[123,104],[124,105],[125,105],[126,106],[127,105],[128,105],[129,2],[131,102],[130,2],[132,107],[133,102],[134,104],[135,108],[136,108],[137,108],[138,108],[139,101],[140,104],[141,101],[142,2],[143,2],[144,2],[109,2],[85,101],[86,101],[87,101],[88,101],[89,101],[90,101],[91,101],[92,101],[93,101],[94,101],[95,101],[96,101],[97,101],[98,101],[99,101],[100,2],[101,101],[102,101],[103,101],[104,101],[105,101],[106,101],[107,101],[108,101],[148,109],[147,110],[80,111],[79,112],[72,113],[76,114],[78,115],[74,111],[75,116],[73,111],[77,117],[71,2],[82,118],[83,119],[70,120],[81,121]],"exportedModulesMap":[[151,122],[229,123],[154,124],[150,122],[152,125],[153,122],[209,126],[211,127],[210,128],[212,129],[213,130],[216,131],[220,132],[221,133],[224,134],[225,135],[234,136],[236,126],[218,137],[217,138],[155,19],[156,19],[158,20],[159,21],[160,22],[161,23],[162,24],[163,25],[164,26],[165,27],[166,28],[167,29],[168,29],[170,30],[169,31],[171,30],[172,32],[173,33],[157,34],[207,2],[174,35],[175,36],[176,37],[208,38],[177,39],[178,40],[179,41],[180,42],[181,43],[182,44],[183,45],[184,46],[185,47],[186,48],[187,48],[188,49],[189,50],[191,51],[190,52],[192,53],[193,54],[194,2],[195,55],[196,56],[197,57],[198,58],[199,59],[200,60],[201,61],[202,62],[203,63],[204,64],[205,65],[206,66],[252,139],[239,140],[246,141],[242,142],[240,143],[243,144],[247,145],[248,141],[245,146],[244,147],[249,148],[250,149],[251,150],[241,151],[260,152],[219,153],[262,68],[265,154],[233,155],[231,156],[232,157],[259,158],[256,126],[258,159],[257,126],[230,160],[69,161],[61,162],[67,163],[62,164],[65,161],[68,165],[60,166],[66,167],[59,168],[145,169],[84,170],[110,171],[111,171],[112,171],[114,172],[115,171],[116,171],[117,173],[118,174],[119,175],[120,175],[121,171],[122,175],[123,176],[124,177],[125,177],[126,178],[127,177],[128,177],[131,174],[132,179],[133,174],[134,176],[135,180],[136,180],[137,180],[138,180],[139,173],[140,176],[141,173],[85,173],[86,173],[87,173],[88,173],[89,173],[90,173],[91,173],[92,173],[93,173],[94,173],[95,173],[96,173],[97,173],[98,173],[99,173],[101,173],[102,173],[103,173],[104,173],[105,173],[106,173],[107,173],[108,173],[148,181],[147,182],[80,183],[79,184],[72,185],[76,186],[78,187],[74,183],[75,188],[73,183],[77,189],[82,190],[83,191],[70,192],[81,193]],"semanticDiagnosticsPerFile":[151,149,226,229,228,154,150,152,153,209,211,210,212,213,216,220,221,222,223,224,225,234,235,236,218,217,237,238,155,156,158,159,160,161,162,163,164,165,166,167,168,170,169,171,172,173,157,207,174,175,176,208,177,178,179,180,181,182,183,184,185,186,187,188,189,191,190,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,252,239,246,242,240,243,247,248,245,244,249,250,251,241,253,254,260,261,215,214,219,262,263,264,265,227,233,231,232,259,256,258,257,255,230,146,11,12,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,35,36,37,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,54,55,1,10,56,13,69,61,67,63,64,62,65,57,58,68,60,66,59,145,84,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,130,132,133,134,135,136,137,138,139,140,141,142,143,144,109,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,148,147,80,79,72,76,78,74,75,73,77,71,82,83,70,81],"latestChangedDtsFile":"./src/client/types/app/bsky/actor/updateProfile.d.ts"},"version":"4.8.4"} \ No newline at end of file diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx index b9bf8a19..cf89f182 100644 --- a/src/view/com/modals/EditProfile.tsx +++ b/src/view/com/modals/EditProfile.tsx @@ -1,5 +1,4 @@ import React, {useState} from 'react' -import {ComAtprotoBlobUpload} from '../../../third-party/api/index' import * as Toast from '../util/Toast' import { ActivityIndicator, @@ -20,6 +19,7 @@ import { MAX_DISPLAY_NAME, MAX_DESCRIPTION, } from '../../../lib/strings' +import {isNetworkError} from '../../../lib/errors' import {UserBanner} from '../util/UserBanner' import {UserAvatar} from '../util/UserAvatar' @@ -52,7 +52,6 @@ export function Component({ store.shell.closeModal() } const onSelectNewAvatar = (img: PickedImage) => { - console.log(img) setNewUserAvatar(img) setUserAvatar(img.path) } @@ -74,14 +73,12 @@ export function Component({ onUpdate?.() store.shell.closeModal() } catch (e: any) { - if (e instanceof ComAtprotoBlobUpload.InvalidBlobError) { - setError(e.message) + if (isNetworkError(e)) { + setError( + 'Failed to save your profile. Check your internet connection and try again.', + ) } else { - // TODO replace when error detection is correct setError(e.message) - // setError( - // 'Failed to save your profile. Check your internet connection and try again.', - // ) } } setProcessing(false)