Bluesky app fork with some witchin' additions 💫

Unvendor the api and switch to @atproto/api

+140 -13781
+1
package.json
··· 12 12 "lint": "eslint . --ext .js,.jsx,.ts,.tsx" 13 13 }, 14 14 "dependencies": { 15 + "@atproto/api": "^0.0.2", 15 16 "@bam.tech/react-native-image-resizer": "^3.0.4", 16 17 "@fortawesome/fontawesome-svg-core": "^6.1.1", 17 18 "@fortawesome/free-regular-svg-icons": "^6.1.1",
+2 -1
src/lib/strings.ts
··· 1 1 import {AtUri} from '../third-party/uri' 2 - import {Entity} from '../third-party/api/src/client/types/app/bsky/feed/post' 2 + import {AppBskyFeedPost} from '@atproto/api' 3 + type Entity = AppBskyFeedPost.Entity 3 4 import {PROD_SERVICE} from '../state' 4 5 import {isNetworkError} from './errors' 5 6 import TLDs from 'tlds'
+1 -2
src/state/index.ts
··· 1 1 import {autorun} from 'mobx' 2 2 import {Platform} from 'react-native' 3 - import {sessionClient as AtpApi} from '../third-party/api' 4 - import type {SessionServiceClient} from '../third-party/api/src/index' 3 + import {sessionClient as AtpApi, SessionServiceClient} from '@atproto/api' 5 4 import {RootStoreModel} from './models/root-store' 6 5 import * as libapi from './lib/api' 7 6 import * as storage from './lib/storage'
+6 -4
src/state/lib/api.ts
··· 4 4 */ 5 5 6 6 // import {ReactNativeStore} from './auth' 7 - import {sessionClient as AtpApi} from '../../third-party/api' 7 + import { 8 + sessionClient as AtpApi, 9 + APP_BSKY_GRAPH, 10 + AppBskyEmbedImages, 11 + AppBskyEmbedExternal, 12 + } from '@atproto/api' 8 13 import {AtUri} from '../../third-party/uri' 9 - import {APP_BSKY_GRAPH} from '../../third-party/api' 10 - import * as AppBskyEmbedImages from '../../third-party/api/src/client/types/app/bsky/embed/images' 11 - import * as AppBskyEmbedExternal from '../../third-party/api/src/client/types/app/bsky/embed/External' 12 14 import {RootStoreModel} from '../models/root-store' 13 15 import {extractEntities} from '../../lib/strings' 14 16 import {isNetworkError} from '../../lib/errors'
+9 -7
src/state/models/feed-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 - import * as GetTimeline from '../../third-party/api/src/client/types/app/bsky/feed/getTimeline' 3 2 import { 4 - Main as FeedViewPost, 5 - ReasonTrend, 6 - ReasonRepost, 7 - } from '../../third-party/api/src/client/types/app/bsky/feed/feedViewPost' 8 - import {View as PostView} from '../../third-party/api/src/client/types/app/bsky/feed/post' 9 - import * as GetAuthorFeed from '../../third-party/api/src/client/types/app/bsky/feed/getAuthorFeed' 3 + AppBskyFeedGetTimeline as GetTimeline, 4 + AppBskyFeedFeedViewPost, 5 + AppBskyFeedPost, 6 + AppBskyFeedGetAuthorFeed as GetAuthorFeed, 7 + } from '@atproto/api' 8 + type FeedViewPost = AppBskyFeedFeedViewPost.Main 9 + type ReasonTrend = AppBskyFeedFeedViewPost.ReasonTrend 10 + type ReasonRepost = AppBskyFeedFeedViewPost.ReasonRepost 11 + type PostView = AppBskyFeedPost.View 10 12 import {AtUri} from '../../third-party/uri' 11 13 import {RootStoreModel} from './root-store' 12 14 import * as apilib from '../lib/api'
+2 -3
src/state/models/get-assertions-view.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 - import * as GetAssertions from '../../third-party/api/src/client/types/app/bsky/graph/getAssertions' 2 + import {AppBskyGraphGetAssertions as GetAssertions} from '@atproto/api' 3 3 import {RootStoreModel} from './root-store' 4 4 5 - type ResponseAssertion = GetAssertions.OutputSchema['assertions'][number] 6 - export type Assertion = ResponseAssertion & { 5 + export type Assertion = GetAssertions.Assertion & { 7 6 _reactKey: string 8 7 } 9 8
+5 -3
src/state/models/members-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 - import * as GetMembers from '../../third-party/api/src/client/types/app/bsky/graph/getMembers' 3 - import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref' 4 - import {APP_BSKY_GRAPH} from '../../third-party/api' 2 + import { 3 + AppBskyGraphGetMembers as GetMembers, 4 + AppBskyActorRef as ActorRef, 5 + APP_BSKY_GRAPH, 6 + } from '@atproto/api' 5 7 import {AtUri} from '../../third-party/uri' 6 8 import {RootStoreModel} from './root-store' 7 9
+4 -2
src/state/models/memberships-view.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 - import * as GetMemberships from '../../third-party/api/src/client/types/app/bsky/graph/getMemberships' 3 - import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref' 2 + import { 3 + AppBskyGraphGetMemberships as GetMemberships, 4 + AppBskyActorRef as ActorRef, 5 + } from '@atproto/api' 4 6 import {RootStoreModel} from './root-store' 5 7 6 8 export type MembershipItem = GetMemberships.Membership & {
+5 -3
src/state/models/notifications-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 - import * as ListNotifications from '../../third-party/api/src/client/types/app/bsky/notification/list' 3 - import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref' 2 + import { 3 + AppBskyNotificationList as ListNotifications, 4 + AppBskyActorRef as ActorRef, 5 + APP_BSKY_GRAPH, 6 + } from '@atproto/api' 4 7 import {RootStoreModel} from './root-store' 5 8 import {PostThreadViewModel} from './post-thread-view' 6 9 import {hasProp} from '../lib/type-guards' 7 - import {APP_BSKY_GRAPH} from '../../third-party/api' 8 10 import {cleanError} from '../../lib/strings' 9 11 10 12 const UNGROUPABLE_REASONS = ['trend', 'assertion']
+2 -3
src/state/models/post-thread-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 - import {AppBskyFeedGetPostThread as GPT} from '../../third-party/api' 3 - import type * as GetPostThread from '../../third-party/api/src/client/types/app/bsky/feed/getPostThread' 2 + import {AppBskyFeedGetPostThread as GetPostThread} from '@atproto/api' 4 3 import {AtUri} from '../../third-party/uri' 5 4 import {RootStoreModel} from './root-store' 6 5 import * as apilib from '../lib/api' ··· 297 296 this.isRefreshing = false 298 297 this.hasLoaded = true 299 298 this.error = err ? err.toString() : '' 300 - this.notFound = err instanceof GPT.NotFoundError 299 + this.notFound = err instanceof GetPostThread.NotFoundError 301 300 } 302 301 303 302 // loader functions
+1 -1
src/state/models/post.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 - import * as Post from '../../third-party/api/src/client/types/app/bsky/feed/post' 2 + import {AppBskyFeedPost as Post} from '@atproto/api' 3 3 import {AtUri} from '../../third-party/uri' 4 4 import {RootStoreModel} from './root-store' 5 5 import {cleanError} from '../../lib/strings'
+8 -4
src/state/models/profile-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 2 import {Image as PickedImage} from 'react-native-image-crop-picker' 3 - import * as GetProfile from '../../third-party/api/src/client/types/app/bsky/actor/getProfile' 4 - import * as Profile from '../../third-party/api/src/client/types/app/bsky/actor/profile' 5 - import {Main as DeclRef} from '../../third-party/api/src/client/types/app/bsky/system/declRef' 6 - import {Entity} from '../../third-party/api/src/client/types/app/bsky/feed/post' 3 + import { 4 + AppBskyActorGetProfile as GetProfile, 5 + AppBskyActorProfile as Profile, 6 + AppBskySystemDeclRef, 7 + AppBskyFeedPost, 8 + } from '@atproto/api' 9 + type DeclRef = AppBskySystemDeclRef.Main 10 + type Entity = AppBskyFeedPost.Entity 7 11 import {extractEntities} from '../../lib/strings' 8 12 import {RootStoreModel} from './root-store' 9 13 import * as apilib from '../lib/api'
+1 -1
src/state/models/profiles-view.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 2 import {LRUMap} from 'lru_map' 3 3 import {RootStoreModel} from './root-store' 4 - import * as GetProfile from '../../third-party/api/src/client/types/app/bsky/actor/getProfile' 4 + import {AppBskyActorGetProfile as GetProfile} from '@atproto/api' 5 5 6 6 type CacheValue = Promise<GetProfile.Response> | GetProfile.Response 7 7 export class ProfilesViewModel {
+5 -2
src/state/models/reposted-by-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 2 import {AtUri} from '../../third-party/uri' 3 - import * as GetRepostedBy from '../../third-party/api/src/client/types/app/bsky/feed/getRepostedBy' 4 - import {Main as DeclRef} from '../../third-party/api/src/client/types/app/bsky/system/declRef' 3 + import { 4 + AppBskyFeedGetRepostedBy as GetRepostedBy, 5 + AppBskySystemDeclRef, 6 + } from '@atproto/api' 7 + type DeclRef = AppBskySystemDeclRef.Main 5 8 import {RootStoreModel} from './root-store' 6 9 7 10 export class RepostedByViewItemModel implements GetRepostedBy.RepostedBy {
+1 -2
src/state/models/root-store.ts
··· 3 3 */ 4 4 5 5 import {makeAutoObservable} from 'mobx' 6 - import {sessionClient as AtpApi} from '../../third-party/api' 7 - import type {SessionServiceClient} from '../../third-party/api/src/index' 6 + import {sessionClient as AtpApi, SessionServiceClient} from '@atproto/api' 8 7 import {createContext, useContext} from 'react' 9 8 import {isObj, hasProp} from '../lib/type-guards' 10 9 import {SessionModel} from './session'
+5 -5
src/state/models/session.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 - import {sessionClient as AtpApi} from '../../third-party/api/index' 3 - import type { 4 - SessionServiceClient, 2 + import { 3 + sessionClient as AtpApi, 5 4 Session, 6 - } from '../../third-party/api/src/index' 7 - import type * as GetAccountsConfig from '../../third-party/api/src/client/types/com/atproto/server/getAccountsConfig' 5 + SessionServiceClient, 6 + ComAtprotoServerGetAccountsConfig as GetAccountsConfig, 7 + } from '@atproto/api' 8 8 import {isObj, hasProp} from '../lib/type-guards' 9 9 import {RootStoreModel} from './root-store' 10 10 import {isNetworkError} from '../../lib/errors'
+1 -1
src/state/models/suggested-actors-view.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 - import * as GetSuggestions from '../../third-party/api/src/client/types/app/bsky/actor/getSuggestions' 2 + import {AppBskyActorGetSuggestions as GetSuggestions} from '@atproto/api' 3 3 import {RootStoreModel} from './root-store' 4 4 5 5 export type SuggestedActor = GetSuggestions.Actor & {
+1 -1
src/state/models/suggested-invites-view.ts
··· 2 2 import {RootStoreModel} from './root-store' 3 3 import {UserFollowsViewModel, FollowItem} from './user-follows-view' 4 4 import {GetAssertionsView} from './get-assertions-view' 5 - import {APP_BSKY_SYSTEM, APP_BSKY_GRAPH} from '../../third-party/api' 5 + import {APP_BSKY_SYSTEM, APP_BSKY_GRAPH} from '@atproto/api' 6 6 7 7 export interface SuggestedInvitesViewParams { 8 8 sceneDid: string
+4 -2
src/state/models/user-autocomplete-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 - import * as GetFollows from '../../third-party/api/src/client/types/app/bsky/graph/getFollows' 3 - import * as SearchTypeahead from '../../third-party/api/src/client/types/app/bsky/actor/searchTypeahead' 2 + import { 3 + AppBskyGraphGetFollows as GetFollows, 4 + AppBskyActorSearchTypeahead as SearchTypeahead, 5 + } from '@atproto/api' 4 6 import {RootStoreModel} from './root-store' 5 7 6 8 export class UserAutocompleteViewModel {
+4 -2
src/state/models/user-followers-view.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 - import * as GetFollowers from '../../third-party/api/src/client/types/app/bsky/graph/getFollowers' 3 - import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref' 2 + import { 3 + AppBskyGraphGetFollowers as GetFollowers, 4 + AppBskyActorRef as ActorRef, 5 + } from '@atproto/api' 4 6 import {RootStoreModel} from './root-store' 5 7 6 8 export type FollowerItem = GetFollowers.Follower & {
+4 -2
src/state/models/user-follows-view.ts
··· 1 1 import {makeAutoObservable} from 'mobx' 2 - import * as GetFollows from '../../third-party/api/src/client/types/app/bsky/graph/getFollows' 3 - import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref' 2 + import { 3 + AppBskyGraphGetFollows as GetFollows, 4 + AppBskyActorRef as ActorRef, 5 + } from '@atproto/api' 4 6 import {RootStoreModel} from './root-store' 5 7 6 8 export type FollowItem = GetFollows.Follow & {
+4 -2
src/state/models/votes-view.ts
··· 1 1 import {makeAutoObservable, runInAction} from 'mobx' 2 2 import {AtUri} from '../../third-party/uri' 3 - import * as GetVotes from '../../third-party/api/src/client/types/app/bsky/feed/getVotes' 4 - import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref' 3 + import { 4 + AppBskyFeedGetVotes as GetVotes, 5 + AppBskyActorRef as ActorRef, 6 + } from '@atproto/api' 5 7 import {RootStoreModel} from './root-store' 6 8 7 9 export class VotesViewItemModel implements GetVotes.Vote {
-8724
src/third-party/api/index.js
··· 1 - "use strict"; 2 - var __create = Object.create; 3 - var __defProp = Object.defineProperty; 4 - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; 5 - var __getOwnPropNames = Object.getOwnPropertyNames; 6 - var __getProtoOf = Object.getPrototypeOf; 7 - var __hasOwnProp = Object.prototype.hasOwnProperty; 8 - var __export = (target, all) => { 9 - for (var name in all) 10 - __defProp(target, name, { get: all[name], enumerable: true }); 11 - }; 12 - var __copyProps = (to, from, except, desc) => { 13 - if (from && typeof from === "object" || typeof from === "function") { 14 - for (let key of __getOwnPropNames(from)) 15 - if (!__hasOwnProp.call(to, key) && key !== except) 16 - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); 17 - } 18 - return to; 19 - }; 20 - var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps( 21 - isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target, 22 - mod2 23 - )); 24 - var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); 25 - 26 - // src/index.ts 27 - var src_exports = {}; 28 - __export(src_exports, { 29 - APP_BSKY_GRAPH: () => APP_BSKY_GRAPH, 30 - APP_BSKY_SYSTEM: () => APP_BSKY_SYSTEM, 31 - AccountNS: () => AccountNS, 32 - ActorNS: () => ActorNS, 33 - AppBskyActorCreateScene: () => createScene_exports, 34 - AppBskyActorGetProfile: () => getProfile_exports, 35 - AppBskyActorGetSuggestions: () => getSuggestions_exports, 36 - AppBskyActorProfile: () => profile_exports, 37 - AppBskyActorRef: () => ref_exports, 38 - AppBskyActorSearch: () => search_exports, 39 - AppBskyActorSearchTypeahead: () => searchTypeahead_exports, 40 - AppBskyActorUpdateProfile: () => updateProfile_exports, 41 - AppBskyEmbedExternal: () => external_exports, 42 - AppBskyEmbedImages: () => images_exports, 43 - AppBskyFeedFeedViewPost: () => feedViewPost_exports, 44 - AppBskyFeedGetAuthorFeed: () => getAuthorFeed_exports, 45 - AppBskyFeedGetPostThread: () => getPostThread_exports, 46 - AppBskyFeedGetRepostedBy: () => getRepostedBy_exports, 47 - AppBskyFeedGetTimeline: () => getTimeline_exports, 48 - AppBskyFeedGetVotes: () => getVotes_exports, 49 - AppBskyFeedPost: () => post_exports, 50 - AppBskyFeedRepost: () => repost_exports, 51 - AppBskyFeedSetVote: () => setVote_exports, 52 - AppBskyFeedTrend: () => trend_exports, 53 - AppBskyFeedVote: () => vote_exports, 54 - AppBskyGraphAssertCreator: () => assertCreator_exports, 55 - AppBskyGraphAssertMember: () => assertMember_exports, 56 - AppBskyGraphAssertion: () => assertion_exports, 57 - AppBskyGraphConfirmation: () => confirmation_exports, 58 - AppBskyGraphFollow: () => follow_exports, 59 - AppBskyGraphGetAssertions: () => getAssertions_exports, 60 - AppBskyGraphGetFollowers: () => getFollowers_exports, 61 - AppBskyGraphGetFollows: () => getFollows_exports, 62 - AppBskyGraphGetMembers: () => getMembers_exports, 63 - AppBskyGraphGetMemberships: () => getMemberships_exports, 64 - AppBskyNotificationGetCount: () => getCount_exports, 65 - AppBskyNotificationList: () => list_exports, 66 - AppBskyNotificationUpdateSeen: () => updateSeen_exports, 67 - AppBskySystemActorScene: () => actorScene_exports, 68 - AppBskySystemActorUser: () => actorUser_exports, 69 - AppBskySystemDeclRef: () => declRef_exports, 70 - AppBskySystemDeclaration: () => declaration_exports, 71 - AppNS: () => AppNS, 72 - AssertionRecord: () => AssertionRecord, 73 - AtprotoNS: () => AtprotoNS, 74 - BlobNS: () => BlobNS, 75 - BskyNS: () => BskyNS, 76 - Client: () => Client2, 77 - ComAtprotoAccountCreate: () => create_exports, 78 - ComAtprotoAccountCreateInviteCode: () => createInviteCode_exports, 79 - ComAtprotoAccountDelete: () => delete_exports, 80 - ComAtprotoAccountGet: () => get_exports, 81 - ComAtprotoAccountRequestPasswordReset: () => requestPasswordReset_exports, 82 - ComAtprotoAccountResetPassword: () => resetPassword_exports, 83 - ComAtprotoBlobUpload: () => upload_exports, 84 - ComAtprotoHandleResolve: () => resolve_exports, 85 - ComAtprotoRepoBatchWrite: () => batchWrite_exports, 86 - ComAtprotoRepoCreateRecord: () => createRecord_exports, 87 - ComAtprotoRepoDeleteRecord: () => deleteRecord_exports, 88 - ComAtprotoRepoDescribe: () => describe_exports, 89 - ComAtprotoRepoGetRecord: () => getRecord_exports, 90 - ComAtprotoRepoListRecords: () => listRecords_exports, 91 - ComAtprotoRepoPutRecord: () => putRecord_exports, 92 - ComAtprotoRepoStrongRef: () => strongRef_exports, 93 - ComAtprotoServerGetAccountsConfig: () => getAccountsConfig_exports, 94 - ComAtprotoSessionCreate: () => create_exports2, 95 - ComAtprotoSessionDelete: () => delete_exports2, 96 - ComAtprotoSessionGet: () => get_exports2, 97 - ComAtprotoSessionRefresh: () => refresh_exports, 98 - ComAtprotoSyncGetRepo: () => getRepo_exports, 99 - ComAtprotoSyncGetRoot: () => getRoot_exports, 100 - ComAtprotoSyncUpdateRepo: () => updateRepo_exports, 101 - ComNS: () => ComNS, 102 - ConfirmationRecord: () => ConfirmationRecord, 103 - DeclarationRecord: () => DeclarationRecord, 104 - EmbedNS: () => EmbedNS, 105 - FeedNS: () => FeedNS, 106 - FollowRecord: () => FollowRecord, 107 - GraphNS: () => GraphNS, 108 - HandleNS: () => HandleNS, 109 - NotificationNS: () => NotificationNS, 110 - PostRecord: () => PostRecord, 111 - ProfileRecord: () => ProfileRecord, 112 - RepoNS: () => RepoNS, 113 - RepostRecord: () => RepostRecord, 114 - ServerNS: () => ServerNS, 115 - ServiceClient: () => ServiceClient2, 116 - SessionClient: () => SessionClient, 117 - SessionManager: () => SessionManager, 118 - SessionNS: () => SessionNS, 119 - SessionServiceClient: () => SessionServiceClient, 120 - SessionXrpcServiceClient: () => SessionXrpcServiceClient, 121 - SyncNS: () => SyncNS, 122 - SystemNS: () => SystemNS, 123 - TrendRecord: () => TrendRecord, 124 - VoteRecord: () => VoteRecord, 125 - default: () => client_default, 126 - sessionClient: () => session_default 127 - }); 128 - module.exports = __toCommonJS(src_exports); 129 - 130 - // ../../node_modules/zod/lib/index.mjs 131 - var util; 132 - (function(util2) { 133 - util2.assertEqual = (val) => val; 134 - function assertIs(_arg) { 135 - } 136 - util2.assertIs = assertIs; 137 - function assertNever(_x) { 138 - throw new Error(); 139 - } 140 - util2.assertNever = assertNever; 141 - util2.arrayToEnum = (items) => { 142 - const obj = {}; 143 - for (const item of items) { 144 - obj[item] = item; 145 - } 146 - return obj; 147 - }; 148 - util2.getValidEnumValues = (obj) => { 149 - const validKeys = util2.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); 150 - const filtered = {}; 151 - for (const k of validKeys) { 152 - filtered[k] = obj[k]; 153 - } 154 - return util2.objectValues(filtered); 155 - }; 156 - util2.objectValues = (obj) => { 157 - return util2.objectKeys(obj).map(function(e) { 158 - return obj[e]; 159 - }); 160 - }; 161 - util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object2) => { 162 - const keys = []; 163 - for (const key in object2) { 164 - if (Object.prototype.hasOwnProperty.call(object2, key)) { 165 - keys.push(key); 166 - } 167 - } 168 - return keys; 169 - }; 170 - util2.find = (arr, checker) => { 171 - for (const item of arr) { 172 - if (checker(item)) 173 - return item; 174 - } 175 - return void 0; 176 - }; 177 - util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val; 178 - function joinValues(array2, separator = " | ") { 179 - return array2.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); 180 - } 181 - util2.joinValues = joinValues; 182 - util2.jsonStringifyReplacer = (_, value) => { 183 - if (typeof value === "bigint") { 184 - return value.toString(); 185 - } 186 - return value; 187 - }; 188 - })(util || (util = {})); 189 - var ZodParsedType = util.arrayToEnum([ 190 - "string", 191 - "nan", 192 - "number", 193 - "integer", 194 - "float", 195 - "boolean", 196 - "date", 197 - "bigint", 198 - "symbol", 199 - "function", 200 - "undefined", 201 - "null", 202 - "array", 203 - "object", 204 - "unknown", 205 - "promise", 206 - "void", 207 - "never", 208 - "map", 209 - "set" 210 - ]); 211 - var getParsedType = (data) => { 212 - const t = typeof data; 213 - switch (t) { 214 - case "undefined": 215 - return ZodParsedType.undefined; 216 - case "string": 217 - return ZodParsedType.string; 218 - case "number": 219 - return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number; 220 - case "boolean": 221 - return ZodParsedType.boolean; 222 - case "function": 223 - return ZodParsedType.function; 224 - case "bigint": 225 - return ZodParsedType.bigint; 226 - case "object": 227 - if (Array.isArray(data)) { 228 - return ZodParsedType.array; 229 - } 230 - if (data === null) { 231 - return ZodParsedType.null; 232 - } 233 - if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { 234 - return ZodParsedType.promise; 235 - } 236 - if (typeof Map !== "undefined" && data instanceof Map) { 237 - return ZodParsedType.map; 238 - } 239 - if (typeof Set !== "undefined" && data instanceof Set) { 240 - return ZodParsedType.set; 241 - } 242 - if (typeof Date !== "undefined" && data instanceof Date) { 243 - return ZodParsedType.date; 244 - } 245 - return ZodParsedType.object; 246 - default: 247 - return ZodParsedType.unknown; 248 - } 249 - }; 250 - var ZodIssueCode = util.arrayToEnum([ 251 - "invalid_type", 252 - "invalid_literal", 253 - "custom", 254 - "invalid_union", 255 - "invalid_union_discriminator", 256 - "invalid_enum_value", 257 - "unrecognized_keys", 258 - "invalid_arguments", 259 - "invalid_return_type", 260 - "invalid_date", 261 - "invalid_string", 262 - "too_small", 263 - "too_big", 264 - "invalid_intersection_types", 265 - "not_multiple_of" 266 - ]); 267 - var quotelessJson = (obj) => { 268 - const json = JSON.stringify(obj, null, 2); 269 - return json.replace(/"([^"]+)":/g, "$1:"); 270 - }; 271 - var ZodError = class extends Error { 272 - constructor(issues) { 273 - super(); 274 - this.issues = []; 275 - this.addIssue = (sub) => { 276 - this.issues = [...this.issues, sub]; 277 - }; 278 - this.addIssues = (subs = []) => { 279 - this.issues = [...this.issues, ...subs]; 280 - }; 281 - const actualProto = new.target.prototype; 282 - if (Object.setPrototypeOf) { 283 - Object.setPrototypeOf(this, actualProto); 284 - } else { 285 - this.__proto__ = actualProto; 286 - } 287 - this.name = "ZodError"; 288 - this.issues = issues; 289 - } 290 - get errors() { 291 - return this.issues; 292 - } 293 - format(_mapper) { 294 - const mapper = _mapper || function(issue) { 295 - return issue.message; 296 - }; 297 - const fieldErrors = { _errors: [] }; 298 - const processError = (error) => { 299 - for (const issue of error.issues) { 300 - if (issue.code === "invalid_union") { 301 - issue.unionErrors.map(processError); 302 - } else if (issue.code === "invalid_return_type") { 303 - processError(issue.returnTypeError); 304 - } else if (issue.code === "invalid_arguments") { 305 - processError(issue.argumentsError); 306 - } else if (issue.path.length === 0) { 307 - fieldErrors._errors.push(mapper(issue)); 308 - } else { 309 - let curr = fieldErrors; 310 - let i = 0; 311 - while (i < issue.path.length) { 312 - const el = issue.path[i]; 313 - const terminal = i === issue.path.length - 1; 314 - if (!terminal) { 315 - curr[el] = curr[el] || { _errors: [] }; 316 - } else { 317 - curr[el] = curr[el] || { _errors: [] }; 318 - curr[el]._errors.push(mapper(issue)); 319 - } 320 - curr = curr[el]; 321 - i++; 322 - } 323 - } 324 - } 325 - }; 326 - processError(this); 327 - return fieldErrors; 328 - } 329 - toString() { 330 - return this.message; 331 - } 332 - get message() { 333 - return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2); 334 - } 335 - get isEmpty() { 336 - return this.issues.length === 0; 337 - } 338 - flatten(mapper = (issue) => issue.message) { 339 - const fieldErrors = {}; 340 - const formErrors = []; 341 - for (const sub of this.issues) { 342 - if (sub.path.length > 0) { 343 - fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || []; 344 - fieldErrors[sub.path[0]].push(mapper(sub)); 345 - } else { 346 - formErrors.push(mapper(sub)); 347 - } 348 - } 349 - return { formErrors, fieldErrors }; 350 - } 351 - get formErrors() { 352 - return this.flatten(); 353 - } 354 - }; 355 - ZodError.create = (issues) => { 356 - const error = new ZodError(issues); 357 - return error; 358 - }; 359 - var errorMap = (issue, _ctx) => { 360 - let message; 361 - switch (issue.code) { 362 - case ZodIssueCode.invalid_type: 363 - if (issue.received === ZodParsedType.undefined) { 364 - message = "Required"; 365 - } else { 366 - message = `Expected ${issue.expected}, received ${issue.received}`; 367 - } 368 - break; 369 - case ZodIssueCode.invalid_literal: 370 - message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`; 371 - break; 372 - case ZodIssueCode.unrecognized_keys: 373 - message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, ", ")}`; 374 - break; 375 - case ZodIssueCode.invalid_union: 376 - message = `Invalid input`; 377 - break; 378 - case ZodIssueCode.invalid_union_discriminator: 379 - message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`; 380 - break; 381 - case ZodIssueCode.invalid_enum_value: 382 - message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`; 383 - break; 384 - case ZodIssueCode.invalid_arguments: 385 - message = `Invalid function arguments`; 386 - break; 387 - case ZodIssueCode.invalid_return_type: 388 - message = `Invalid function return type`; 389 - break; 390 - case ZodIssueCode.invalid_date: 391 - message = `Invalid date`; 392 - break; 393 - case ZodIssueCode.invalid_string: 394 - if (typeof issue.validation === "object") { 395 - if ("startsWith" in issue.validation) { 396 - message = `Invalid input: must start with "${issue.validation.startsWith}"`; 397 - } else if ("endsWith" in issue.validation) { 398 - message = `Invalid input: must end with "${issue.validation.endsWith}"`; 399 - } else { 400 - util.assertNever(issue.validation); 401 - } 402 - } else if (issue.validation !== "regex") { 403 - message = `Invalid ${issue.validation}`; 404 - } else { 405 - message = "Invalid"; 406 - } 407 - break; 408 - case ZodIssueCode.too_small: 409 - if (issue.type === "array") 410 - message = `Array must contain ${issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`; 411 - else if (issue.type === "string") 412 - message = `String must contain ${issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`; 413 - else if (issue.type === "number") 414 - message = `Number must be greater than ${issue.inclusive ? `or equal to ` : ``}${issue.minimum}`; 415 - else if (issue.type === "date") 416 - message = `Date must be greater than ${issue.inclusive ? `or equal to ` : ``}${new Date(issue.minimum)}`; 417 - else 418 - message = "Invalid input"; 419 - break; 420 - case ZodIssueCode.too_big: 421 - if (issue.type === "array") 422 - message = `Array must contain ${issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`; 423 - else if (issue.type === "string") 424 - message = `String must contain ${issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`; 425 - else if (issue.type === "number") 426 - message = `Number must be less than ${issue.inclusive ? `or equal to ` : ``}${issue.maximum}`; 427 - else if (issue.type === "date") 428 - message = `Date must be smaller than ${issue.inclusive ? `or equal to ` : ``}${new Date(issue.maximum)}`; 429 - else 430 - message = "Invalid input"; 431 - break; 432 - case ZodIssueCode.custom: 433 - message = `Invalid input`; 434 - break; 435 - case ZodIssueCode.invalid_intersection_types: 436 - message = `Intersection results could not be merged`; 437 - break; 438 - case ZodIssueCode.not_multiple_of: 439 - message = `Number must be a multiple of ${issue.multipleOf}`; 440 - break; 441 - default: 442 - message = _ctx.defaultError; 443 - util.assertNever(issue); 444 - } 445 - return { message }; 446 - }; 447 - var overrideErrorMap = errorMap; 448 - function setErrorMap(map) { 449 - overrideErrorMap = map; 450 - } 451 - function getErrorMap() { 452 - return overrideErrorMap; 453 - } 454 - var makeIssue = (params2) => { 455 - const { data, path, errorMaps, issueData } = params2; 456 - const fullPath = [...path, ...issueData.path || []]; 457 - const fullIssue = { 458 - ...issueData, 459 - path: fullPath 460 - }; 461 - let errorMessage = ""; 462 - const maps = errorMaps.filter((m) => !!m).slice().reverse(); 463 - for (const map of maps) { 464 - errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message; 465 - } 466 - return { 467 - ...issueData, 468 - path: fullPath, 469 - message: issueData.message || errorMessage 470 - }; 471 - }; 472 - var EMPTY_PATH = []; 473 - function addIssueToContext(ctx, issueData) { 474 - const issue = makeIssue({ 475 - issueData, 476 - data: ctx.data, 477 - path: ctx.path, 478 - errorMaps: [ 479 - ctx.common.contextualErrorMap, 480 - ctx.schemaErrorMap, 481 - getErrorMap(), 482 - errorMap 483 - ].filter((x) => !!x) 484 - }); 485 - ctx.common.issues.push(issue); 486 - } 487 - var ParseStatus = class { 488 - constructor() { 489 - this.value = "valid"; 490 - } 491 - dirty() { 492 - if (this.value === "valid") 493 - this.value = "dirty"; 494 - } 495 - abort() { 496 - if (this.value !== "aborted") 497 - this.value = "aborted"; 498 - } 499 - static mergeArray(status, results) { 500 - const arrayValue = []; 501 - for (const s of results) { 502 - if (s.status === "aborted") 503 - return INVALID; 504 - if (s.status === "dirty") 505 - status.dirty(); 506 - arrayValue.push(s.value); 507 - } 508 - return { status: status.value, value: arrayValue }; 509 - } 510 - static async mergeObjectAsync(status, pairs) { 511 - const syncPairs = []; 512 - for (const pair of pairs) { 513 - syncPairs.push({ 514 - key: await pair.key, 515 - value: await pair.value 516 - }); 517 - } 518 - return ParseStatus.mergeObjectSync(status, syncPairs); 519 - } 520 - static mergeObjectSync(status, pairs) { 521 - const finalObject = {}; 522 - for (const pair of pairs) { 523 - const { key, value } = pair; 524 - if (key.status === "aborted") 525 - return INVALID; 526 - if (value.status === "aborted") 527 - return INVALID; 528 - if (key.status === "dirty") 529 - status.dirty(); 530 - if (value.status === "dirty") 531 - status.dirty(); 532 - if (typeof value.value !== "undefined" || pair.alwaysSet) { 533 - finalObject[key.value] = value.value; 534 - } 535 - } 536 - return { status: status.value, value: finalObject }; 537 - } 538 - }; 539 - var INVALID = Object.freeze({ 540 - status: "aborted" 541 - }); 542 - var DIRTY = (value) => ({ status: "dirty", value }); 543 - var OK = (value) => ({ status: "valid", value }); 544 - var isAborted = (x) => x.status === "aborted"; 545 - var isDirty = (x) => x.status === "dirty"; 546 - var isValid = (x) => x.status === "valid"; 547 - var isAsync = (x) => typeof Promise !== void 0 && x instanceof Promise; 548 - var errorUtil; 549 - (function(errorUtil2) { 550 - errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {}; 551 - errorUtil2.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message; 552 - })(errorUtil || (errorUtil = {})); 553 - var ParseInputLazyPath = class { 554 - constructor(parent, value, path, key) { 555 - this.parent = parent; 556 - this.data = value; 557 - this._path = path; 558 - this._key = key; 559 - } 560 - get path() { 561 - return this._path.concat(this._key); 562 - } 563 - }; 564 - var handleResult = (ctx, result) => { 565 - if (isValid(result)) { 566 - return { success: true, data: result.value }; 567 - } else { 568 - if (!ctx.common.issues.length) { 569 - throw new Error("Validation failed but no issues detected."); 570 - } 571 - const error = new ZodError(ctx.common.issues); 572 - return { success: false, error }; 573 - } 574 - }; 575 - function processCreateParams(params2) { 576 - if (!params2) 577 - return {}; 578 - const { errorMap: errorMap2, invalid_type_error, required_error, description } = params2; 579 - if (errorMap2 && (invalid_type_error || required_error)) { 580 - throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); 581 - } 582 - if (errorMap2) 583 - return { errorMap: errorMap2, description }; 584 - const customMap = (iss, ctx) => { 585 - if (iss.code !== "invalid_type") 586 - return { message: ctx.defaultError }; 587 - if (typeof ctx.data === "undefined") { 588 - return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError }; 589 - } 590 - return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError }; 591 - }; 592 - return { errorMap: customMap, description }; 593 - } 594 - var ZodType = class { 595 - constructor(def) { 596 - this.spa = this.safeParseAsync; 597 - this.superRefine = this._refinement; 598 - this._def = def; 599 - this.parse = this.parse.bind(this); 600 - this.safeParse = this.safeParse.bind(this); 601 - this.parseAsync = this.parseAsync.bind(this); 602 - this.safeParseAsync = this.safeParseAsync.bind(this); 603 - this.spa = this.spa.bind(this); 604 - this.refine = this.refine.bind(this); 605 - this.refinement = this.refinement.bind(this); 606 - this.superRefine = this.superRefine.bind(this); 607 - this.optional = this.optional.bind(this); 608 - this.nullable = this.nullable.bind(this); 609 - this.nullish = this.nullish.bind(this); 610 - this.array = this.array.bind(this); 611 - this.promise = this.promise.bind(this); 612 - this.or = this.or.bind(this); 613 - this.and = this.and.bind(this); 614 - this.transform = this.transform.bind(this); 615 - this.default = this.default.bind(this); 616 - this.describe = this.describe.bind(this); 617 - this.isNullable = this.isNullable.bind(this); 618 - this.isOptional = this.isOptional.bind(this); 619 - } 620 - get description() { 621 - return this._def.description; 622 - } 623 - _getType(input) { 624 - return getParsedType(input.data); 625 - } 626 - _getOrReturnCtx(input, ctx) { 627 - return ctx || { 628 - common: input.parent.common, 629 - data: input.data, 630 - parsedType: getParsedType(input.data), 631 - schemaErrorMap: this._def.errorMap, 632 - path: input.path, 633 - parent: input.parent 634 - }; 635 - } 636 - _processInputParams(input) { 637 - return { 638 - status: new ParseStatus(), 639 - ctx: { 640 - common: input.parent.common, 641 - data: input.data, 642 - parsedType: getParsedType(input.data), 643 - schemaErrorMap: this._def.errorMap, 644 - path: input.path, 645 - parent: input.parent 646 - } 647 - }; 648 - } 649 - _parseSync(input) { 650 - const result = this._parse(input); 651 - if (isAsync(result)) { 652 - throw new Error("Synchronous parse encountered promise."); 653 - } 654 - return result; 655 - } 656 - _parseAsync(input) { 657 - const result = this._parse(input); 658 - return Promise.resolve(result); 659 - } 660 - parse(data, params2) { 661 - const result = this.safeParse(data, params2); 662 - if (result.success) 663 - return result.data; 664 - throw result.error; 665 - } 666 - safeParse(data, params2) { 667 - var _a; 668 - const ctx = { 669 - common: { 670 - issues: [], 671 - async: (_a = params2 === null || params2 === void 0 ? void 0 : params2.async) !== null && _a !== void 0 ? _a : false, 672 - contextualErrorMap: params2 === null || params2 === void 0 ? void 0 : params2.errorMap 673 - }, 674 - path: (params2 === null || params2 === void 0 ? void 0 : params2.path) || [], 675 - schemaErrorMap: this._def.errorMap, 676 - parent: null, 677 - data, 678 - parsedType: getParsedType(data) 679 - }; 680 - const result = this._parseSync({ data, path: ctx.path, parent: ctx }); 681 - return handleResult(ctx, result); 682 - } 683 - async parseAsync(data, params2) { 684 - const result = await this.safeParseAsync(data, params2); 685 - if (result.success) 686 - return result.data; 687 - throw result.error; 688 - } 689 - async safeParseAsync(data, params2) { 690 - const ctx = { 691 - common: { 692 - issues: [], 693 - contextualErrorMap: params2 === null || params2 === void 0 ? void 0 : params2.errorMap, 694 - async: true 695 - }, 696 - path: (params2 === null || params2 === void 0 ? void 0 : params2.path) || [], 697 - schemaErrorMap: this._def.errorMap, 698 - parent: null, 699 - data, 700 - parsedType: getParsedType(data) 701 - }; 702 - const maybeAsyncResult = this._parse({ data, path: [], parent: ctx }); 703 - const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); 704 - return handleResult(ctx, result); 705 - } 706 - refine(check, message) { 707 - const getIssueProperties = (val) => { 708 - if (typeof message === "string" || typeof message === "undefined") { 709 - return { message }; 710 - } else if (typeof message === "function") { 711 - return message(val); 712 - } else { 713 - return message; 714 - } 715 - }; 716 - return this._refinement((val, ctx) => { 717 - const result = check(val); 718 - const setError = () => ctx.addIssue({ 719 - code: ZodIssueCode.custom, 720 - ...getIssueProperties(val) 721 - }); 722 - if (typeof Promise !== "undefined" && result instanceof Promise) { 723 - return result.then((data) => { 724 - if (!data) { 725 - setError(); 726 - return false; 727 - } else { 728 - return true; 729 - } 730 - }); 731 - } 732 - if (!result) { 733 - setError(); 734 - return false; 735 - } else { 736 - return true; 737 - } 738 - }); 739 - } 740 - refinement(check, refinementData) { 741 - return this._refinement((val, ctx) => { 742 - if (!check(val)) { 743 - ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); 744 - return false; 745 - } else { 746 - return true; 747 - } 748 - }); 749 - } 750 - _refinement(refinement) { 751 - return new ZodEffects({ 752 - schema: this, 753 - typeName: ZodFirstPartyTypeKind.ZodEffects, 754 - effect: { type: "refinement", refinement } 755 - }); 756 - } 757 - optional() { 758 - return ZodOptional.create(this); 759 - } 760 - nullable() { 761 - return ZodNullable.create(this); 762 - } 763 - nullish() { 764 - return this.optional().nullable(); 765 - } 766 - array() { 767 - return ZodArray.create(this); 768 - } 769 - promise() { 770 - return ZodPromise.create(this); 771 - } 772 - or(option) { 773 - return ZodUnion.create([this, option]); 774 - } 775 - and(incoming) { 776 - return ZodIntersection.create(this, incoming); 777 - } 778 - transform(transform) { 779 - return new ZodEffects({ 780 - schema: this, 781 - typeName: ZodFirstPartyTypeKind.ZodEffects, 782 - effect: { type: "transform", transform } 783 - }); 784 - } 785 - default(def) { 786 - const defaultValueFunc = typeof def === "function" ? def : () => def; 787 - return new ZodDefault({ 788 - innerType: this, 789 - defaultValue: defaultValueFunc, 790 - typeName: ZodFirstPartyTypeKind.ZodDefault 791 - }); 792 - } 793 - brand() { 794 - return new ZodBranded({ 795 - typeName: ZodFirstPartyTypeKind.ZodBranded, 796 - type: this, 797 - ...processCreateParams(void 0) 798 - }); 799 - } 800 - describe(description) { 801 - const This = this.constructor; 802 - return new This({ 803 - ...this._def, 804 - description 805 - }); 806 - } 807 - isOptional() { 808 - return this.safeParse(void 0).success; 809 - } 810 - isNullable() { 811 - return this.safeParse(null).success; 812 - } 813 - }; 814 - var cuidRegex = /^c[^\s-]{8,}$/i; 815 - var 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; 816 - var emailRegex = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; 817 - var ZodString = class extends ZodType { 818 - constructor() { 819 - super(...arguments); 820 - this._regex = (regex, validation, message) => this.refinement((data) => regex.test(data), { 821 - validation, 822 - code: ZodIssueCode.invalid_string, 823 - ...errorUtil.errToObj(message) 824 - }); 825 - this.nonempty = (message) => this.min(1, errorUtil.errToObj(message)); 826 - this.trim = () => new ZodString({ 827 - ...this._def, 828 - checks: [...this._def.checks, { kind: "trim" }] 829 - }); 830 - } 831 - _parse(input) { 832 - const parsedType = this._getType(input); 833 - if (parsedType !== ZodParsedType.string) { 834 - const ctx2 = this._getOrReturnCtx(input); 835 - addIssueToContext( 836 - ctx2, 837 - { 838 - code: ZodIssueCode.invalid_type, 839 - expected: ZodParsedType.string, 840 - received: ctx2.parsedType 841 - } 842 - ); 843 - return INVALID; 844 - } 845 - const status = new ParseStatus(); 846 - let ctx = void 0; 847 - for (const check of this._def.checks) { 848 - if (check.kind === "min") { 849 - if (input.data.length < check.value) { 850 - ctx = this._getOrReturnCtx(input, ctx); 851 - addIssueToContext(ctx, { 852 - code: ZodIssueCode.too_small, 853 - minimum: check.value, 854 - type: "string", 855 - inclusive: true, 856 - message: check.message 857 - }); 858 - status.dirty(); 859 - } 860 - } else if (check.kind === "max") { 861 - if (input.data.length > check.value) { 862 - ctx = this._getOrReturnCtx(input, ctx); 863 - addIssueToContext(ctx, { 864 - code: ZodIssueCode.too_big, 865 - maximum: check.value, 866 - type: "string", 867 - inclusive: true, 868 - message: check.message 869 - }); 870 - status.dirty(); 871 - } 872 - } else if (check.kind === "email") { 873 - if (!emailRegex.test(input.data)) { 874 - ctx = this._getOrReturnCtx(input, ctx); 875 - addIssueToContext(ctx, { 876 - validation: "email", 877 - code: ZodIssueCode.invalid_string, 878 - message: check.message 879 - }); 880 - status.dirty(); 881 - } 882 - } else if (check.kind === "uuid") { 883 - if (!uuidRegex.test(input.data)) { 884 - ctx = this._getOrReturnCtx(input, ctx); 885 - addIssueToContext(ctx, { 886 - validation: "uuid", 887 - code: ZodIssueCode.invalid_string, 888 - message: check.message 889 - }); 890 - status.dirty(); 891 - } 892 - } else if (check.kind === "cuid") { 893 - if (!cuidRegex.test(input.data)) { 894 - ctx = this._getOrReturnCtx(input, ctx); 895 - addIssueToContext(ctx, { 896 - validation: "cuid", 897 - code: ZodIssueCode.invalid_string, 898 - message: check.message 899 - }); 900 - status.dirty(); 901 - } 902 - } else if (check.kind === "url") { 903 - try { 904 - new URL(input.data); 905 - } catch (_a) { 906 - ctx = this._getOrReturnCtx(input, ctx); 907 - addIssueToContext(ctx, { 908 - validation: "url", 909 - code: ZodIssueCode.invalid_string, 910 - message: check.message 911 - }); 912 - status.dirty(); 913 - } 914 - } else if (check.kind === "regex") { 915 - check.regex.lastIndex = 0; 916 - const testResult = check.regex.test(input.data); 917 - if (!testResult) { 918 - ctx = this._getOrReturnCtx(input, ctx); 919 - addIssueToContext(ctx, { 920 - validation: "regex", 921 - code: ZodIssueCode.invalid_string, 922 - message: check.message 923 - }); 924 - status.dirty(); 925 - } 926 - } else if (check.kind === "trim") { 927 - input.data = input.data.trim(); 928 - } else if (check.kind === "startsWith") { 929 - if (!input.data.startsWith(check.value)) { 930 - ctx = this._getOrReturnCtx(input, ctx); 931 - addIssueToContext(ctx, { 932 - code: ZodIssueCode.invalid_string, 933 - validation: { startsWith: check.value }, 934 - message: check.message 935 - }); 936 - status.dirty(); 937 - } 938 - } else if (check.kind === "endsWith") { 939 - if (!input.data.endsWith(check.value)) { 940 - ctx = this._getOrReturnCtx(input, ctx); 941 - addIssueToContext(ctx, { 942 - code: ZodIssueCode.invalid_string, 943 - validation: { endsWith: check.value }, 944 - message: check.message 945 - }); 946 - status.dirty(); 947 - } 948 - } else { 949 - util.assertNever(check); 950 - } 951 - } 952 - return { status: status.value, value: input.data }; 953 - } 954 - _addCheck(check) { 955 - return new ZodString({ 956 - ...this._def, 957 - checks: [...this._def.checks, check] 958 - }); 959 - } 960 - email(message) { 961 - return this._addCheck({ kind: "email", ...errorUtil.errToObj(message) }); 962 - } 963 - url(message) { 964 - return this._addCheck({ kind: "url", ...errorUtil.errToObj(message) }); 965 - } 966 - uuid(message) { 967 - return this._addCheck({ kind: "uuid", ...errorUtil.errToObj(message) }); 968 - } 969 - cuid(message) { 970 - return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) }); 971 - } 972 - regex(regex, message) { 973 - return this._addCheck({ 974 - kind: "regex", 975 - regex, 976 - ...errorUtil.errToObj(message) 977 - }); 978 - } 979 - startsWith(value, message) { 980 - return this._addCheck({ 981 - kind: "startsWith", 982 - value, 983 - ...errorUtil.errToObj(message) 984 - }); 985 - } 986 - endsWith(value, message) { 987 - return this._addCheck({ 988 - kind: "endsWith", 989 - value, 990 - ...errorUtil.errToObj(message) 991 - }); 992 - } 993 - min(minLength, message) { 994 - return this._addCheck({ 995 - kind: "min", 996 - value: minLength, 997 - ...errorUtil.errToObj(message) 998 - }); 999 - } 1000 - max(maxLength, message) { 1001 - return this._addCheck({ 1002 - kind: "max", 1003 - value: maxLength, 1004 - ...errorUtil.errToObj(message) 1005 - }); 1006 - } 1007 - length(len, message) { 1008 - return this.min(len, message).max(len, message); 1009 - } 1010 - get isEmail() { 1011 - return !!this._def.checks.find((ch) => ch.kind === "email"); 1012 - } 1013 - get isURL() { 1014 - return !!this._def.checks.find((ch) => ch.kind === "url"); 1015 - } 1016 - get isUUID() { 1017 - return !!this._def.checks.find((ch) => ch.kind === "uuid"); 1018 - } 1019 - get isCUID() { 1020 - return !!this._def.checks.find((ch) => ch.kind === "cuid"); 1021 - } 1022 - get minLength() { 1023 - let min = null; 1024 - for (const ch of this._def.checks) { 1025 - if (ch.kind === "min") { 1026 - if (min === null || ch.value > min) 1027 - min = ch.value; 1028 - } 1029 - } 1030 - return min; 1031 - } 1032 - get maxLength() { 1033 - let max = null; 1034 - for (const ch of this._def.checks) { 1035 - if (ch.kind === "max") { 1036 - if (max === null || ch.value < max) 1037 - max = ch.value; 1038 - } 1039 - } 1040 - return max; 1041 - } 1042 - }; 1043 - ZodString.create = (params2) => { 1044 - return new ZodString({ 1045 - checks: [], 1046 - typeName: ZodFirstPartyTypeKind.ZodString, 1047 - ...processCreateParams(params2) 1048 - }); 1049 - }; 1050 - function floatSafeRemainder(val, step) { 1051 - const valDecCount = (val.toString().split(".")[1] || "").length; 1052 - const stepDecCount = (step.toString().split(".")[1] || "").length; 1053 - const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; 1054 - const valInt = parseInt(val.toFixed(decCount).replace(".", "")); 1055 - const stepInt = parseInt(step.toFixed(decCount).replace(".", "")); 1056 - return valInt % stepInt / Math.pow(10, decCount); 1057 - } 1058 - var ZodNumber = class extends ZodType { 1059 - constructor() { 1060 - super(...arguments); 1061 - this.min = this.gte; 1062 - this.max = this.lte; 1063 - this.step = this.multipleOf; 1064 - } 1065 - _parse(input) { 1066 - const parsedType = this._getType(input); 1067 - if (parsedType !== ZodParsedType.number) { 1068 - const ctx2 = this._getOrReturnCtx(input); 1069 - addIssueToContext(ctx2, { 1070 - code: ZodIssueCode.invalid_type, 1071 - expected: ZodParsedType.number, 1072 - received: ctx2.parsedType 1073 - }); 1074 - return INVALID; 1075 - } 1076 - let ctx = void 0; 1077 - const status = new ParseStatus(); 1078 - for (const check of this._def.checks) { 1079 - if (check.kind === "int") { 1080 - if (!util.isInteger(input.data)) { 1081 - ctx = this._getOrReturnCtx(input, ctx); 1082 - addIssueToContext(ctx, { 1083 - code: ZodIssueCode.invalid_type, 1084 - expected: "integer", 1085 - received: "float", 1086 - message: check.message 1087 - }); 1088 - status.dirty(); 1089 - } 1090 - } else if (check.kind === "min") { 1091 - const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; 1092 - if (tooSmall) { 1093 - ctx = this._getOrReturnCtx(input, ctx); 1094 - addIssueToContext(ctx, { 1095 - code: ZodIssueCode.too_small, 1096 - minimum: check.value, 1097 - type: "number", 1098 - inclusive: check.inclusive, 1099 - message: check.message 1100 - }); 1101 - status.dirty(); 1102 - } 1103 - } else if (check.kind === "max") { 1104 - const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; 1105 - if (tooBig) { 1106 - ctx = this._getOrReturnCtx(input, ctx); 1107 - addIssueToContext(ctx, { 1108 - code: ZodIssueCode.too_big, 1109 - maximum: check.value, 1110 - type: "number", 1111 - inclusive: check.inclusive, 1112 - message: check.message 1113 - }); 1114 - status.dirty(); 1115 - } 1116 - } else if (check.kind === "multipleOf") { 1117 - if (floatSafeRemainder(input.data, check.value) !== 0) { 1118 - ctx = this._getOrReturnCtx(input, ctx); 1119 - addIssueToContext(ctx, { 1120 - code: ZodIssueCode.not_multiple_of, 1121 - multipleOf: check.value, 1122 - message: check.message 1123 - }); 1124 - status.dirty(); 1125 - } 1126 - } else { 1127 - util.assertNever(check); 1128 - } 1129 - } 1130 - return { status: status.value, value: input.data }; 1131 - } 1132 - gte(value, message) { 1133 - return this.setLimit("min", value, true, errorUtil.toString(message)); 1134 - } 1135 - gt(value, message) { 1136 - return this.setLimit("min", value, false, errorUtil.toString(message)); 1137 - } 1138 - lte(value, message) { 1139 - return this.setLimit("max", value, true, errorUtil.toString(message)); 1140 - } 1141 - lt(value, message) { 1142 - return this.setLimit("max", value, false, errorUtil.toString(message)); 1143 - } 1144 - setLimit(kind, value, inclusive, message) { 1145 - return new ZodNumber({ 1146 - ...this._def, 1147 - checks: [ 1148 - ...this._def.checks, 1149 - { 1150 - kind, 1151 - value, 1152 - inclusive, 1153 - message: errorUtil.toString(message) 1154 - } 1155 - ] 1156 - }); 1157 - } 1158 - _addCheck(check) { 1159 - return new ZodNumber({ 1160 - ...this._def, 1161 - checks: [...this._def.checks, check] 1162 - }); 1163 - } 1164 - int(message) { 1165 - return this._addCheck({ 1166 - kind: "int", 1167 - message: errorUtil.toString(message) 1168 - }); 1169 - } 1170 - positive(message) { 1171 - return this._addCheck({ 1172 - kind: "min", 1173 - value: 0, 1174 - inclusive: false, 1175 - message: errorUtil.toString(message) 1176 - }); 1177 - } 1178 - negative(message) { 1179 - return this._addCheck({ 1180 - kind: "max", 1181 - value: 0, 1182 - inclusive: false, 1183 - message: errorUtil.toString(message) 1184 - }); 1185 - } 1186 - nonpositive(message) { 1187 - return this._addCheck({ 1188 - kind: "max", 1189 - value: 0, 1190 - inclusive: true, 1191 - message: errorUtil.toString(message) 1192 - }); 1193 - } 1194 - nonnegative(message) { 1195 - return this._addCheck({ 1196 - kind: "min", 1197 - value: 0, 1198 - inclusive: true, 1199 - message: errorUtil.toString(message) 1200 - }); 1201 - } 1202 - multipleOf(value, message) { 1203 - return this._addCheck({ 1204 - kind: "multipleOf", 1205 - value, 1206 - message: errorUtil.toString(message) 1207 - }); 1208 - } 1209 - get minValue() { 1210 - let min = null; 1211 - for (const ch of this._def.checks) { 1212 - if (ch.kind === "min") { 1213 - if (min === null || ch.value > min) 1214 - min = ch.value; 1215 - } 1216 - } 1217 - return min; 1218 - } 1219 - get maxValue() { 1220 - let max = null; 1221 - for (const ch of this._def.checks) { 1222 - if (ch.kind === "max") { 1223 - if (max === null || ch.value < max) 1224 - max = ch.value; 1225 - } 1226 - } 1227 - return max; 1228 - } 1229 - get isInt() { 1230 - return !!this._def.checks.find((ch) => ch.kind === "int"); 1231 - } 1232 - }; 1233 - ZodNumber.create = (params2) => { 1234 - return new ZodNumber({ 1235 - checks: [], 1236 - typeName: ZodFirstPartyTypeKind.ZodNumber, 1237 - ...processCreateParams(params2) 1238 - }); 1239 - }; 1240 - var ZodBigInt = class extends ZodType { 1241 - _parse(input) { 1242 - const parsedType = this._getType(input); 1243 - if (parsedType !== ZodParsedType.bigint) { 1244 - const ctx = this._getOrReturnCtx(input); 1245 - addIssueToContext(ctx, { 1246 - code: ZodIssueCode.invalid_type, 1247 - expected: ZodParsedType.bigint, 1248 - received: ctx.parsedType 1249 - }); 1250 - return INVALID; 1251 - } 1252 - return OK(input.data); 1253 - } 1254 - }; 1255 - ZodBigInt.create = (params2) => { 1256 - return new ZodBigInt({ 1257 - typeName: ZodFirstPartyTypeKind.ZodBigInt, 1258 - ...processCreateParams(params2) 1259 - }); 1260 - }; 1261 - var ZodBoolean = class extends ZodType { 1262 - _parse(input) { 1263 - const parsedType = this._getType(input); 1264 - if (parsedType !== ZodParsedType.boolean) { 1265 - const ctx = this._getOrReturnCtx(input); 1266 - addIssueToContext(ctx, { 1267 - code: ZodIssueCode.invalid_type, 1268 - expected: ZodParsedType.boolean, 1269 - received: ctx.parsedType 1270 - }); 1271 - return INVALID; 1272 - } 1273 - return OK(input.data); 1274 - } 1275 - }; 1276 - ZodBoolean.create = (params2) => { 1277 - return new ZodBoolean({ 1278 - typeName: ZodFirstPartyTypeKind.ZodBoolean, 1279 - ...processCreateParams(params2) 1280 - }); 1281 - }; 1282 - var ZodDate = class extends ZodType { 1283 - _parse(input) { 1284 - const parsedType = this._getType(input); 1285 - if (parsedType !== ZodParsedType.date) { 1286 - const ctx2 = this._getOrReturnCtx(input); 1287 - addIssueToContext(ctx2, { 1288 - code: ZodIssueCode.invalid_type, 1289 - expected: ZodParsedType.date, 1290 - received: ctx2.parsedType 1291 - }); 1292 - return INVALID; 1293 - } 1294 - if (isNaN(input.data.getTime())) { 1295 - const ctx2 = this._getOrReturnCtx(input); 1296 - addIssueToContext(ctx2, { 1297 - code: ZodIssueCode.invalid_date 1298 - }); 1299 - return INVALID; 1300 - } 1301 - const status = new ParseStatus(); 1302 - let ctx = void 0; 1303 - for (const check of this._def.checks) { 1304 - if (check.kind === "min") { 1305 - if (input.data.getTime() < check.value) { 1306 - ctx = this._getOrReturnCtx(input, ctx); 1307 - addIssueToContext(ctx, { 1308 - code: ZodIssueCode.too_small, 1309 - message: check.message, 1310 - inclusive: true, 1311 - minimum: check.value, 1312 - type: "date" 1313 - }); 1314 - status.dirty(); 1315 - } 1316 - } else if (check.kind === "max") { 1317 - if (input.data.getTime() > check.value) { 1318 - ctx = this._getOrReturnCtx(input, ctx); 1319 - addIssueToContext(ctx, { 1320 - code: ZodIssueCode.too_big, 1321 - message: check.message, 1322 - inclusive: true, 1323 - maximum: check.value, 1324 - type: "date" 1325 - }); 1326 - status.dirty(); 1327 - } 1328 - } else { 1329 - util.assertNever(check); 1330 - } 1331 - } 1332 - return { 1333 - status: status.value, 1334 - value: new Date(input.data.getTime()) 1335 - }; 1336 - } 1337 - _addCheck(check) { 1338 - return new ZodDate({ 1339 - ...this._def, 1340 - checks: [...this._def.checks, check] 1341 - }); 1342 - } 1343 - min(minDate, message) { 1344 - return this._addCheck({ 1345 - kind: "min", 1346 - value: minDate.getTime(), 1347 - message: errorUtil.toString(message) 1348 - }); 1349 - } 1350 - max(maxDate, message) { 1351 - return this._addCheck({ 1352 - kind: "max", 1353 - value: maxDate.getTime(), 1354 - message: errorUtil.toString(message) 1355 - }); 1356 - } 1357 - get minDate() { 1358 - let min = null; 1359 - for (const ch of this._def.checks) { 1360 - if (ch.kind === "min") { 1361 - if (min === null || ch.value > min) 1362 - min = ch.value; 1363 - } 1364 - } 1365 - return min != null ? new Date(min) : null; 1366 - } 1367 - get maxDate() { 1368 - let max = null; 1369 - for (const ch of this._def.checks) { 1370 - if (ch.kind === "max") { 1371 - if (max === null || ch.value < max) 1372 - max = ch.value; 1373 - } 1374 - } 1375 - return max != null ? new Date(max) : null; 1376 - } 1377 - }; 1378 - ZodDate.create = (params2) => { 1379 - return new ZodDate({ 1380 - checks: [], 1381 - typeName: ZodFirstPartyTypeKind.ZodDate, 1382 - ...processCreateParams(params2) 1383 - }); 1384 - }; 1385 - var ZodUndefined = class extends ZodType { 1386 - _parse(input) { 1387 - const parsedType = this._getType(input); 1388 - if (parsedType !== ZodParsedType.undefined) { 1389 - const ctx = this._getOrReturnCtx(input); 1390 - addIssueToContext(ctx, { 1391 - code: ZodIssueCode.invalid_type, 1392 - expected: ZodParsedType.undefined, 1393 - received: ctx.parsedType 1394 - }); 1395 - return INVALID; 1396 - } 1397 - return OK(input.data); 1398 - } 1399 - }; 1400 - ZodUndefined.create = (params2) => { 1401 - return new ZodUndefined({ 1402 - typeName: ZodFirstPartyTypeKind.ZodUndefined, 1403 - ...processCreateParams(params2) 1404 - }); 1405 - }; 1406 - var ZodNull = class extends ZodType { 1407 - _parse(input) { 1408 - const parsedType = this._getType(input); 1409 - if (parsedType !== ZodParsedType.null) { 1410 - const ctx = this._getOrReturnCtx(input); 1411 - addIssueToContext(ctx, { 1412 - code: ZodIssueCode.invalid_type, 1413 - expected: ZodParsedType.null, 1414 - received: ctx.parsedType 1415 - }); 1416 - return INVALID; 1417 - } 1418 - return OK(input.data); 1419 - } 1420 - }; 1421 - ZodNull.create = (params2) => { 1422 - return new ZodNull({ 1423 - typeName: ZodFirstPartyTypeKind.ZodNull, 1424 - ...processCreateParams(params2) 1425 - }); 1426 - }; 1427 - var ZodAny = class extends ZodType { 1428 - constructor() { 1429 - super(...arguments); 1430 - this._any = true; 1431 - } 1432 - _parse(input) { 1433 - return OK(input.data); 1434 - } 1435 - }; 1436 - ZodAny.create = (params2) => { 1437 - return new ZodAny({ 1438 - typeName: ZodFirstPartyTypeKind.ZodAny, 1439 - ...processCreateParams(params2) 1440 - }); 1441 - }; 1442 - var ZodUnknown = class extends ZodType { 1443 - constructor() { 1444 - super(...arguments); 1445 - this._unknown = true; 1446 - } 1447 - _parse(input) { 1448 - return OK(input.data); 1449 - } 1450 - }; 1451 - ZodUnknown.create = (params2) => { 1452 - return new ZodUnknown({ 1453 - typeName: ZodFirstPartyTypeKind.ZodUnknown, 1454 - ...processCreateParams(params2) 1455 - }); 1456 - }; 1457 - var ZodNever = class extends ZodType { 1458 - _parse(input) { 1459 - const ctx = this._getOrReturnCtx(input); 1460 - addIssueToContext(ctx, { 1461 - code: ZodIssueCode.invalid_type, 1462 - expected: ZodParsedType.never, 1463 - received: ctx.parsedType 1464 - }); 1465 - return INVALID; 1466 - } 1467 - }; 1468 - ZodNever.create = (params2) => { 1469 - return new ZodNever({ 1470 - typeName: ZodFirstPartyTypeKind.ZodNever, 1471 - ...processCreateParams(params2) 1472 - }); 1473 - }; 1474 - var ZodVoid = class extends ZodType { 1475 - _parse(input) { 1476 - const parsedType = this._getType(input); 1477 - if (parsedType !== ZodParsedType.undefined) { 1478 - const ctx = this._getOrReturnCtx(input); 1479 - addIssueToContext(ctx, { 1480 - code: ZodIssueCode.invalid_type, 1481 - expected: ZodParsedType.void, 1482 - received: ctx.parsedType 1483 - }); 1484 - return INVALID; 1485 - } 1486 - return OK(input.data); 1487 - } 1488 - }; 1489 - ZodVoid.create = (params2) => { 1490 - return new ZodVoid({ 1491 - typeName: ZodFirstPartyTypeKind.ZodVoid, 1492 - ...processCreateParams(params2) 1493 - }); 1494 - }; 1495 - var ZodArray = class extends ZodType { 1496 - _parse(input) { 1497 - const { ctx, status } = this._processInputParams(input); 1498 - const def = this._def; 1499 - if (ctx.parsedType !== ZodParsedType.array) { 1500 - addIssueToContext(ctx, { 1501 - code: ZodIssueCode.invalid_type, 1502 - expected: ZodParsedType.array, 1503 - received: ctx.parsedType 1504 - }); 1505 - return INVALID; 1506 - } 1507 - if (def.minLength !== null) { 1508 - if (ctx.data.length < def.minLength.value) { 1509 - addIssueToContext(ctx, { 1510 - code: ZodIssueCode.too_small, 1511 - minimum: def.minLength.value, 1512 - type: "array", 1513 - inclusive: true, 1514 - message: def.minLength.message 1515 - }); 1516 - status.dirty(); 1517 - } 1518 - } 1519 - if (def.maxLength !== null) { 1520 - if (ctx.data.length > def.maxLength.value) { 1521 - addIssueToContext(ctx, { 1522 - code: ZodIssueCode.too_big, 1523 - maximum: def.maxLength.value, 1524 - type: "array", 1525 - inclusive: true, 1526 - message: def.maxLength.message 1527 - }); 1528 - status.dirty(); 1529 - } 1530 - } 1531 - if (ctx.common.async) { 1532 - return Promise.all(ctx.data.map((item, i) => { 1533 - return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i)); 1534 - })).then((result2) => { 1535 - return ParseStatus.mergeArray(status, result2); 1536 - }); 1537 - } 1538 - const result = ctx.data.map((item, i) => { 1539 - return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i)); 1540 - }); 1541 - return ParseStatus.mergeArray(status, result); 1542 - } 1543 - get element() { 1544 - return this._def.type; 1545 - } 1546 - min(minLength, message) { 1547 - return new ZodArray({ 1548 - ...this._def, 1549 - minLength: { value: minLength, message: errorUtil.toString(message) } 1550 - }); 1551 - } 1552 - max(maxLength, message) { 1553 - return new ZodArray({ 1554 - ...this._def, 1555 - maxLength: { value: maxLength, message: errorUtil.toString(message) } 1556 - }); 1557 - } 1558 - length(len, message) { 1559 - return this.min(len, message).max(len, message); 1560 - } 1561 - nonempty(message) { 1562 - return this.min(1, message); 1563 - } 1564 - }; 1565 - ZodArray.create = (schema, params2) => { 1566 - return new ZodArray({ 1567 - type: schema, 1568 - minLength: null, 1569 - maxLength: null, 1570 - typeName: ZodFirstPartyTypeKind.ZodArray, 1571 - ...processCreateParams(params2) 1572 - }); 1573 - }; 1574 - var objectUtil; 1575 - (function(objectUtil2) { 1576 - objectUtil2.mergeShapes = (first, second) => { 1577 - return { 1578 - ...first, 1579 - ...second 1580 - }; 1581 - }; 1582 - })(objectUtil || (objectUtil = {})); 1583 - var AugmentFactory = (def) => (augmentation) => { 1584 - return new ZodObject({ 1585 - ...def, 1586 - shape: () => ({ 1587 - ...def.shape(), 1588 - ...augmentation 1589 - }) 1590 - }); 1591 - }; 1592 - function deepPartialify(schema) { 1593 - if (schema instanceof ZodObject) { 1594 - const newShape = {}; 1595 - for (const key in schema.shape) { 1596 - const fieldSchema = schema.shape[key]; 1597 - newShape[key] = ZodOptional.create(deepPartialify(fieldSchema)); 1598 - } 1599 - return new ZodObject({ 1600 - ...schema._def, 1601 - shape: () => newShape 1602 - }); 1603 - } else if (schema instanceof ZodArray) { 1604 - return ZodArray.create(deepPartialify(schema.element)); 1605 - } else if (schema instanceof ZodOptional) { 1606 - return ZodOptional.create(deepPartialify(schema.unwrap())); 1607 - } else if (schema instanceof ZodNullable) { 1608 - return ZodNullable.create(deepPartialify(schema.unwrap())); 1609 - } else if (schema instanceof ZodTuple) { 1610 - return ZodTuple.create(schema.items.map((item) => deepPartialify(item))); 1611 - } else { 1612 - return schema; 1613 - } 1614 - } 1615 - var ZodObject = class extends ZodType { 1616 - constructor() { 1617 - super(...arguments); 1618 - this._cached = null; 1619 - this.nonstrict = this.passthrough; 1620 - this.augment = AugmentFactory(this._def); 1621 - this.extend = AugmentFactory(this._def); 1622 - } 1623 - _getCached() { 1624 - if (this._cached !== null) 1625 - return this._cached; 1626 - const shape = this._def.shape(); 1627 - const keys = util.objectKeys(shape); 1628 - return this._cached = { shape, keys }; 1629 - } 1630 - _parse(input) { 1631 - const parsedType = this._getType(input); 1632 - if (parsedType !== ZodParsedType.object) { 1633 - const ctx2 = this._getOrReturnCtx(input); 1634 - addIssueToContext(ctx2, { 1635 - code: ZodIssueCode.invalid_type, 1636 - expected: ZodParsedType.object, 1637 - received: ctx2.parsedType 1638 - }); 1639 - return INVALID; 1640 - } 1641 - const { status, ctx } = this._processInputParams(input); 1642 - const { shape, keys: shapeKeys } = this._getCached(); 1643 - const extraKeys = []; 1644 - if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) { 1645 - for (const key in ctx.data) { 1646 - if (!shapeKeys.includes(key)) { 1647 - extraKeys.push(key); 1648 - } 1649 - } 1650 - } 1651 - const pairs = []; 1652 - for (const key of shapeKeys) { 1653 - const keyValidator = shape[key]; 1654 - const value = ctx.data[key]; 1655 - pairs.push({ 1656 - key: { status: "valid", value: key }, 1657 - value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)), 1658 - alwaysSet: key in ctx.data 1659 - }); 1660 - } 1661 - if (this._def.catchall instanceof ZodNever) { 1662 - const unknownKeys = this._def.unknownKeys; 1663 - if (unknownKeys === "passthrough") { 1664 - for (const key of extraKeys) { 1665 - pairs.push({ 1666 - key: { status: "valid", value: key }, 1667 - value: { status: "valid", value: ctx.data[key] } 1668 - }); 1669 - } 1670 - } else if (unknownKeys === "strict") { 1671 - if (extraKeys.length > 0) { 1672 - addIssueToContext(ctx, { 1673 - code: ZodIssueCode.unrecognized_keys, 1674 - keys: extraKeys 1675 - }); 1676 - status.dirty(); 1677 - } 1678 - } else if (unknownKeys === "strip") 1679 - ; 1680 - else { 1681 - throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); 1682 - } 1683 - } else { 1684 - const catchall = this._def.catchall; 1685 - for (const key of extraKeys) { 1686 - const value = ctx.data[key]; 1687 - pairs.push({ 1688 - key: { status: "valid", value: key }, 1689 - value: catchall._parse( 1690 - new ParseInputLazyPath(ctx, value, ctx.path, key) 1691 - ), 1692 - alwaysSet: key in ctx.data 1693 - }); 1694 - } 1695 - } 1696 - if (ctx.common.async) { 1697 - return Promise.resolve().then(async () => { 1698 - const syncPairs = []; 1699 - for (const pair of pairs) { 1700 - const key = await pair.key; 1701 - syncPairs.push({ 1702 - key, 1703 - value: await pair.value, 1704 - alwaysSet: pair.alwaysSet 1705 - }); 1706 - } 1707 - return syncPairs; 1708 - }).then((syncPairs) => { 1709 - return ParseStatus.mergeObjectSync(status, syncPairs); 1710 - }); 1711 - } else { 1712 - return ParseStatus.mergeObjectSync(status, pairs); 1713 - } 1714 - } 1715 - get shape() { 1716 - return this._def.shape(); 1717 - } 1718 - strict(message) { 1719 - errorUtil.errToObj; 1720 - return new ZodObject({ 1721 - ...this._def, 1722 - unknownKeys: "strict", 1723 - ...message !== void 0 ? { 1724 - errorMap: (issue, ctx) => { 1725 - var _a, _b, _c, _d; 1726 - 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; 1727 - if (issue.code === "unrecognized_keys") 1728 - return { 1729 - message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError 1730 - }; 1731 - return { 1732 - message: defaultError 1733 - }; 1734 - } 1735 - } : {} 1736 - }); 1737 - } 1738 - strip() { 1739 - return new ZodObject({ 1740 - ...this._def, 1741 - unknownKeys: "strip" 1742 - }); 1743 - } 1744 - passthrough() { 1745 - return new ZodObject({ 1746 - ...this._def, 1747 - unknownKeys: "passthrough" 1748 - }); 1749 - } 1750 - setKey(key, schema) { 1751 - return this.augment({ [key]: schema }); 1752 - } 1753 - merge(merging) { 1754 - const merged = new ZodObject({ 1755 - unknownKeys: merging._def.unknownKeys, 1756 - catchall: merging._def.catchall, 1757 - shape: () => objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), 1758 - typeName: ZodFirstPartyTypeKind.ZodObject 1759 - }); 1760 - return merged; 1761 - } 1762 - catchall(index) { 1763 - return new ZodObject({ 1764 - ...this._def, 1765 - catchall: index 1766 - }); 1767 - } 1768 - pick(mask) { 1769 - const shape = {}; 1770 - util.objectKeys(mask).map((key) => { 1771 - if (this.shape[key]) 1772 - shape[key] = this.shape[key]; 1773 - }); 1774 - return new ZodObject({ 1775 - ...this._def, 1776 - shape: () => shape 1777 - }); 1778 - } 1779 - omit(mask) { 1780 - const shape = {}; 1781 - util.objectKeys(this.shape).map((key) => { 1782 - if (util.objectKeys(mask).indexOf(key) === -1) { 1783 - shape[key] = this.shape[key]; 1784 - } 1785 - }); 1786 - return new ZodObject({ 1787 - ...this._def, 1788 - shape: () => shape 1789 - }); 1790 - } 1791 - deepPartial() { 1792 - return deepPartialify(this); 1793 - } 1794 - partial(mask) { 1795 - const newShape = {}; 1796 - if (mask) { 1797 - util.objectKeys(this.shape).map((key) => { 1798 - if (util.objectKeys(mask).indexOf(key) === -1) { 1799 - newShape[key] = this.shape[key]; 1800 - } else { 1801 - newShape[key] = this.shape[key].optional(); 1802 - } 1803 - }); 1804 - return new ZodObject({ 1805 - ...this._def, 1806 - shape: () => newShape 1807 - }); 1808 - } else { 1809 - for (const key in this.shape) { 1810 - const fieldSchema = this.shape[key]; 1811 - newShape[key] = fieldSchema.optional(); 1812 - } 1813 - } 1814 - return new ZodObject({ 1815 - ...this._def, 1816 - shape: () => newShape 1817 - }); 1818 - } 1819 - required() { 1820 - const newShape = {}; 1821 - for (const key in this.shape) { 1822 - const fieldSchema = this.shape[key]; 1823 - let newField = fieldSchema; 1824 - while (newField instanceof ZodOptional) { 1825 - newField = newField._def.innerType; 1826 - } 1827 - newShape[key] = newField; 1828 - } 1829 - return new ZodObject({ 1830 - ...this._def, 1831 - shape: () => newShape 1832 - }); 1833 - } 1834 - keyof() { 1835 - return createZodEnum(util.objectKeys(this.shape)); 1836 - } 1837 - }; 1838 - ZodObject.create = (shape, params2) => { 1839 - return new ZodObject({ 1840 - shape: () => shape, 1841 - unknownKeys: "strip", 1842 - catchall: ZodNever.create(), 1843 - typeName: ZodFirstPartyTypeKind.ZodObject, 1844 - ...processCreateParams(params2) 1845 - }); 1846 - }; 1847 - ZodObject.strictCreate = (shape, params2) => { 1848 - return new ZodObject({ 1849 - shape: () => shape, 1850 - unknownKeys: "strict", 1851 - catchall: ZodNever.create(), 1852 - typeName: ZodFirstPartyTypeKind.ZodObject, 1853 - ...processCreateParams(params2) 1854 - }); 1855 - }; 1856 - ZodObject.lazycreate = (shape, params2) => { 1857 - return new ZodObject({ 1858 - shape, 1859 - unknownKeys: "strip", 1860 - catchall: ZodNever.create(), 1861 - typeName: ZodFirstPartyTypeKind.ZodObject, 1862 - ...processCreateParams(params2) 1863 - }); 1864 - }; 1865 - var ZodUnion = class extends ZodType { 1866 - _parse(input) { 1867 - const { ctx } = this._processInputParams(input); 1868 - const options = this._def.options; 1869 - function handleResults(results) { 1870 - for (const result of results) { 1871 - if (result.result.status === "valid") { 1872 - return result.result; 1873 - } 1874 - } 1875 - for (const result of results) { 1876 - if (result.result.status === "dirty") { 1877 - ctx.common.issues.push(...result.ctx.common.issues); 1878 - return result.result; 1879 - } 1880 - } 1881 - const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues)); 1882 - addIssueToContext(ctx, { 1883 - code: ZodIssueCode.invalid_union, 1884 - unionErrors 1885 - }); 1886 - return INVALID; 1887 - } 1888 - if (ctx.common.async) { 1889 - return Promise.all(options.map(async (option) => { 1890 - const childCtx = { 1891 - ...ctx, 1892 - common: { 1893 - ...ctx.common, 1894 - issues: [] 1895 - }, 1896 - parent: null 1897 - }; 1898 - return { 1899 - result: await option._parseAsync({ 1900 - data: ctx.data, 1901 - path: ctx.path, 1902 - parent: childCtx 1903 - }), 1904 - ctx: childCtx 1905 - }; 1906 - })).then(handleResults); 1907 - } else { 1908 - let dirty = void 0; 1909 - const issues = []; 1910 - for (const option of options) { 1911 - const childCtx = { 1912 - ...ctx, 1913 - common: { 1914 - ...ctx.common, 1915 - issues: [] 1916 - }, 1917 - parent: null 1918 - }; 1919 - const result = option._parseSync({ 1920 - data: ctx.data, 1921 - path: ctx.path, 1922 - parent: childCtx 1923 - }); 1924 - if (result.status === "valid") { 1925 - return result; 1926 - } else if (result.status === "dirty" && !dirty) { 1927 - dirty = { result, ctx: childCtx }; 1928 - } 1929 - if (childCtx.common.issues.length) { 1930 - issues.push(childCtx.common.issues); 1931 - } 1932 - } 1933 - if (dirty) { 1934 - ctx.common.issues.push(...dirty.ctx.common.issues); 1935 - return dirty.result; 1936 - } 1937 - const unionErrors = issues.map((issues2) => new ZodError(issues2)); 1938 - addIssueToContext(ctx, { 1939 - code: ZodIssueCode.invalid_union, 1940 - unionErrors 1941 - }); 1942 - return INVALID; 1943 - } 1944 - } 1945 - get options() { 1946 - return this._def.options; 1947 - } 1948 - }; 1949 - ZodUnion.create = (types, params2) => { 1950 - return new ZodUnion({ 1951 - options: types, 1952 - typeName: ZodFirstPartyTypeKind.ZodUnion, 1953 - ...processCreateParams(params2) 1954 - }); 1955 - }; 1956 - var ZodDiscriminatedUnion = class extends ZodType { 1957 - _parse(input) { 1958 - const { ctx } = this._processInputParams(input); 1959 - if (ctx.parsedType !== ZodParsedType.object) { 1960 - addIssueToContext(ctx, { 1961 - code: ZodIssueCode.invalid_type, 1962 - expected: ZodParsedType.object, 1963 - received: ctx.parsedType 1964 - }); 1965 - return INVALID; 1966 - } 1967 - const discriminator = this.discriminator; 1968 - const discriminatorValue = ctx.data[discriminator]; 1969 - const option = this.options.get(discriminatorValue); 1970 - if (!option) { 1971 - addIssueToContext(ctx, { 1972 - code: ZodIssueCode.invalid_union_discriminator, 1973 - options: this.validDiscriminatorValues, 1974 - path: [discriminator] 1975 - }); 1976 - return INVALID; 1977 - } 1978 - if (ctx.common.async) { 1979 - return option._parseAsync({ 1980 - data: ctx.data, 1981 - path: ctx.path, 1982 - parent: ctx 1983 - }); 1984 - } else { 1985 - return option._parseSync({ 1986 - data: ctx.data, 1987 - path: ctx.path, 1988 - parent: ctx 1989 - }); 1990 - } 1991 - } 1992 - get discriminator() { 1993 - return this._def.discriminator; 1994 - } 1995 - get validDiscriminatorValues() { 1996 - return Array.from(this.options.keys()); 1997 - } 1998 - get options() { 1999 - return this._def.options; 2000 - } 2001 - static create(discriminator, types, params2) { 2002 - const options = /* @__PURE__ */ new Map(); 2003 - try { 2004 - types.forEach((type) => { 2005 - const discriminatorValue = type.shape[discriminator].value; 2006 - options.set(discriminatorValue, type); 2007 - }); 2008 - } catch (e) { 2009 - throw new Error("The discriminator value could not be extracted from all the provided schemas"); 2010 - } 2011 - if (options.size !== types.length) { 2012 - throw new Error("Some of the discriminator values are not unique"); 2013 - } 2014 - return new ZodDiscriminatedUnion({ 2015 - typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion, 2016 - discriminator, 2017 - options, 2018 - ...processCreateParams(params2) 2019 - }); 2020 - } 2021 - }; 2022 - function mergeValues(a, b) { 2023 - const aType = getParsedType(a); 2024 - const bType = getParsedType(b); 2025 - if (a === b) { 2026 - return { valid: true, data: a }; 2027 - } else if (aType === ZodParsedType.object && bType === ZodParsedType.object) { 2028 - const bKeys = util.objectKeys(b); 2029 - const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); 2030 - const newObj = { ...a, ...b }; 2031 - for (const key of sharedKeys) { 2032 - const sharedValue = mergeValues(a[key], b[key]); 2033 - if (!sharedValue.valid) { 2034 - return { valid: false }; 2035 - } 2036 - newObj[key] = sharedValue.data; 2037 - } 2038 - return { valid: true, data: newObj }; 2039 - } else if (aType === ZodParsedType.array && bType === ZodParsedType.array) { 2040 - if (a.length !== b.length) { 2041 - return { valid: false }; 2042 - } 2043 - const newArray = []; 2044 - for (let index = 0; index < a.length; index++) { 2045 - const itemA = a[index]; 2046 - const itemB = b[index]; 2047 - const sharedValue = mergeValues(itemA, itemB); 2048 - if (!sharedValue.valid) { 2049 - return { valid: false }; 2050 - } 2051 - newArray.push(sharedValue.data); 2052 - } 2053 - return { valid: true, data: newArray }; 2054 - } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) { 2055 - return { valid: true, data: a }; 2056 - } else { 2057 - return { valid: false }; 2058 - } 2059 - } 2060 - var ZodIntersection = class extends ZodType { 2061 - _parse(input) { 2062 - const { status, ctx } = this._processInputParams(input); 2063 - const handleParsed = (parsedLeft, parsedRight) => { 2064 - if (isAborted(parsedLeft) || isAborted(parsedRight)) { 2065 - return INVALID; 2066 - } 2067 - const merged = mergeValues(parsedLeft.value, parsedRight.value); 2068 - if (!merged.valid) { 2069 - addIssueToContext(ctx, { 2070 - code: ZodIssueCode.invalid_intersection_types 2071 - }); 2072 - return INVALID; 2073 - } 2074 - if (isDirty(parsedLeft) || isDirty(parsedRight)) { 2075 - status.dirty(); 2076 - } 2077 - return { status: status.value, value: merged.data }; 2078 - }; 2079 - if (ctx.common.async) { 2080 - return Promise.all([ 2081 - this._def.left._parseAsync({ 2082 - data: ctx.data, 2083 - path: ctx.path, 2084 - parent: ctx 2085 - }), 2086 - this._def.right._parseAsync({ 2087 - data: ctx.data, 2088 - path: ctx.path, 2089 - parent: ctx 2090 - }) 2091 - ]).then(([left, right]) => handleParsed(left, right)); 2092 - } else { 2093 - return handleParsed(this._def.left._parseSync({ 2094 - data: ctx.data, 2095 - path: ctx.path, 2096 - parent: ctx 2097 - }), this._def.right._parseSync({ 2098 - data: ctx.data, 2099 - path: ctx.path, 2100 - parent: ctx 2101 - })); 2102 - } 2103 - } 2104 - }; 2105 - ZodIntersection.create = (left, right, params2) => { 2106 - return new ZodIntersection({ 2107 - left, 2108 - right, 2109 - typeName: ZodFirstPartyTypeKind.ZodIntersection, 2110 - ...processCreateParams(params2) 2111 - }); 2112 - }; 2113 - var ZodTuple = class extends ZodType { 2114 - _parse(input) { 2115 - const { status, ctx } = this._processInputParams(input); 2116 - if (ctx.parsedType !== ZodParsedType.array) { 2117 - addIssueToContext(ctx, { 2118 - code: ZodIssueCode.invalid_type, 2119 - expected: ZodParsedType.array, 2120 - received: ctx.parsedType 2121 - }); 2122 - return INVALID; 2123 - } 2124 - if (ctx.data.length < this._def.items.length) { 2125 - addIssueToContext(ctx, { 2126 - code: ZodIssueCode.too_small, 2127 - minimum: this._def.items.length, 2128 - inclusive: true, 2129 - type: "array" 2130 - }); 2131 - return INVALID; 2132 - } 2133 - const rest = this._def.rest; 2134 - if (!rest && ctx.data.length > this._def.items.length) { 2135 - addIssueToContext(ctx, { 2136 - code: ZodIssueCode.too_big, 2137 - maximum: this._def.items.length, 2138 - inclusive: true, 2139 - type: "array" 2140 - }); 2141 - status.dirty(); 2142 - } 2143 - const items = ctx.data.map((item, itemIndex) => { 2144 - const schema = this._def.items[itemIndex] || this._def.rest; 2145 - if (!schema) 2146 - return null; 2147 - return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex)); 2148 - }).filter((x) => !!x); 2149 - if (ctx.common.async) { 2150 - return Promise.all(items).then((results) => { 2151 - return ParseStatus.mergeArray(status, results); 2152 - }); 2153 - } else { 2154 - return ParseStatus.mergeArray(status, items); 2155 - } 2156 - } 2157 - get items() { 2158 - return this._def.items; 2159 - } 2160 - rest(rest) { 2161 - return new ZodTuple({ 2162 - ...this._def, 2163 - rest 2164 - }); 2165 - } 2166 - }; 2167 - ZodTuple.create = (schemas2, params2) => { 2168 - if (!Array.isArray(schemas2)) { 2169 - throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); 2170 - } 2171 - return new ZodTuple({ 2172 - items: schemas2, 2173 - typeName: ZodFirstPartyTypeKind.ZodTuple, 2174 - rest: null, 2175 - ...processCreateParams(params2) 2176 - }); 2177 - }; 2178 - var ZodRecord = class extends ZodType { 2179 - get keySchema() { 2180 - return this._def.keyType; 2181 - } 2182 - get valueSchema() { 2183 - return this._def.valueType; 2184 - } 2185 - _parse(input) { 2186 - const { status, ctx } = this._processInputParams(input); 2187 - if (ctx.parsedType !== ZodParsedType.object) { 2188 - addIssueToContext(ctx, { 2189 - code: ZodIssueCode.invalid_type, 2190 - expected: ZodParsedType.object, 2191 - received: ctx.parsedType 2192 - }); 2193 - return INVALID; 2194 - } 2195 - const pairs = []; 2196 - const keyType = this._def.keyType; 2197 - const valueType = this._def.valueType; 2198 - for (const key in ctx.data) { 2199 - pairs.push({ 2200 - key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)), 2201 - value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)) 2202 - }); 2203 - } 2204 - if (ctx.common.async) { 2205 - return ParseStatus.mergeObjectAsync(status, pairs); 2206 - } else { 2207 - return ParseStatus.mergeObjectSync(status, pairs); 2208 - } 2209 - } 2210 - get element() { 2211 - return this._def.valueType; 2212 - } 2213 - static create(first, second, third) { 2214 - if (second instanceof ZodType) { 2215 - return new ZodRecord({ 2216 - keyType: first, 2217 - valueType: second, 2218 - typeName: ZodFirstPartyTypeKind.ZodRecord, 2219 - ...processCreateParams(third) 2220 - }); 2221 - } 2222 - return new ZodRecord({ 2223 - keyType: ZodString.create(), 2224 - valueType: first, 2225 - typeName: ZodFirstPartyTypeKind.ZodRecord, 2226 - ...processCreateParams(second) 2227 - }); 2228 - } 2229 - }; 2230 - var ZodMap = class extends ZodType { 2231 - _parse(input) { 2232 - const { status, ctx } = this._processInputParams(input); 2233 - if (ctx.parsedType !== ZodParsedType.map) { 2234 - addIssueToContext(ctx, { 2235 - code: ZodIssueCode.invalid_type, 2236 - expected: ZodParsedType.map, 2237 - received: ctx.parsedType 2238 - }); 2239 - return INVALID; 2240 - } 2241 - const keyType = this._def.keyType; 2242 - const valueType = this._def.valueType; 2243 - const pairs = [...ctx.data.entries()].map(([key, value], index) => { 2244 - return { 2245 - key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, "key"])), 2246 - value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, "value"])) 2247 - }; 2248 - }); 2249 - if (ctx.common.async) { 2250 - const finalMap = /* @__PURE__ */ new Map(); 2251 - return Promise.resolve().then(async () => { 2252 - for (const pair of pairs) { 2253 - const key = await pair.key; 2254 - const value = await pair.value; 2255 - if (key.status === "aborted" || value.status === "aborted") { 2256 - return INVALID; 2257 - } 2258 - if (key.status === "dirty" || value.status === "dirty") { 2259 - status.dirty(); 2260 - } 2261 - finalMap.set(key.value, value.value); 2262 - } 2263 - return { status: status.value, value: finalMap }; 2264 - }); 2265 - } else { 2266 - const finalMap = /* @__PURE__ */ new Map(); 2267 - for (const pair of pairs) { 2268 - const key = pair.key; 2269 - const value = pair.value; 2270 - if (key.status === "aborted" || value.status === "aborted") { 2271 - return INVALID; 2272 - } 2273 - if (key.status === "dirty" || value.status === "dirty") { 2274 - status.dirty(); 2275 - } 2276 - finalMap.set(key.value, value.value); 2277 - } 2278 - return { status: status.value, value: finalMap }; 2279 - } 2280 - } 2281 - }; 2282 - ZodMap.create = (keyType, valueType, params2) => { 2283 - return new ZodMap({ 2284 - valueType, 2285 - keyType, 2286 - typeName: ZodFirstPartyTypeKind.ZodMap, 2287 - ...processCreateParams(params2) 2288 - }); 2289 - }; 2290 - var ZodSet = class extends ZodType { 2291 - _parse(input) { 2292 - const { status, ctx } = this._processInputParams(input); 2293 - if (ctx.parsedType !== ZodParsedType.set) { 2294 - addIssueToContext(ctx, { 2295 - code: ZodIssueCode.invalid_type, 2296 - expected: ZodParsedType.set, 2297 - received: ctx.parsedType 2298 - }); 2299 - return INVALID; 2300 - } 2301 - const def = this._def; 2302 - if (def.minSize !== null) { 2303 - if (ctx.data.size < def.minSize.value) { 2304 - addIssueToContext(ctx, { 2305 - code: ZodIssueCode.too_small, 2306 - minimum: def.minSize.value, 2307 - type: "set", 2308 - inclusive: true, 2309 - message: def.minSize.message 2310 - }); 2311 - status.dirty(); 2312 - } 2313 - } 2314 - if (def.maxSize !== null) { 2315 - if (ctx.data.size > def.maxSize.value) { 2316 - addIssueToContext(ctx, { 2317 - code: ZodIssueCode.too_big, 2318 - maximum: def.maxSize.value, 2319 - type: "set", 2320 - inclusive: true, 2321 - message: def.maxSize.message 2322 - }); 2323 - status.dirty(); 2324 - } 2325 - } 2326 - const valueType = this._def.valueType; 2327 - function finalizeSet(elements2) { 2328 - const parsedSet = /* @__PURE__ */ new Set(); 2329 - for (const element of elements2) { 2330 - if (element.status === "aborted") 2331 - return INVALID; 2332 - if (element.status === "dirty") 2333 - status.dirty(); 2334 - parsedSet.add(element.value); 2335 - } 2336 - return { status: status.value, value: parsedSet }; 2337 - } 2338 - const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i))); 2339 - if (ctx.common.async) { 2340 - return Promise.all(elements).then((elements2) => finalizeSet(elements2)); 2341 - } else { 2342 - return finalizeSet(elements); 2343 - } 2344 - } 2345 - min(minSize, message) { 2346 - return new ZodSet({ 2347 - ...this._def, 2348 - minSize: { value: minSize, message: errorUtil.toString(message) } 2349 - }); 2350 - } 2351 - max(maxSize, message) { 2352 - return new ZodSet({ 2353 - ...this._def, 2354 - maxSize: { value: maxSize, message: errorUtil.toString(message) } 2355 - }); 2356 - } 2357 - size(size, message) { 2358 - return this.min(size, message).max(size, message); 2359 - } 2360 - nonempty(message) { 2361 - return this.min(1, message); 2362 - } 2363 - }; 2364 - ZodSet.create = (valueType, params2) => { 2365 - return new ZodSet({ 2366 - valueType, 2367 - minSize: null, 2368 - maxSize: null, 2369 - typeName: ZodFirstPartyTypeKind.ZodSet, 2370 - ...processCreateParams(params2) 2371 - }); 2372 - }; 2373 - var ZodFunction = class extends ZodType { 2374 - constructor() { 2375 - super(...arguments); 2376 - this.validate = this.implement; 2377 - } 2378 - _parse(input) { 2379 - const { ctx } = this._processInputParams(input); 2380 - if (ctx.parsedType !== ZodParsedType.function) { 2381 - addIssueToContext(ctx, { 2382 - code: ZodIssueCode.invalid_type, 2383 - expected: ZodParsedType.function, 2384 - received: ctx.parsedType 2385 - }); 2386 - return INVALID; 2387 - } 2388 - function makeArgsIssue(args, error) { 2389 - return makeIssue({ 2390 - data: args, 2391 - path: ctx.path, 2392 - errorMaps: [ 2393 - ctx.common.contextualErrorMap, 2394 - ctx.schemaErrorMap, 2395 - getErrorMap(), 2396 - errorMap 2397 - ].filter((x) => !!x), 2398 - issueData: { 2399 - code: ZodIssueCode.invalid_arguments, 2400 - argumentsError: error 2401 - } 2402 - }); 2403 - } 2404 - function makeReturnsIssue(returns, error) { 2405 - return makeIssue({ 2406 - data: returns, 2407 - path: ctx.path, 2408 - errorMaps: [ 2409 - ctx.common.contextualErrorMap, 2410 - ctx.schemaErrorMap, 2411 - getErrorMap(), 2412 - errorMap 2413 - ].filter((x) => !!x), 2414 - issueData: { 2415 - code: ZodIssueCode.invalid_return_type, 2416 - returnTypeError: error 2417 - } 2418 - }); 2419 - } 2420 - const params2 = { errorMap: ctx.common.contextualErrorMap }; 2421 - const fn = ctx.data; 2422 - if (this._def.returns instanceof ZodPromise) { 2423 - return OK(async (...args) => { 2424 - const error = new ZodError([]); 2425 - const parsedArgs = await this._def.args.parseAsync(args, params2).catch((e) => { 2426 - error.addIssue(makeArgsIssue(args, e)); 2427 - throw error; 2428 - }); 2429 - const result = await fn(...parsedArgs); 2430 - const parsedReturns = await this._def.returns._def.type.parseAsync(result, params2).catch((e) => { 2431 - error.addIssue(makeReturnsIssue(result, e)); 2432 - throw error; 2433 - }); 2434 - return parsedReturns; 2435 - }); 2436 - } else { 2437 - return OK((...args) => { 2438 - const parsedArgs = this._def.args.safeParse(args, params2); 2439 - if (!parsedArgs.success) { 2440 - throw new ZodError([makeArgsIssue(args, parsedArgs.error)]); 2441 - } 2442 - const result = fn(...parsedArgs.data); 2443 - const parsedReturns = this._def.returns.safeParse(result, params2); 2444 - if (!parsedReturns.success) { 2445 - throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]); 2446 - } 2447 - return parsedReturns.data; 2448 - }); 2449 - } 2450 - } 2451 - parameters() { 2452 - return this._def.args; 2453 - } 2454 - returnType() { 2455 - return this._def.returns; 2456 - } 2457 - args(...items) { 2458 - return new ZodFunction({ 2459 - ...this._def, 2460 - args: ZodTuple.create(items).rest(ZodUnknown.create()) 2461 - }); 2462 - } 2463 - returns(returnType) { 2464 - return new ZodFunction({ 2465 - ...this._def, 2466 - returns: returnType 2467 - }); 2468 - } 2469 - implement(func) { 2470 - const validatedFunc = this.parse(func); 2471 - return validatedFunc; 2472 - } 2473 - strictImplement(func) { 2474 - const validatedFunc = this.parse(func); 2475 - return validatedFunc; 2476 - } 2477 - static create(args, returns, params2) { 2478 - return new ZodFunction({ 2479 - args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()), 2480 - returns: returns || ZodUnknown.create(), 2481 - typeName: ZodFirstPartyTypeKind.ZodFunction, 2482 - ...processCreateParams(params2) 2483 - }); 2484 - } 2485 - }; 2486 - var ZodLazy = class extends ZodType { 2487 - get schema() { 2488 - return this._def.getter(); 2489 - } 2490 - _parse(input) { 2491 - const { ctx } = this._processInputParams(input); 2492 - const lazySchema = this._def.getter(); 2493 - return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); 2494 - } 2495 - }; 2496 - ZodLazy.create = (getter, params2) => { 2497 - return new ZodLazy({ 2498 - getter, 2499 - typeName: ZodFirstPartyTypeKind.ZodLazy, 2500 - ...processCreateParams(params2) 2501 - }); 2502 - }; 2503 - var ZodLiteral = class extends ZodType { 2504 - _parse(input) { 2505 - if (input.data !== this._def.value) { 2506 - const ctx = this._getOrReturnCtx(input); 2507 - addIssueToContext(ctx, { 2508 - code: ZodIssueCode.invalid_literal, 2509 - expected: this._def.value 2510 - }); 2511 - return INVALID; 2512 - } 2513 - return { status: "valid", value: input.data }; 2514 - } 2515 - get value() { 2516 - return this._def.value; 2517 - } 2518 - }; 2519 - ZodLiteral.create = (value, params2) => { 2520 - return new ZodLiteral({ 2521 - value, 2522 - typeName: ZodFirstPartyTypeKind.ZodLiteral, 2523 - ...processCreateParams(params2) 2524 - }); 2525 - }; 2526 - function createZodEnum(values, params2) { 2527 - return new ZodEnum({ 2528 - values, 2529 - typeName: ZodFirstPartyTypeKind.ZodEnum, 2530 - ...processCreateParams(params2) 2531 - }); 2532 - } 2533 - var ZodEnum = class extends ZodType { 2534 - _parse(input) { 2535 - if (typeof input.data !== "string") { 2536 - const ctx = this._getOrReturnCtx(input); 2537 - const expectedValues = this._def.values; 2538 - addIssueToContext(ctx, { 2539 - expected: util.joinValues(expectedValues), 2540 - received: ctx.parsedType, 2541 - code: ZodIssueCode.invalid_type 2542 - }); 2543 - return INVALID; 2544 - } 2545 - if (this._def.values.indexOf(input.data) === -1) { 2546 - const ctx = this._getOrReturnCtx(input); 2547 - const expectedValues = this._def.values; 2548 - addIssueToContext(ctx, { 2549 - received: ctx.data, 2550 - code: ZodIssueCode.invalid_enum_value, 2551 - options: expectedValues 2552 - }); 2553 - return INVALID; 2554 - } 2555 - return OK(input.data); 2556 - } 2557 - get options() { 2558 - return this._def.values; 2559 - } 2560 - get enum() { 2561 - const enumValues = {}; 2562 - for (const val of this._def.values) { 2563 - enumValues[val] = val; 2564 - } 2565 - return enumValues; 2566 - } 2567 - get Values() { 2568 - const enumValues = {}; 2569 - for (const val of this._def.values) { 2570 - enumValues[val] = val; 2571 - } 2572 - return enumValues; 2573 - } 2574 - get Enum() { 2575 - const enumValues = {}; 2576 - for (const val of this._def.values) { 2577 - enumValues[val] = val; 2578 - } 2579 - return enumValues; 2580 - } 2581 - }; 2582 - ZodEnum.create = createZodEnum; 2583 - var ZodNativeEnum = class extends ZodType { 2584 - _parse(input) { 2585 - const nativeEnumValues = util.getValidEnumValues(this._def.values); 2586 - const ctx = this._getOrReturnCtx(input); 2587 - if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) { 2588 - const expectedValues = util.objectValues(nativeEnumValues); 2589 - addIssueToContext(ctx, { 2590 - expected: util.joinValues(expectedValues), 2591 - received: ctx.parsedType, 2592 - code: ZodIssueCode.invalid_type 2593 - }); 2594 - return INVALID; 2595 - } 2596 - if (nativeEnumValues.indexOf(input.data) === -1) { 2597 - const expectedValues = util.objectValues(nativeEnumValues); 2598 - addIssueToContext(ctx, { 2599 - received: ctx.data, 2600 - code: ZodIssueCode.invalid_enum_value, 2601 - options: expectedValues 2602 - }); 2603 - return INVALID; 2604 - } 2605 - return OK(input.data); 2606 - } 2607 - get enum() { 2608 - return this._def.values; 2609 - } 2610 - }; 2611 - ZodNativeEnum.create = (values, params2) => { 2612 - return new ZodNativeEnum({ 2613 - values, 2614 - typeName: ZodFirstPartyTypeKind.ZodNativeEnum, 2615 - ...processCreateParams(params2) 2616 - }); 2617 - }; 2618 - var ZodPromise = class extends ZodType { 2619 - _parse(input) { 2620 - const { ctx } = this._processInputParams(input); 2621 - if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) { 2622 - addIssueToContext(ctx, { 2623 - code: ZodIssueCode.invalid_type, 2624 - expected: ZodParsedType.promise, 2625 - received: ctx.parsedType 2626 - }); 2627 - return INVALID; 2628 - } 2629 - const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data); 2630 - return OK(promisified.then((data) => { 2631 - return this._def.type.parseAsync(data, { 2632 - path: ctx.path, 2633 - errorMap: ctx.common.contextualErrorMap 2634 - }); 2635 - })); 2636 - } 2637 - }; 2638 - ZodPromise.create = (schema, params2) => { 2639 - return new ZodPromise({ 2640 - type: schema, 2641 - typeName: ZodFirstPartyTypeKind.ZodPromise, 2642 - ...processCreateParams(params2) 2643 - }); 2644 - }; 2645 - var ZodEffects = class extends ZodType { 2646 - innerType() { 2647 - return this._def.schema; 2648 - } 2649 - _parse(input) { 2650 - const { status, ctx } = this._processInputParams(input); 2651 - const effect = this._def.effect || null; 2652 - if (effect.type === "preprocess") { 2653 - const processed = effect.transform(ctx.data); 2654 - if (ctx.common.async) { 2655 - return Promise.resolve(processed).then((processed2) => { 2656 - return this._def.schema._parseAsync({ 2657 - data: processed2, 2658 - path: ctx.path, 2659 - parent: ctx 2660 - }); 2661 - }); 2662 - } else { 2663 - return this._def.schema._parseSync({ 2664 - data: processed, 2665 - path: ctx.path, 2666 - parent: ctx 2667 - }); 2668 - } 2669 - } 2670 - const checkCtx = { 2671 - addIssue: (arg) => { 2672 - addIssueToContext(ctx, arg); 2673 - if (arg.fatal) { 2674 - status.abort(); 2675 - } else { 2676 - status.dirty(); 2677 - } 2678 - }, 2679 - get path() { 2680 - return ctx.path; 2681 - } 2682 - }; 2683 - checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); 2684 - if (effect.type === "refinement") { 2685 - const executeRefinement = (acc) => { 2686 - const result = effect.refinement(acc, checkCtx); 2687 - if (ctx.common.async) { 2688 - return Promise.resolve(result); 2689 - } 2690 - if (result instanceof Promise) { 2691 - throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); 2692 - } 2693 - return acc; 2694 - }; 2695 - if (ctx.common.async === false) { 2696 - const inner = this._def.schema._parseSync({ 2697 - data: ctx.data, 2698 - path: ctx.path, 2699 - parent: ctx 2700 - }); 2701 - if (inner.status === "aborted") 2702 - return INVALID; 2703 - if (inner.status === "dirty") 2704 - status.dirty(); 2705 - executeRefinement(inner.value); 2706 - return { status: status.value, value: inner.value }; 2707 - } else { 2708 - return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { 2709 - if (inner.status === "aborted") 2710 - return INVALID; 2711 - if (inner.status === "dirty") 2712 - status.dirty(); 2713 - return executeRefinement(inner.value).then(() => { 2714 - return { status: status.value, value: inner.value }; 2715 - }); 2716 - }); 2717 - } 2718 - } 2719 - if (effect.type === "transform") { 2720 - if (ctx.common.async === false) { 2721 - const base = this._def.schema._parseSync({ 2722 - data: ctx.data, 2723 - path: ctx.path, 2724 - parent: ctx 2725 - }); 2726 - if (!isValid(base)) 2727 - return base; 2728 - const result = effect.transform(base.value, checkCtx); 2729 - if (result instanceof Promise) { 2730 - throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); 2731 - } 2732 - return { status: status.value, value: result }; 2733 - } else { 2734 - return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { 2735 - if (!isValid(base)) 2736 - return base; 2737 - return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result })); 2738 - }); 2739 - } 2740 - } 2741 - util.assertNever(effect); 2742 - } 2743 - }; 2744 - ZodEffects.create = (schema, effect, params2) => { 2745 - return new ZodEffects({ 2746 - schema, 2747 - typeName: ZodFirstPartyTypeKind.ZodEffects, 2748 - effect, 2749 - ...processCreateParams(params2) 2750 - }); 2751 - }; 2752 - ZodEffects.createWithPreprocess = (preprocess, schema, params2) => { 2753 - return new ZodEffects({ 2754 - schema, 2755 - effect: { type: "preprocess", transform: preprocess }, 2756 - typeName: ZodFirstPartyTypeKind.ZodEffects, 2757 - ...processCreateParams(params2) 2758 - }); 2759 - }; 2760 - var ZodOptional = class extends ZodType { 2761 - _parse(input) { 2762 - const parsedType = this._getType(input); 2763 - if (parsedType === ZodParsedType.undefined) { 2764 - return OK(void 0); 2765 - } 2766 - return this._def.innerType._parse(input); 2767 - } 2768 - unwrap() { 2769 - return this._def.innerType; 2770 - } 2771 - }; 2772 - ZodOptional.create = (type, params2) => { 2773 - return new ZodOptional({ 2774 - innerType: type, 2775 - typeName: ZodFirstPartyTypeKind.ZodOptional, 2776 - ...processCreateParams(params2) 2777 - }); 2778 - }; 2779 - var ZodNullable = class extends ZodType { 2780 - _parse(input) { 2781 - const parsedType = this._getType(input); 2782 - if (parsedType === ZodParsedType.null) { 2783 - return OK(null); 2784 - } 2785 - return this._def.innerType._parse(input); 2786 - } 2787 - unwrap() { 2788 - return this._def.innerType; 2789 - } 2790 - }; 2791 - ZodNullable.create = (type, params2) => { 2792 - return new ZodNullable({ 2793 - innerType: type, 2794 - typeName: ZodFirstPartyTypeKind.ZodNullable, 2795 - ...processCreateParams(params2) 2796 - }); 2797 - }; 2798 - var ZodDefault = class extends ZodType { 2799 - _parse(input) { 2800 - const { ctx } = this._processInputParams(input); 2801 - let data = ctx.data; 2802 - if (ctx.parsedType === ZodParsedType.undefined) { 2803 - data = this._def.defaultValue(); 2804 - } 2805 - return this._def.innerType._parse({ 2806 - data, 2807 - path: ctx.path, 2808 - parent: ctx 2809 - }); 2810 - } 2811 - removeDefault() { 2812 - return this._def.innerType; 2813 - } 2814 - }; 2815 - ZodDefault.create = (type, params2) => { 2816 - return new ZodOptional({ 2817 - innerType: type, 2818 - typeName: ZodFirstPartyTypeKind.ZodOptional, 2819 - ...processCreateParams(params2) 2820 - }); 2821 - }; 2822 - var ZodNaN = class extends ZodType { 2823 - _parse(input) { 2824 - const parsedType = this._getType(input); 2825 - if (parsedType !== ZodParsedType.nan) { 2826 - const ctx = this._getOrReturnCtx(input); 2827 - addIssueToContext(ctx, { 2828 - code: ZodIssueCode.invalid_type, 2829 - expected: ZodParsedType.nan, 2830 - received: ctx.parsedType 2831 - }); 2832 - return INVALID; 2833 - } 2834 - return { status: "valid", value: input.data }; 2835 - } 2836 - }; 2837 - ZodNaN.create = (params2) => { 2838 - return new ZodNaN({ 2839 - typeName: ZodFirstPartyTypeKind.ZodNaN, 2840 - ...processCreateParams(params2) 2841 - }); 2842 - }; 2843 - var BRAND = Symbol("zod_brand"); 2844 - var ZodBranded = class extends ZodType { 2845 - _parse(input) { 2846 - const { ctx } = this._processInputParams(input); 2847 - const data = ctx.data; 2848 - return this._def.type._parse({ 2849 - data, 2850 - path: ctx.path, 2851 - parent: ctx 2852 - }); 2853 - } 2854 - unwrap() { 2855 - return this._def.type; 2856 - } 2857 - }; 2858 - var custom = (check, params2 = {}, fatal) => { 2859 - if (check) 2860 - return ZodAny.create().superRefine((data, ctx) => { 2861 - if (!check(data)) { 2862 - const p = typeof params2 === "function" ? params2(data) : params2; 2863 - const p2 = typeof p === "string" ? { message: p } : p; 2864 - ctx.addIssue({ code: "custom", ...p2, fatal }); 2865 - } 2866 - }); 2867 - return ZodAny.create(); 2868 - }; 2869 - var late = { 2870 - object: ZodObject.lazycreate 2871 - }; 2872 - var ZodFirstPartyTypeKind; 2873 - (function(ZodFirstPartyTypeKind2) { 2874 - ZodFirstPartyTypeKind2["ZodString"] = "ZodString"; 2875 - ZodFirstPartyTypeKind2["ZodNumber"] = "ZodNumber"; 2876 - ZodFirstPartyTypeKind2["ZodNaN"] = "ZodNaN"; 2877 - ZodFirstPartyTypeKind2["ZodBigInt"] = "ZodBigInt"; 2878 - ZodFirstPartyTypeKind2["ZodBoolean"] = "ZodBoolean"; 2879 - ZodFirstPartyTypeKind2["ZodDate"] = "ZodDate"; 2880 - ZodFirstPartyTypeKind2["ZodUndefined"] = "ZodUndefined"; 2881 - ZodFirstPartyTypeKind2["ZodNull"] = "ZodNull"; 2882 - ZodFirstPartyTypeKind2["ZodAny"] = "ZodAny"; 2883 - ZodFirstPartyTypeKind2["ZodUnknown"] = "ZodUnknown"; 2884 - ZodFirstPartyTypeKind2["ZodNever"] = "ZodNever"; 2885 - ZodFirstPartyTypeKind2["ZodVoid"] = "ZodVoid"; 2886 - ZodFirstPartyTypeKind2["ZodArray"] = "ZodArray"; 2887 - ZodFirstPartyTypeKind2["ZodObject"] = "ZodObject"; 2888 - ZodFirstPartyTypeKind2["ZodUnion"] = "ZodUnion"; 2889 - ZodFirstPartyTypeKind2["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; 2890 - ZodFirstPartyTypeKind2["ZodIntersection"] = "ZodIntersection"; 2891 - ZodFirstPartyTypeKind2["ZodTuple"] = "ZodTuple"; 2892 - ZodFirstPartyTypeKind2["ZodRecord"] = "ZodRecord"; 2893 - ZodFirstPartyTypeKind2["ZodMap"] = "ZodMap"; 2894 - ZodFirstPartyTypeKind2["ZodSet"] = "ZodSet"; 2895 - ZodFirstPartyTypeKind2["ZodFunction"] = "ZodFunction"; 2896 - ZodFirstPartyTypeKind2["ZodLazy"] = "ZodLazy"; 2897 - ZodFirstPartyTypeKind2["ZodLiteral"] = "ZodLiteral"; 2898 - ZodFirstPartyTypeKind2["ZodEnum"] = "ZodEnum"; 2899 - ZodFirstPartyTypeKind2["ZodEffects"] = "ZodEffects"; 2900 - ZodFirstPartyTypeKind2["ZodNativeEnum"] = "ZodNativeEnum"; 2901 - ZodFirstPartyTypeKind2["ZodOptional"] = "ZodOptional"; 2902 - ZodFirstPartyTypeKind2["ZodNullable"] = "ZodNullable"; 2903 - ZodFirstPartyTypeKind2["ZodDefault"] = "ZodDefault"; 2904 - ZodFirstPartyTypeKind2["ZodPromise"] = "ZodPromise"; 2905 - ZodFirstPartyTypeKind2["ZodBranded"] = "ZodBranded"; 2906 - })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {})); 2907 - var instanceOfType = (cls, params2 = { 2908 - message: `Input not instance of ${cls.name}` 2909 - }) => custom((data) => data instanceof cls, params2, true); 2910 - var stringType = ZodString.create; 2911 - var numberType = ZodNumber.create; 2912 - var nanType = ZodNaN.create; 2913 - var bigIntType = ZodBigInt.create; 2914 - var booleanType = ZodBoolean.create; 2915 - var dateType = ZodDate.create; 2916 - var undefinedType = ZodUndefined.create; 2917 - var nullType = ZodNull.create; 2918 - var anyType = ZodAny.create; 2919 - var unknownType = ZodUnknown.create; 2920 - var neverType = ZodNever.create; 2921 - var voidType = ZodVoid.create; 2922 - var arrayType = ZodArray.create; 2923 - var objectType = ZodObject.create; 2924 - var strictObjectType = ZodObject.strictCreate; 2925 - var unionType = ZodUnion.create; 2926 - var discriminatedUnionType = ZodDiscriminatedUnion.create; 2927 - var intersectionType = ZodIntersection.create; 2928 - var tupleType = ZodTuple.create; 2929 - var recordType = ZodRecord.create; 2930 - var mapType = ZodMap.create; 2931 - var setType = ZodSet.create; 2932 - var functionType = ZodFunction.create; 2933 - var lazyType = ZodLazy.create; 2934 - var literalType = ZodLiteral.create; 2935 - var enumType = ZodEnum.create; 2936 - var nativeEnumType = ZodNativeEnum.create; 2937 - var promiseType = ZodPromise.create; 2938 - var effectsType = ZodEffects.create; 2939 - var optionalType = ZodOptional.create; 2940 - var nullableType = ZodNullable.create; 2941 - var preprocessType = ZodEffects.createWithPreprocess; 2942 - var ostring = () => stringType().optional(); 2943 - var onumber = () => numberType().optional(); 2944 - var oboolean = () => booleanType().optional(); 2945 - var NEVER = INVALID; 2946 - var mod = /* @__PURE__ */ Object.freeze({ 2947 - __proto__: null, 2948 - getParsedType, 2949 - ZodParsedType, 2950 - defaultErrorMap: errorMap, 2951 - setErrorMap, 2952 - getErrorMap, 2953 - makeIssue, 2954 - EMPTY_PATH, 2955 - addIssueToContext, 2956 - ParseStatus, 2957 - INVALID, 2958 - DIRTY, 2959 - OK, 2960 - isAborted, 2961 - isDirty, 2962 - isValid, 2963 - isAsync, 2964 - ZodType, 2965 - ZodString, 2966 - ZodNumber, 2967 - ZodBigInt, 2968 - ZodBoolean, 2969 - ZodDate, 2970 - ZodUndefined, 2971 - ZodNull, 2972 - ZodAny, 2973 - ZodUnknown, 2974 - ZodNever, 2975 - ZodVoid, 2976 - ZodArray, 2977 - get objectUtil() { 2978 - return objectUtil; 2979 - }, 2980 - ZodObject, 2981 - ZodUnion, 2982 - ZodDiscriminatedUnion, 2983 - ZodIntersection, 2984 - ZodTuple, 2985 - ZodRecord, 2986 - ZodMap, 2987 - ZodSet, 2988 - ZodFunction, 2989 - ZodLazy, 2990 - ZodLiteral, 2991 - ZodEnum, 2992 - ZodNativeEnum, 2993 - ZodPromise, 2994 - ZodEffects, 2995 - ZodTransformer: ZodEffects, 2996 - ZodOptional, 2997 - ZodNullable, 2998 - ZodDefault, 2999 - ZodNaN, 3000 - BRAND, 3001 - ZodBranded, 3002 - custom, 3003 - Schema: ZodType, 3004 - ZodSchema: ZodType, 3005 - late, 3006 - get ZodFirstPartyTypeKind() { 3007 - return ZodFirstPartyTypeKind; 3008 - }, 3009 - any: anyType, 3010 - array: arrayType, 3011 - bigint: bigIntType, 3012 - boolean: booleanType, 3013 - date: dateType, 3014 - discriminatedUnion: discriminatedUnionType, 3015 - effect: effectsType, 3016 - "enum": enumType, 3017 - "function": functionType, 3018 - "instanceof": instanceOfType, 3019 - intersection: intersectionType, 3020 - lazy: lazyType, 3021 - literal: literalType, 3022 - map: mapType, 3023 - nan: nanType, 3024 - nativeEnum: nativeEnumType, 3025 - never: neverType, 3026 - "null": nullType, 3027 - nullable: nullableType, 3028 - number: numberType, 3029 - object: objectType, 3030 - oboolean, 3031 - onumber, 3032 - optional: optionalType, 3033 - ostring, 3034 - preprocess: preprocessType, 3035 - promise: promiseType, 3036 - record: recordType, 3037 - set: setType, 3038 - strictObject: strictObjectType, 3039 - string: stringType, 3040 - transformer: effectsType, 3041 - tuple: tupleType, 3042 - "undefined": undefinedType, 3043 - union: unionType, 3044 - unknown: unknownType, 3045 - "void": voidType, 3046 - NEVER, 3047 - ZodIssueCode, 3048 - quotelessJson, 3049 - ZodError 3050 - }); 3051 - 3052 - // ../xrpc/src/types.ts 3053 - var errorResponseBody = mod.object({ 3054 - error: mod.string().optional(), 3055 - message: mod.string().optional() 3056 - }); 3057 - var ResponseType = /* @__PURE__ */ ((ResponseType2) => { 3058 - ResponseType2[ResponseType2["Unknown"] = 1] = "Unknown"; 3059 - ResponseType2[ResponseType2["InvalidResponse"] = 2] = "InvalidResponse"; 3060 - ResponseType2[ResponseType2["Success"] = 200] = "Success"; 3061 - ResponseType2[ResponseType2["InvalidRequest"] = 400] = "InvalidRequest"; 3062 - ResponseType2[ResponseType2["AuthRequired"] = 401] = "AuthRequired"; 3063 - ResponseType2[ResponseType2["Forbidden"] = 403] = "Forbidden"; 3064 - ResponseType2[ResponseType2["XRPCNotSupported"] = 404] = "XRPCNotSupported"; 3065 - ResponseType2[ResponseType2["PayloadTooLarge"] = 413] = "PayloadTooLarge"; 3066 - ResponseType2[ResponseType2["RateLimitExceeded"] = 429] = "RateLimitExceeded"; 3067 - ResponseType2[ResponseType2["InternalServerError"] = 500] = "InternalServerError"; 3068 - ResponseType2[ResponseType2["MethodNotImplemented"] = 501] = "MethodNotImplemented"; 3069 - ResponseType2[ResponseType2["UpstreamFailure"] = 502] = "UpstreamFailure"; 3070 - ResponseType2[ResponseType2["NotEnoughResouces"] = 503] = "NotEnoughResouces"; 3071 - ResponseType2[ResponseType2["UpstreamTimeout"] = 504] = "UpstreamTimeout"; 3072 - return ResponseType2; 3073 - })(ResponseType || {}); 3074 - var ResponseTypeNames = { 3075 - [2 /* InvalidResponse */]: "InvalidResponse", 3076 - [200 /* Success */]: "Success", 3077 - [400 /* InvalidRequest */]: "InvalidRequest", 3078 - [401 /* AuthRequired */]: "AuthenticationRequired", 3079 - [403 /* Forbidden */]: "Forbidden", 3080 - [404 /* XRPCNotSupported */]: "XRPCNotSupported", 3081 - [413 /* PayloadTooLarge */]: "PayloadTooLarge", 3082 - [429 /* RateLimitExceeded */]: "RateLimitExceeded", 3083 - [500 /* InternalServerError */]: "InternalServerError", 3084 - [501 /* MethodNotImplemented */]: "MethodNotImplemented", 3085 - [502 /* UpstreamFailure */]: "UpstreamFailure", 3086 - [503 /* NotEnoughResouces */]: "NotEnoughResouces", 3087 - [504 /* UpstreamTimeout */]: "UpstreamTimeout" 3088 - }; 3089 - var ResponseTypeStrings = { 3090 - [2 /* InvalidResponse */]: "Invalid Response", 3091 - [200 /* Success */]: "Success", 3092 - [400 /* InvalidRequest */]: "Invalid Request", 3093 - [401 /* AuthRequired */]: "Authentication Required", 3094 - [403 /* Forbidden */]: "Forbidden", 3095 - [404 /* XRPCNotSupported */]: "XRPC Not Supported", 3096 - [413 /* PayloadTooLarge */]: "Payload Too Large", 3097 - [429 /* RateLimitExceeded */]: "Rate Limit Exceeded", 3098 - [500 /* InternalServerError */]: "Internal Server Error", 3099 - [501 /* MethodNotImplemented */]: "Method Not Implemented", 3100 - [502 /* UpstreamFailure */]: "Upstream Failure", 3101 - [503 /* NotEnoughResouces */]: "Not Enough Resouces", 3102 - [504 /* UpstreamTimeout */]: "Upstream Timeout" 3103 - }; 3104 - var XRPCResponse = class { 3105 - constructor(data, headers) { 3106 - this.data = data; 3107 - this.headers = headers; 3108 - this.success = true; 3109 - } 3110 - }; 3111 - var XRPCError = class extends Error { 3112 - constructor(status, error, message) { 3113 - super(message || error || ResponseTypeStrings[status]); 3114 - this.status = status; 3115 - this.error = error; 3116 - this.success = false; 3117 - if (!this.error) { 3118 - this.error = ResponseTypeNames[status]; 3119 - } 3120 - } 3121 - }; 3122 - 3123 - // ../nsid/src/index.ts 3124 - var SEGMENT_RE = /^[a-zA-Z]([a-zA-Z0-9-])*$/; 3125 - var NSID = class { 3126 - constructor(nsid) { 3127 - this.segments = []; 3128 - const segments = nsid.split("."); 3129 - if (segments.length <= 2) { 3130 - throw new Error(`Invalid NSID: ${nsid}`); 3131 - } 3132 - for (let i = 0; i < segments.length; i++) { 3133 - const segment = segments[i]; 3134 - if (SEGMENT_RE.test(segment)) { 3135 - continue; 3136 - } 3137 - if (i === segments.length - 1 && segment === "*") { 3138 - continue; 3139 - } 3140 - throw new Error(`Invalid NSID: invalid character in segment "${segment}"`); 3141 - } 3142 - this.segments = segments; 3143 - } 3144 - static parse(nsid) { 3145 - return new NSID(nsid); 3146 - } 3147 - static create(authority, name) { 3148 - const segments = [...authority.split(".").reverse(), name].join("."); 3149 - return new NSID(segments); 3150 - } 3151 - static isValid(nsid) { 3152 - try { 3153 - NSID.parse(nsid); 3154 - return true; 3155 - } catch (e) { 3156 - return false; 3157 - } 3158 - } 3159 - get authority() { 3160 - return this.segments.slice(0, this.segments.length - 1).reverse().join("."); 3161 - } 3162 - get name() { 3163 - return this.segments.at(this.segments.length - 1); 3164 - } 3165 - toString() { 3166 - return this.segments.join("."); 3167 - } 3168 - }; 3169 - 3170 - // ../lexicon/src/types.ts 3171 - var lexBoolean = mod.object({ 3172 - type: mod.literal("boolean"), 3173 - description: mod.string().optional(), 3174 - default: mod.boolean().optional(), 3175 - const: mod.boolean().optional() 3176 - }); 3177 - var lexNumber = mod.object({ 3178 - type: mod.literal("number"), 3179 - description: mod.string().optional(), 3180 - default: mod.number().optional(), 3181 - minimum: mod.number().optional(), 3182 - maximum: mod.number().optional(), 3183 - enum: mod.number().array().optional(), 3184 - const: mod.number().optional() 3185 - }); 3186 - var lexInteger = mod.object({ 3187 - type: mod.literal("integer"), 3188 - description: mod.string().optional(), 3189 - default: mod.number().int().optional(), 3190 - minimum: mod.number().int().optional(), 3191 - maximum: mod.number().int().optional(), 3192 - enum: mod.number().int().array().optional(), 3193 - const: mod.number().int().optional() 3194 - }); 3195 - var lexString = mod.object({ 3196 - type: mod.literal("string"), 3197 - description: mod.string().optional(), 3198 - default: mod.string().optional(), 3199 - minLength: mod.number().int().optional(), 3200 - maxLength: mod.number().int().optional(), 3201 - enum: mod.string().array().optional(), 3202 - const: mod.string().optional(), 3203 - knownValues: mod.string().array().optional() 3204 - }); 3205 - var lexDatetime = mod.object({ 3206 - type: mod.literal("datetime"), 3207 - description: mod.string().optional() 3208 - }); 3209 - var lexUnknown = mod.object({ 3210 - type: mod.literal("unknown"), 3211 - description: mod.string().optional() 3212 - }); 3213 - var lexPrimitive = mod.union([ 3214 - lexBoolean, 3215 - lexNumber, 3216 - lexInteger, 3217 - lexString, 3218 - lexDatetime, 3219 - lexUnknown 3220 - ]); 3221 - var lexRef = mod.object({ 3222 - type: mod.literal("ref"), 3223 - description: mod.string().optional(), 3224 - ref: mod.string() 3225 - }); 3226 - var lexRefUnion = mod.object({ 3227 - type: mod.literal("union"), 3228 - description: mod.string().optional(), 3229 - refs: mod.string().array(), 3230 - closed: mod.boolean().optional() 3231 - }); 3232 - var lexRefVariant = mod.union([lexRef, lexRefUnion]); 3233 - var lexBlob = mod.object({ 3234 - type: mod.literal("blob"), 3235 - description: mod.string().optional(), 3236 - accept: mod.string().array().optional(), 3237 - maxSize: mod.number().optional() 3238 - }); 3239 - var lexImage = mod.object({ 3240 - type: mod.literal("image"), 3241 - description: mod.string().optional(), 3242 - accept: mod.string().array().optional(), 3243 - maxSize: mod.number().optional(), 3244 - maxWidth: mod.number().int().optional(), 3245 - maxHeight: mod.number().int().optional() 3246 - }); 3247 - var lexVideo = mod.object({ 3248 - type: mod.literal("video"), 3249 - description: mod.string().optional(), 3250 - accept: mod.string().array().optional(), 3251 - maxSize: mod.number().optional(), 3252 - maxWidth: mod.number().int().optional(), 3253 - maxHeight: mod.number().int().optional(), 3254 - maxLength: mod.number().int().optional() 3255 - }); 3256 - var lexAudio = mod.object({ 3257 - type: mod.literal("audio"), 3258 - description: mod.string().optional(), 3259 - accept: mod.string().array().optional(), 3260 - maxSize: mod.number().optional(), 3261 - maxLength: mod.number().int().optional() 3262 - }); 3263 - var lexBlobVariant = mod.union([lexBlob, lexImage, lexVideo, lexAudio]); 3264 - var lexArray = mod.object({ 3265 - type: mod.literal("array"), 3266 - description: mod.string().optional(), 3267 - items: mod.union([lexPrimitive, lexBlobVariant, lexRefVariant]), 3268 - minLength: mod.number().int().optional(), 3269 - maxLength: mod.number().int().optional() 3270 - }); 3271 - var lexToken = mod.object({ 3272 - type: mod.literal("token"), 3273 - description: mod.string().optional() 3274 - }); 3275 - var lexObject = mod.object({ 3276 - type: mod.literal("object"), 3277 - description: mod.string().optional(), 3278 - required: mod.string().array().optional(), 3279 - properties: mod.record(mod.union([lexRefVariant, lexArray, lexBlobVariant, lexPrimitive])).optional() 3280 - }); 3281 - var lexXrpcParameters = mod.object({ 3282 - type: mod.literal("params"), 3283 - description: mod.string().optional(), 3284 - required: mod.string().array().optional(), 3285 - properties: mod.record(lexPrimitive) 3286 - }); 3287 - var lexXrpcBody = mod.object({ 3288 - description: mod.string().optional(), 3289 - encoding: mod.string(), 3290 - schema: mod.union([lexRefVariant, lexObject]).optional() 3291 - }); 3292 - var lexXrpcError = mod.object({ 3293 - name: mod.string(), 3294 - description: mod.string().optional() 3295 - }); 3296 - var lexXrpcQuery = mod.object({ 3297 - type: mod.literal("query"), 3298 - description: mod.string().optional(), 3299 - parameters: lexXrpcParameters.optional(), 3300 - output: lexXrpcBody.optional(), 3301 - errors: lexXrpcError.array().optional() 3302 - }); 3303 - var lexXrpcProcedure = mod.object({ 3304 - type: mod.literal("procedure"), 3305 - description: mod.string().optional(), 3306 - parameters: lexXrpcParameters.optional(), 3307 - input: lexXrpcBody.optional(), 3308 - output: lexXrpcBody.optional(), 3309 - errors: lexXrpcError.array().optional() 3310 - }); 3311 - var lexRecord = mod.object({ 3312 - type: mod.literal("record"), 3313 - description: mod.string().optional(), 3314 - key: mod.string().optional(), 3315 - record: lexObject 3316 - }); 3317 - var lexUserType = mod.union([ 3318 - lexRecord, 3319 - lexXrpcQuery, 3320 - lexXrpcProcedure, 3321 - lexBlob, 3322 - lexImage, 3323 - lexVideo, 3324 - lexAudio, 3325 - lexArray, 3326 - lexToken, 3327 - lexObject, 3328 - lexBoolean, 3329 - lexNumber, 3330 - lexInteger, 3331 - lexString, 3332 - lexDatetime, 3333 - lexUnknown 3334 - ]); 3335 - var lexiconDoc = mod.object({ 3336 - lexicon: mod.literal(1), 3337 - id: mod.string().refine((v) => NSID.isValid(v), { 3338 - message: "Must be a valid NSID" 3339 - }), 3340 - revision: mod.number().optional(), 3341 - description: mod.string().optional(), 3342 - defs: mod.record(lexUserType) 3343 - }).superRefine((doc, ctx) => { 3344 - for (const defId in doc.defs) { 3345 - const def = doc.defs[defId]; 3346 - if (defId !== "main" && (def.type === "record" || def.type === "procedure" || def.type === "query")) { 3347 - ctx.addIssue({ 3348 - code: mod.ZodIssueCode.custom, 3349 - message: `Records, procedures, and queries must be the main definition.` 3350 - }); 3351 - } 3352 - } 3353 - }); 3354 - function isObj(obj) { 3355 - return !!obj && typeof obj === "object"; 3356 - } 3357 - function hasProp(data, prop) { 3358 - return prop in data; 3359 - } 3360 - var discriminatedObject = mod.object({ $type: mod.string() }); 3361 - function isDiscriminatedObject(value) { 3362 - return discriminatedObject.safeParse(value).success; 3363 - } 3364 - var LexiconDocMalformedError = class extends Error { 3365 - constructor(message, schemaDef, issues) { 3366 - super(message); 3367 - this.schemaDef = schemaDef; 3368 - this.issues = issues; 3369 - this.schemaDef = schemaDef; 3370 - this.issues = issues; 3371 - } 3372 - }; 3373 - var ValidationError = class extends Error { 3374 - }; 3375 - var InvalidLexiconError = class extends Error { 3376 - }; 3377 - var LexiconDefNotFoundError = class extends Error { 3378 - }; 3379 - 3380 - // ../lexicon/src/validators/primitives.ts 3381 - function validate(lexicons2, path, def, value) { 3382 - switch (def.type) { 3383 - case "boolean": 3384 - return boolean(lexicons2, path, def, value); 3385 - case "number": 3386 - return number(lexicons2, path, def, value); 3387 - case "integer": 3388 - return integer(lexicons2, path, def, value); 3389 - case "string": 3390 - return string(lexicons2, path, def, value); 3391 - case "datetime": 3392 - return datetime(lexicons2, path, def, value); 3393 - case "unknown": 3394 - return unknown(lexicons2, path, def, value); 3395 - default: 3396 - return { 3397 - success: false, 3398 - error: new ValidationError(`Unexpected lexicon type: ${def.type}`) 3399 - }; 3400 - } 3401 - } 3402 - function boolean(lexicons2, path, def, value) { 3403 - def = def; 3404 - const type = typeof value; 3405 - if (type == "undefined") { 3406 - if (typeof def.default === "boolean") { 3407 - return { success: true }; 3408 - } 3409 - return { 3410 - success: false, 3411 - error: new ValidationError(`${path} must be a boolean`) 3412 - }; 3413 - } else if (type !== "boolean") { 3414 - return { 3415 - success: false, 3416 - error: new ValidationError(`${path} must be a boolean`) 3417 - }; 3418 - } 3419 - if (typeof def.const === "boolean") { 3420 - if (value !== def.const) { 3421 - return { 3422 - success: false, 3423 - error: new ValidationError(`${path} must be ${def.const}`) 3424 - }; 3425 - } 3426 - } 3427 - return { success: true }; 3428 - } 3429 - function number(lexicons2, path, def, value) { 3430 - def = def; 3431 - const type = typeof value; 3432 - if (type == "undefined") { 3433 - if (typeof def.default === "number") { 3434 - return { success: true }; 3435 - } 3436 - return { 3437 - success: false, 3438 - error: new ValidationError(`${path} must be a number`) 3439 - }; 3440 - } else if (type !== "number") { 3441 - return { 3442 - success: false, 3443 - error: new ValidationError(`${path} must be a number`) 3444 - }; 3445 - } 3446 - if (typeof def.const === "number") { 3447 - if (value !== def.const) { 3448 - return { 3449 - success: false, 3450 - error: new ValidationError(`${path} must be ${def.const}`) 3451 - }; 3452 - } 3453 - } 3454 - if (Array.isArray(def.enum)) { 3455 - if (!def.enum.includes(value)) { 3456 - return { 3457 - success: false, 3458 - error: new ValidationError( 3459 - `${path} must be one of (${def.enum.join("|")})` 3460 - ) 3461 - }; 3462 - } 3463 - } 3464 - if (typeof def.maximum === "number") { 3465 - if (value > def.maximum) { 3466 - return { 3467 - success: false, 3468 - error: new ValidationError( 3469 - `${path} can not be greater than ${def.maximum}` 3470 - ) 3471 - }; 3472 - } 3473 - } 3474 - if (typeof def.minimum === "number") { 3475 - if (value < def.minimum) { 3476 - return { 3477 - success: false, 3478 - error: new ValidationError( 3479 - `${path} can not be less than ${def.minimum}` 3480 - ) 3481 - }; 3482 - } 3483 - } 3484 - return { success: true }; 3485 - } 3486 - function integer(lexicons2, path, def, value) { 3487 - def = def; 3488 - const numRes = number(lexicons2, path, def, value); 3489 - if (!numRes.success) { 3490 - return numRes; 3491 - } 3492 - if (!Number.isInteger(value)) { 3493 - return { 3494 - success: false, 3495 - error: new ValidationError(`${path} must be an integer`) 3496 - }; 3497 - } 3498 - return { success: true }; 3499 - } 3500 - function string(lexicons2, path, def, value) { 3501 - def = def; 3502 - const type = typeof value; 3503 - if (type == "undefined") { 3504 - if (typeof def.default === "string") { 3505 - return { success: true }; 3506 - } 3507 - return { 3508 - success: false, 3509 - error: new ValidationError(`${path} must be a string`) 3510 - }; 3511 - } else if (type !== "string") { 3512 - return { 3513 - success: false, 3514 - error: new ValidationError(`${path} must be a string`) 3515 - }; 3516 - } 3517 - if (typeof def.const === "string") { 3518 - if (value !== def.const) { 3519 - return { 3520 - success: false, 3521 - error: new ValidationError(`${path} must be ${def.const}`) 3522 - }; 3523 - } 3524 - } 3525 - if (Array.isArray(def.enum)) { 3526 - if (!def.enum.includes(value)) { 3527 - return { 3528 - success: false, 3529 - error: new ValidationError( 3530 - `${path} must be one of (${def.enum.join("|")})` 3531 - ) 3532 - }; 3533 - } 3534 - } 3535 - if (typeof def.maxLength === "number") { 3536 - if (value.length > def.maxLength) { 3537 - return { 3538 - success: false, 3539 - error: new ValidationError( 3540 - `${path} must not be longer than ${def.maxLength} characters` 3541 - ) 3542 - }; 3543 - } 3544 - } 3545 - if (typeof def.minLength === "number") { 3546 - if (value.length < def.minLength) { 3547 - return { 3548 - success: false, 3549 - error: new ValidationError( 3550 - `${path} must not be shorter than ${def.minLength} characters` 3551 - ) 3552 - }; 3553 - } 3554 - } 3555 - return { success: true }; 3556 - } 3557 - function datetime(lexicons2, path, def, value) { 3558 - def = def; 3559 - const type = typeof value; 3560 - if (type !== "string") { 3561 - return { 3562 - success: false, 3563 - error: new ValidationError(`${path} must be a string`) 3564 - }; 3565 - } 3566 - { 3567 - try { 3568 - const date = new Date(Date.parse(value)); 3569 - if (value !== date.toISOString()) { 3570 - throw new ValidationError( 3571 - `${path} must be an iso8601 formatted datetime` 3572 - ); 3573 - } 3574 - } catch { 3575 - throw new ValidationError(`${path} must be an iso8601 formatted datetime`); 3576 - } 3577 - } 3578 - return { success: true }; 3579 - } 3580 - function unknown(lexicons2, path, def, value) { 3581 - if (!value || typeof value !== "object") { 3582 - return { 3583 - success: false, 3584 - error: new ValidationError(`${path} must be an object`) 3585 - }; 3586 - } 3587 - return { success: true }; 3588 - } 3589 - 3590 - // ../lexicon/src/validators/blob.ts 3591 - function blob(lexicons2, path, def, value) { 3592 - if (!isObj(value)) { 3593 - return { 3594 - success: false, 3595 - error: new ValidationError(`${path} should be an object`) 3596 - }; 3597 - } 3598 - if (!hasProp(value, "cid") || typeof value.cid !== "string") { 3599 - return { 3600 - success: false, 3601 - error: new ValidationError(`${path}/cid should be a string`) 3602 - }; 3603 - } 3604 - if (!hasProp(value, "mimeType") || typeof value.mimeType !== "string") { 3605 - return { 3606 - success: false, 3607 - error: new ValidationError(`${path}/mimeType should be a string`) 3608 - }; 3609 - } 3610 - return { success: true }; 3611 - } 3612 - function image(lexicons2, path, def, value) { 3613 - return blob(lexicons2, path, def, value); 3614 - } 3615 - function video(lexicons2, path, def, value) { 3616 - return blob(lexicons2, path, def, value); 3617 - } 3618 - function audio(lexicons2, path, def, value) { 3619 - return blob(lexicons2, path, def, value); 3620 - } 3621 - 3622 - // ../lexicon/src/validators/complex.ts 3623 - function validate2(lexicons2, path, def, value) { 3624 - switch (def.type) { 3625 - case "boolean": 3626 - return boolean(lexicons2, path, def, value); 3627 - case "number": 3628 - return number(lexicons2, path, def, value); 3629 - case "integer": 3630 - return integer(lexicons2, path, def, value); 3631 - case "string": 3632 - return string(lexicons2, path, def, value); 3633 - case "datetime": 3634 - return datetime(lexicons2, path, def, value); 3635 - case "unknown": 3636 - return unknown(lexicons2, path, def, value); 3637 - case "object": 3638 - return object(lexicons2, path, def, value); 3639 - case "array": 3640 - return array(lexicons2, path, def, value); 3641 - case "blob": 3642 - return blob(lexicons2, path, def, value); 3643 - case "image": 3644 - return image(lexicons2, path, def, value); 3645 - case "video": 3646 - return video(lexicons2, path, def, value); 3647 - case "audio": 3648 - return audio(lexicons2, path, def, value); 3649 - default: 3650 - return { 3651 - success: false, 3652 - error: new ValidationError(`Unexpected lexicon type: ${def.type}`) 3653 - }; 3654 - } 3655 - } 3656 - function array(lexicons2, path, def, value) { 3657 - def = def; 3658 - if (!Array.isArray(value)) { 3659 - return { 3660 - success: false, 3661 - error: new ValidationError(`${path} must be an array`) 3662 - }; 3663 - } 3664 - if (typeof def.maxLength === "number") { 3665 - if (value.length > def.maxLength) { 3666 - return { 3667 - success: false, 3668 - error: new ValidationError( 3669 - `${path} must not have more than ${def.maxLength} elements` 3670 - ) 3671 - }; 3672 - } 3673 - } 3674 - if (typeof def.minLength === "number") { 3675 - if (value.length < def.minLength) { 3676 - return { 3677 - success: false, 3678 - error: new ValidationError( 3679 - `${path} must not have fewer than ${def.minLength} elements` 3680 - ) 3681 - }; 3682 - } 3683 - } 3684 - const itemsDef = def.items; 3685 - for (let i = 0; i < value.length; i++) { 3686 - const itemValue = value[i]; 3687 - const itemPath = `${path}/${i}`; 3688 - const res = validateOneOf(lexicons2, itemPath, itemsDef, itemValue); 3689 - if (!res.success) { 3690 - return res; 3691 - } 3692 - } 3693 - return { success: true }; 3694 - } 3695 - function object(lexicons2, path, def, value) { 3696 - def = def; 3697 - if (!value || typeof value !== "object") { 3698 - return { 3699 - success: false, 3700 - error: new ValidationError(`${path} must be an object`) 3701 - }; 3702 - } 3703 - if (Array.isArray(def.required)) { 3704 - for (const key of def.required) { 3705 - if (!(key in value)) { 3706 - return { 3707 - success: false, 3708 - error: new ValidationError(`${path} must have the property "${key}"`) 3709 - }; 3710 - } 3711 - } 3712 - } 3713 - if (typeof def.properties === "object") { 3714 - for (const key in def.properties) { 3715 - const propValue = value[key]; 3716 - if (typeof propValue === "undefined") { 3717 - continue; 3718 - } 3719 - const propDef = def.properties[key]; 3720 - const propPath = `${path}/${key}`; 3721 - const res = validateOneOf(lexicons2, propPath, propDef, propValue); 3722 - if (!res.success) { 3723 - return res; 3724 - } 3725 - } 3726 - } 3727 - return { success: true }; 3728 - } 3729 - 3730 - // ../lexicon/src/util.ts 3731 - function toLexUri(str, baseUri) { 3732 - if (str.startsWith("lex:")) { 3733 - return str; 3734 - } 3735 - if (str.startsWith("#")) { 3736 - if (!baseUri) { 3737 - throw new Error(`Unable to resolve uri without anchor: ${str}`); 3738 - } 3739 - return `${baseUri}${str}`; 3740 - } 3741 - return `lex:${str}`; 3742 - } 3743 - function validateOneOf(lexicons2, path, def, value, mustBeObj = false) { 3744 - let error; 3745 - let concreteDefs; 3746 - if (def.type === "union") { 3747 - if (!isDiscriminatedObject(value)) { 3748 - return { 3749 - success: false, 3750 - error: new ValidationError( 3751 - `${path} must be an object which includes the "$type" property` 3752 - ) 3753 - }; 3754 - } 3755 - if (!def.refs.includes(toLexUri(value.$type))) { 3756 - if (def.closed) { 3757 - return { 3758 - success: false, 3759 - error: new ValidationError( 3760 - `${path} $type must be one of ${def.refs.join(", ")}` 3761 - ) 3762 - }; 3763 - } 3764 - return { success: true }; 3765 - } else { 3766 - concreteDefs = toConcreteTypes(lexicons2, { 3767 - type: "ref", 3768 - ref: value.$type 3769 - }); 3770 - } 3771 - } else { 3772 - concreteDefs = toConcreteTypes(lexicons2, def); 3773 - } 3774 - for (const concreteDef of concreteDefs) { 3775 - const result = mustBeObj ? object(lexicons2, path, concreteDef, value) : validate2(lexicons2, path, concreteDef, value); 3776 - if (result.success) { 3777 - return result; 3778 - } 3779 - error ?? (error = result.error); 3780 - } 3781 - if (concreteDefs.length > 1) { 3782 - return { 3783 - success: false, 3784 - error: new ValidationError( 3785 - `${path} did not match any of the expected definitions` 3786 - ) 3787 - }; 3788 - } 3789 - return { success: false, error }; 3790 - } 3791 - function assertValidOneOf(lexicons2, path, def, value, mustBeObj = false) { 3792 - const res = validateOneOf(lexicons2, path, def, value, mustBeObj); 3793 - if (!res.success) { 3794 - throw res.error; 3795 - } 3796 - } 3797 - function toConcreteTypes(lexicons2, def) { 3798 - if (def.type === "ref") { 3799 - return [lexicons2.getDefOrThrow(def.ref)]; 3800 - } else if (def.type === "union") { 3801 - return def.refs.map((ref) => lexicons2.getDefOrThrow(ref)).flat(); 3802 - } else { 3803 - return [def]; 3804 - } 3805 - } 3806 - 3807 - // ../lexicon/src/validators/xrpc.ts 3808 - function params(lexicons2, path, def, value) { 3809 - def = def; 3810 - if (!value || typeof value !== "object") { 3811 - value = {}; 3812 - } 3813 - if (Array.isArray(def.required)) { 3814 - for (const key of def.required) { 3815 - if (!(key in value)) { 3816 - return { 3817 - success: false, 3818 - error: new ValidationError(`${path} must have the property "${key}"`) 3819 - }; 3820 - } 3821 - } 3822 - } 3823 - for (const key in def.properties) { 3824 - if (typeof value[key] === "undefined") { 3825 - continue; 3826 - } 3827 - const paramDef = def.properties[key]; 3828 - const res = validate( 3829 - lexicons2, 3830 - key, 3831 - paramDef, 3832 - value[key] 3833 - ); 3834 - if (!res.success) { 3835 - return res; 3836 - } 3837 - } 3838 - return { success: true }; 3839 - } 3840 - 3841 - // ../lexicon/src/validation.ts 3842 - function assertValidRecord(lexicons2, def, value) { 3843 - const res = object(lexicons2, "Record", def.record, value); 3844 - if (!res.success) 3845 - throw res.error; 3846 - } 3847 - function assertValidXrpcParams(lexicons2, def, value) { 3848 - if (def.parameters) { 3849 - const res = params(lexicons2, "Params", def.parameters, value); 3850 - if (!res.success) 3851 - throw res.error; 3852 - } 3853 - } 3854 - function assertValidXrpcInput(lexicons2, def, value) { 3855 - if (def.input?.schema) { 3856 - assertValidOneOf(lexicons2, "Input", def.input.schema, value, true); 3857 - } 3858 - } 3859 - function assertValidXrpcOutput(lexicons2, def, value) { 3860 - if (def.output?.schema) { 3861 - assertValidOneOf(lexicons2, "Output", def.output.schema, value, true); 3862 - } 3863 - } 3864 - 3865 - // ../lexicon/src/lexicons.ts 3866 - var Lexicons = class { 3867 - constructor(docs) { 3868 - this.docs = /* @__PURE__ */ new Map(); 3869 - this.defs = /* @__PURE__ */ new Map(); 3870 - if (docs?.length) { 3871 - for (const doc of docs) { 3872 - this.add(doc); 3873 - } 3874 - } 3875 - } 3876 - add(doc) { 3877 - try { 3878 - lexiconDoc.parse(doc); 3879 - } catch (e) { 3880 - if (e instanceof ZodError) { 3881 - throw new LexiconDocMalformedError( 3882 - `Failed to parse schema definition ${doc.id}`, 3883 - doc, 3884 - e.issues 3885 - ); 3886 - } else { 3887 - throw e; 3888 - } 3889 - } 3890 - const validatedDoc = doc; 3891 - const uri = toLexUri(validatedDoc.id); 3892 - if (this.docs.has(uri)) { 3893 - throw new Error(`${uri} has already been registered`); 3894 - } 3895 - resolveRefUris(validatedDoc, uri); 3896 - this.docs.set(uri, validatedDoc); 3897 - for (const [defUri, def] of iterDefs(validatedDoc)) { 3898 - this.defs.set(defUri, def); 3899 - } 3900 - } 3901 - remove(uri) { 3902 - uri = toLexUri(uri); 3903 - const doc = this.docs.get(uri); 3904 - if (!doc) { 3905 - throw new Error(`Unable to remove "${uri}": does not exist`); 3906 - } 3907 - for (const [defUri, _def] of iterDefs(doc)) { 3908 - this.defs.delete(defUri); 3909 - } 3910 - this.docs.delete(uri); 3911 - } 3912 - get(uri) { 3913 - uri = toLexUri(uri); 3914 - return this.docs.get(uri); 3915 - } 3916 - getDef(uri) { 3917 - uri = toLexUri(uri); 3918 - return this.defs.get(uri); 3919 - } 3920 - getDefOrThrow(uri, types) { 3921 - const def = this.getDef(uri); 3922 - if (!def) { 3923 - throw new LexiconDefNotFoundError(`Lexicon not found: ${uri}`); 3924 - } 3925 - if (types && !types.includes(def.type)) { 3926 - throw new InvalidLexiconError( 3927 - `Not a ${types.join(" or ")} lexicon: ${uri}` 3928 - ); 3929 - } 3930 - return def; 3931 - } 3932 - assertValidRecord(lexUri, value) { 3933 - lexUri = toLexUri(lexUri); 3934 - const def = this.getDefOrThrow(lexUri, ["record"]); 3935 - if (!isObj(value)) { 3936 - throw new ValidationError(`Record must be an object`); 3937 - } 3938 - if (!hasProp(value, "$type") || typeof value.$type !== "string") { 3939 - throw new ValidationError(`Record/$type must be a string`); 3940 - } 3941 - const $type = value.$type || ""; 3942 - if (toLexUri($type) !== lexUri) { 3943 - throw new ValidationError( 3944 - `Invalid $type: must be ${lexUri}, got ${$type}` 3945 - ); 3946 - } 3947 - assertValidRecord(this, def, value); 3948 - } 3949 - assertValidXrpcParams(lexUri, value) { 3950 - lexUri = toLexUri(lexUri); 3951 - const def = this.getDefOrThrow(lexUri, ["query", "procedure"]); 3952 - assertValidXrpcParams(this, def, value); 3953 - } 3954 - assertValidXrpcInput(lexUri, value) { 3955 - lexUri = toLexUri(lexUri); 3956 - const def = this.getDefOrThrow(lexUri, ["procedure"]); 3957 - assertValidXrpcInput(this, def, value); 3958 - } 3959 - assertValidXrpcOutput(lexUri, value) { 3960 - lexUri = toLexUri(lexUri); 3961 - const def = this.getDefOrThrow(lexUri, ["query", "procedure"]); 3962 - assertValidXrpcOutput(this, def, value); 3963 - } 3964 - }; 3965 - function* iterDefs(doc) { 3966 - for (const defId in doc.defs) { 3967 - yield [`lex:${doc.id}#${defId}`, doc.defs[defId]]; 3968 - if (defId === "main") { 3969 - yield [`lex:${doc.id}`, doc.defs[defId]]; 3970 - } 3971 - } 3972 - } 3973 - function resolveRefUris(obj, baseUri) { 3974 - for (const k in obj) { 3975 - if (obj.type === "ref") { 3976 - obj.ref = toLexUri(obj.ref, baseUri); 3977 - } else if (obj.type === "union") { 3978 - obj.refs = obj.refs.map((ref) => toLexUri(ref, baseUri)); 3979 - } else if (Array.isArray(obj[k])) { 3980 - obj[k] = obj[k].map((item) => { 3981 - if (typeof item === "string") { 3982 - return item.startsWith("#") ? toLexUri(item, baseUri) : item; 3983 - } else if (item && typeof item === "object") { 3984 - return resolveRefUris(item, baseUri); 3985 - } 3986 - return item; 3987 - }); 3988 - } else if (obj[k] && typeof obj[k] === "object") { 3989 - obj[k] = resolveRefUris(obj[k], baseUri); 3990 - } 3991 - } 3992 - return obj; 3993 - } 3994 - 3995 - // ../xrpc/src/util.ts 3996 - function getMethodSchemaHTTPMethod(schema) { 3997 - if (schema.type === "procedure") { 3998 - return "post"; 3999 - } 4000 - return "get"; 4001 - } 4002 - function constructMethodCallUri(nsid, schema, serviceUri, params2) { 4003 - const uri = new URL(serviceUri); 4004 - uri.pathname = `/xrpc/${nsid}`; 4005 - if (params2) { 4006 - for (const [key, value] of Object.entries(params2)) { 4007 - const paramSchema = schema.parameters?.properties?.[key]; 4008 - if (!paramSchema) { 4009 - throw new Error(`Invalid query parameter: ${key}`); 4010 - } 4011 - if (value !== void 0) { 4012 - uri.searchParams.set(key, encodeQueryParam(paramSchema.type, value)); 4013 - } 4014 - } 4015 - } 4016 - return uri.toString(); 4017 - } 4018 - function encodeQueryParam(type, value) { 4019 - if (type === "string" || type === "unknown") { 4020 - return String(value); 4021 - } 4022 - if (type === "number") { 4023 - return String(Number(value)); 4024 - } else if (type === "integer") { 4025 - return String(Number(value) | 0); 4026 - } else if (type === "boolean") { 4027 - return value ? "true" : "false"; 4028 - } else if (type === "datetime") { 4029 - if (value instanceof Date) { 4030 - return value.toISOString(); 4031 - } 4032 - return String(value); 4033 - } 4034 - throw new Error(`Unsupported query param type: ${type}`); 4035 - } 4036 - function constructMethodCallHeaders(schema, data, opts) { 4037 - const headers = opts?.headers || {}; 4038 - if (schema.type === "procedure") { 4039 - if (opts?.encoding) { 4040 - headers["Content-Type"] = opts.encoding; 4041 - } 4042 - if (data && typeof data === "object") { 4043 - if (!headers["Content-Type"]) { 4044 - headers["Content-Type"] = "application/json"; 4045 - } 4046 - } 4047 - } 4048 - return headers; 4049 - } 4050 - function encodeMethodCallBody(headers, data) { 4051 - if (!headers["Content-Type"] || typeof data === "undefined") { 4052 - return void 0; 4053 - } 4054 - if (data instanceof ArrayBuffer) { 4055 - return data; 4056 - } 4057 - if (headers["Content-Type"].startsWith("text/")) { 4058 - return new TextEncoder().encode(data.toString()); 4059 - } 4060 - if (headers["Content-Type"].startsWith("application/json")) { 4061 - return new TextEncoder().encode(JSON.stringify(data)); 4062 - } 4063 - return data; 4064 - } 4065 - function httpResponseCodeToEnum(status) { 4066 - let resCode; 4067 - if (status in ResponseType) { 4068 - resCode = status; 4069 - } else if (status >= 100 && status < 200) { 4070 - resCode = 404 /* XRPCNotSupported */; 4071 - } else if (status >= 200 && status < 300) { 4072 - resCode = 200 /* Success */; 4073 - } else if (status >= 300 && status < 400) { 4074 - resCode = 404 /* XRPCNotSupported */; 4075 - } else if (status >= 400 && status < 500) { 4076 - resCode = 400 /* InvalidRequest */; 4077 - } else { 4078 - resCode = 500 /* InternalServerError */; 4079 - } 4080 - return resCode; 4081 - } 4082 - function httpResponseBodyParse(mimeType, data) { 4083 - if (mimeType) { 4084 - if (mimeType.includes("application/json") && data?.byteLength) { 4085 - try { 4086 - const str = new TextDecoder().decode(data); 4087 - return JSON.parse(str); 4088 - } catch (e) { 4089 - throw new XRPCError( 4090 - 2 /* InvalidResponse */, 4091 - `Failed to parse response body: ${String(e)}` 4092 - ); 4093 - } 4094 - } 4095 - if (mimeType.startsWith("text/") && data?.byteLength) { 4096 - try { 4097 - return new TextDecoder().decode(data); 4098 - } catch (e) { 4099 - throw new XRPCError( 4100 - 2 /* InvalidResponse */, 4101 - `Failed to parse response body: ${String(e)}` 4102 - ); 4103 - } 4104 - } 4105 - } 4106 - return data; 4107 - } 4108 - 4109 - // ../xrpc/src/client.ts 4110 - var Client = class { 4111 - constructor() { 4112 - this.fetch = defaultFetchHandler; 4113 - this.lex = new Lexicons(); 4114 - } 4115 - async call(serviceUri, methodNsid, params2, data, opts) { 4116 - return this.service(serviceUri).call(methodNsid, params2, data, opts); 4117 - } 4118 - service(serviceUri) { 4119 - return new ServiceClient(this, serviceUri); 4120 - } 4121 - addLexicon(doc) { 4122 - this.lex.add(doc); 4123 - } 4124 - addLexicons(docs) { 4125 - for (const doc of docs) { 4126 - this.addLexicon(doc); 4127 - } 4128 - } 4129 - removeLexicon(uri) { 4130 - this.lex.remove(uri); 4131 - } 4132 - }; 4133 - var ServiceClient = class { 4134 - constructor(baseClient, serviceUri) { 4135 - this.headers = {}; 4136 - this.baseClient = baseClient; 4137 - this.uri = typeof serviceUri === "string" ? new URL(serviceUri) : serviceUri; 4138 - } 4139 - setHeader(key, value) { 4140 - this.headers[key] = value; 4141 - } 4142 - unsetHeader(key) { 4143 - delete this.headers[key]; 4144 - } 4145 - async call(methodNsid, params2, data, opts) { 4146 - const def = this.baseClient.lex.getDefOrThrow(methodNsid); 4147 - if (!def || def.type !== "query" && def.type !== "procedure") { 4148 - throw new Error( 4149 - `Invalid lexicon: ${methodNsid}. Must be a query or procedure.` 4150 - ); 4151 - } 4152 - const httpMethod = getMethodSchemaHTTPMethod(def); 4153 - const httpUri = constructMethodCallUri(methodNsid, def, this.uri, params2); 4154 - const httpHeaders = constructMethodCallHeaders(def, data, { 4155 - headers: { 4156 - ...this.headers, 4157 - ...opts?.headers 4158 - }, 4159 - encoding: opts?.encoding 4160 - }); 4161 - const res = await this.baseClient.fetch( 4162 - httpUri, 4163 - httpMethod, 4164 - httpHeaders, 4165 - data 4166 - ); 4167 - const resCode = httpResponseCodeToEnum(res.status); 4168 - if (resCode === 200 /* Success */) { 4169 - return new XRPCResponse(res.body, res.headers); 4170 - } else { 4171 - if (res.body && isErrorResponseBody(res.body)) { 4172 - throw new XRPCError(resCode, res.body.error, res.body.message); 4173 - } else { 4174 - throw new XRPCError(resCode); 4175 - } 4176 - } 4177 - } 4178 - }; 4179 - async function defaultFetchHandler(httpUri, httpMethod, httpHeaders, httpReqBody) { 4180 - try { 4181 - const res = await fetch(httpUri, { 4182 - method: httpMethod, 4183 - headers: httpHeaders, 4184 - body: encodeMethodCallBody(httpHeaders, httpReqBody) 4185 - }); 4186 - const resBody = await res.arrayBuffer(); 4187 - return { 4188 - status: res.status, 4189 - headers: Object.fromEntries(res.headers.entries()), 4190 - body: httpResponseBodyParse(res.headers.get("content-type"), resBody) 4191 - }; 4192 - } catch (e) { 4193 - throw new XRPCError(1 /* Unknown */, String(e)); 4194 - } 4195 - } 4196 - function isErrorResponseBody(v) { 4197 - return errorResponseBody.safeParse(v).success; 4198 - } 4199 - 4200 - // ../xrpc/src/index.ts 4201 - var defaultInst = new Client(); 4202 - 4203 - // src/client/lexicons.ts 4204 - var schemaDict = { 4205 - ComAtprotoAccountCreate: { 4206 - lexicon: 1, 4207 - id: "com.atproto.account.create", 4208 - defs: { 4209 - main: { 4210 - type: "procedure", 4211 - description: "Create an account.", 4212 - input: { 4213 - encoding: "application/json", 4214 - schema: { 4215 - type: "object", 4216 - required: ["handle", "email", "password"], 4217 - properties: { 4218 - email: { 4219 - type: "string" 4220 - }, 4221 - handle: { 4222 - type: "string" 4223 - }, 4224 - inviteCode: { 4225 - type: "string" 4226 - }, 4227 - password: { 4228 - type: "string" 4229 - }, 4230 - recoveryKey: { 4231 - type: "string" 4232 - } 4233 - } 4234 - } 4235 - }, 4236 - output: { 4237 - encoding: "application/json", 4238 - schema: { 4239 - type: "object", 4240 - required: ["accessJwt", "refreshJwt", "handle", "did"], 4241 - properties: { 4242 - accessJwt: { 4243 - type: "string" 4244 - }, 4245 - refreshJwt: { 4246 - type: "string" 4247 - }, 4248 - handle: { 4249 - type: "string" 4250 - }, 4251 - did: { 4252 - type: "string" 4253 - } 4254 - } 4255 - } 4256 - }, 4257 - errors: [ 4258 - { 4259 - name: "InvalidHandle" 4260 - }, 4261 - { 4262 - name: "InvalidPassword" 4263 - }, 4264 - { 4265 - name: "InvalidInviteCode" 4266 - }, 4267 - { 4268 - name: "HandleNotAvailable" 4269 - } 4270 - ] 4271 - } 4272 - } 4273 - }, 4274 - ComAtprotoAccountCreateInviteCode: { 4275 - lexicon: 1, 4276 - id: "com.atproto.account.createInviteCode", 4277 - defs: { 4278 - main: { 4279 - type: "procedure", 4280 - description: "Create an invite code.", 4281 - input: { 4282 - encoding: "application/json", 4283 - schema: { 4284 - type: "object", 4285 - required: ["useCount"], 4286 - properties: { 4287 - useCount: { 4288 - type: "integer" 4289 - } 4290 - } 4291 - } 4292 - }, 4293 - output: { 4294 - encoding: "application/json", 4295 - schema: { 4296 - type: "object", 4297 - required: ["code"], 4298 - properties: { 4299 - code: { 4300 - type: "string" 4301 - } 4302 - } 4303 - } 4304 - } 4305 - } 4306 - } 4307 - }, 4308 - ComAtprotoAccountDelete: { 4309 - lexicon: 1, 4310 - id: "com.atproto.account.delete", 4311 - defs: { 4312 - main: { 4313 - type: "procedure", 4314 - description: "Delete an account." 4315 - } 4316 - } 4317 - }, 4318 - ComAtprotoAccountGet: { 4319 - lexicon: 1, 4320 - id: "com.atproto.account.get", 4321 - defs: { 4322 - main: { 4323 - type: "query", 4324 - description: "Get information about an account." 4325 - } 4326 - } 4327 - }, 4328 - ComAtprotoAccountRequestPasswordReset: { 4329 - lexicon: 1, 4330 - id: "com.atproto.account.requestPasswordReset", 4331 - defs: { 4332 - main: { 4333 - type: "procedure", 4334 - description: "Initiate a user account password reset via email.", 4335 - input: { 4336 - encoding: "application/json", 4337 - schema: { 4338 - type: "object", 4339 - required: ["email"], 4340 - properties: { 4341 - email: { 4342 - type: "string" 4343 - } 4344 - } 4345 - } 4346 - } 4347 - } 4348 - } 4349 - }, 4350 - ComAtprotoAccountResetPassword: { 4351 - lexicon: 1, 4352 - id: "com.atproto.account.resetPassword", 4353 - defs: { 4354 - main: { 4355 - type: "procedure", 4356 - description: "Reset a user account password using a token.", 4357 - input: { 4358 - encoding: "application/json", 4359 - schema: { 4360 - type: "object", 4361 - required: ["token", "password"], 4362 - properties: { 4363 - token: { 4364 - type: "string" 4365 - }, 4366 - password: { 4367 - type: "string" 4368 - } 4369 - } 4370 - } 4371 - }, 4372 - errors: [ 4373 - { 4374 - name: "ExpiredToken" 4375 - }, 4376 - { 4377 - name: "InvalidToken" 4378 - } 4379 - ] 4380 - } 4381 - } 4382 - }, 4383 - ComAtprotoBlobUpload: { 4384 - lexicon: 1, 4385 - id: "com.atproto.blob.upload", 4386 - defs: { 4387 - main: { 4388 - type: "procedure", 4389 - description: "Upload a new blob to be added to repo in a later request.", 4390 - input: { 4391 - encoding: "*/*" 4392 - }, 4393 - output: { 4394 - encoding: "application/json", 4395 - schema: { 4396 - type: "object", 4397 - required: ["cid"], 4398 - properties: { 4399 - cid: { 4400 - type: "string" 4401 - } 4402 - } 4403 - } 4404 - } 4405 - } 4406 - } 4407 - }, 4408 - ComAtprotoHandleResolve: { 4409 - lexicon: 1, 4410 - id: "com.atproto.handle.resolve", 4411 - defs: { 4412 - main: { 4413 - type: "query", 4414 - description: "Provides the DID of a repo.", 4415 - parameters: { 4416 - type: "params", 4417 - properties: { 4418 - handle: { 4419 - type: "string", 4420 - description: "The handle to resolve. If not supplied, will resolve the host's own handle." 4421 - } 4422 - } 4423 - }, 4424 - output: { 4425 - encoding: "application/json", 4426 - schema: { 4427 - type: "object", 4428 - required: ["did"], 4429 - properties: { 4430 - did: { 4431 - type: "string" 4432 - } 4433 - } 4434 - } 4435 - } 4436 - } 4437 - } 4438 - }, 4439 - ComAtprotoRepoBatchWrite: { 4440 - lexicon: 1, 4441 - id: "com.atproto.repo.batchWrite", 4442 - defs: { 4443 - main: { 4444 - type: "procedure", 4445 - description: "Apply a batch transaction of creates, puts, and deletes.", 4446 - input: { 4447 - encoding: "application/json", 4448 - schema: { 4449 - type: "object", 4450 - required: ["did", "writes"], 4451 - properties: { 4452 - did: { 4453 - type: "string", 4454 - description: "The DID of the repo." 4455 - }, 4456 - validate: { 4457 - type: "boolean", 4458 - default: true, 4459 - description: "Validate the records?" 4460 - }, 4461 - writes: { 4462 - type: "array", 4463 - items: { 4464 - type: "union", 4465 - refs: [ 4466 - "lex:com.atproto.repo.batchWrite#create", 4467 - "lex:com.atproto.repo.batchWrite#update", 4468 - "lex:com.atproto.repo.batchWrite#delete" 4469 - ], 4470 - closed: true 4471 - } 4472 - } 4473 - } 4474 - } 4475 - } 4476 - }, 4477 - create: { 4478 - type: "object", 4479 - required: ["action", "collection", "value"], 4480 - properties: { 4481 - action: { 4482 - type: "string", 4483 - const: "create" 4484 - }, 4485 - collection: { 4486 - type: "string" 4487 - }, 4488 - rkey: { 4489 - type: "string" 4490 - }, 4491 - value: { 4492 - type: "unknown" 4493 - } 4494 - } 4495 - }, 4496 - update: { 4497 - type: "object", 4498 - required: ["action", "collection", "rkey", "value"], 4499 - properties: { 4500 - action: { 4501 - type: "string", 4502 - const: "update" 4503 - }, 4504 - collection: { 4505 - type: "string" 4506 - }, 4507 - rkey: { 4508 - type: "string" 4509 - }, 4510 - value: { 4511 - type: "unknown" 4512 - } 4513 - } 4514 - }, 4515 - delete: { 4516 - type: "object", 4517 - required: ["action", "collection", "rkey"], 4518 - properties: { 4519 - action: { 4520 - type: "string", 4521 - const: "delete" 4522 - }, 4523 - collection: { 4524 - type: "string" 4525 - }, 4526 - rkey: { 4527 - type: "string" 4528 - } 4529 - } 4530 - } 4531 - } 4532 - }, 4533 - ComAtprotoRepoCreateRecord: { 4534 - lexicon: 1, 4535 - id: "com.atproto.repo.createRecord", 4536 - defs: { 4537 - main: { 4538 - type: "procedure", 4539 - description: "Create a new record.", 4540 - input: { 4541 - encoding: "application/json", 4542 - schema: { 4543 - type: "object", 4544 - required: ["did", "collection", "record"], 4545 - properties: { 4546 - did: { 4547 - type: "string", 4548 - description: "The DID of the repo." 4549 - }, 4550 - collection: { 4551 - type: "string", 4552 - description: "The NSID of the record collection." 4553 - }, 4554 - validate: { 4555 - type: "boolean", 4556 - default: true, 4557 - description: "Validate the record?" 4558 - }, 4559 - record: { 4560 - type: "unknown", 4561 - description: "The record to create." 4562 - } 4563 - } 4564 - } 4565 - }, 4566 - output: { 4567 - encoding: "application/json", 4568 - schema: { 4569 - type: "object", 4570 - required: ["uri", "cid"], 4571 - properties: { 4572 - uri: { 4573 - type: "string" 4574 - }, 4575 - cid: { 4576 - type: "string" 4577 - } 4578 - } 4579 - } 4580 - } 4581 - } 4582 - } 4583 - }, 4584 - ComAtprotoRepoDeleteRecord: { 4585 - lexicon: 1, 4586 - id: "com.atproto.repo.deleteRecord", 4587 - defs: { 4588 - main: { 4589 - type: "procedure", 4590 - description: "Delete a record.", 4591 - input: { 4592 - encoding: "application/json", 4593 - schema: { 4594 - type: "object", 4595 - required: ["did", "collection", "rkey"], 4596 - properties: { 4597 - did: { 4598 - type: "string", 4599 - description: "The DID of the repo." 4600 - }, 4601 - collection: { 4602 - type: "string", 4603 - description: "The NSID of the record collection." 4604 - }, 4605 - rkey: { 4606 - type: "string", 4607 - description: "The key of the record." 4608 - } 4609 - } 4610 - } 4611 - } 4612 - } 4613 - } 4614 - }, 4615 - ComAtprotoRepoDescribe: { 4616 - lexicon: 1, 4617 - id: "com.atproto.repo.describe", 4618 - defs: { 4619 - main: { 4620 - type: "query", 4621 - description: "Get information about the repo, including the list of collections.", 4622 - parameters: { 4623 - type: "params", 4624 - required: ["user"], 4625 - properties: { 4626 - user: { 4627 - type: "string", 4628 - description: "The handle or DID of the repo." 4629 - } 4630 - } 4631 - }, 4632 - output: { 4633 - encoding: "application/json", 4634 - schema: { 4635 - type: "object", 4636 - required: [ 4637 - "handle", 4638 - "did", 4639 - "didDoc", 4640 - "collections", 4641 - "handleIsCorrect" 4642 - ], 4643 - properties: { 4644 - handle: { 4645 - type: "string" 4646 - }, 4647 - did: { 4648 - type: "string" 4649 - }, 4650 - didDoc: { 4651 - type: "unknown" 4652 - }, 4653 - collections: { 4654 - type: "array", 4655 - items: { 4656 - type: "string" 4657 - } 4658 - }, 4659 - handleIsCorrect: { 4660 - type: "boolean" 4661 - } 4662 - } 4663 - } 4664 - } 4665 - } 4666 - } 4667 - }, 4668 - ComAtprotoRepoGetRecord: { 4669 - lexicon: 1, 4670 - id: "com.atproto.repo.getRecord", 4671 - defs: { 4672 - main: { 4673 - type: "query", 4674 - description: "Fetch a record.", 4675 - parameters: { 4676 - type: "params", 4677 - required: ["user", "collection", "rkey"], 4678 - properties: { 4679 - user: { 4680 - type: "string", 4681 - description: "The handle or DID of the repo." 4682 - }, 4683 - collection: { 4684 - type: "string", 4685 - description: "The NSID of the collection." 4686 - }, 4687 - rkey: { 4688 - type: "string", 4689 - description: "The key of the record." 4690 - }, 4691 - cid: { 4692 - type: "string", 4693 - description: "The CID of the version of the record. If not specified, then return the most recent version." 4694 - } 4695 - } 4696 - }, 4697 - output: { 4698 - encoding: "application/json", 4699 - schema: { 4700 - type: "object", 4701 - required: ["uri", "value"], 4702 - properties: { 4703 - uri: { 4704 - type: "string" 4705 - }, 4706 - cid: { 4707 - type: "string" 4708 - }, 4709 - value: { 4710 - type: "unknown" 4711 - } 4712 - } 4713 - } 4714 - } 4715 - } 4716 - } 4717 - }, 4718 - ComAtprotoRepoListRecords: { 4719 - lexicon: 1, 4720 - id: "com.atproto.repo.listRecords", 4721 - defs: { 4722 - main: { 4723 - type: "query", 4724 - description: "List a range of records in a collection.", 4725 - parameters: { 4726 - type: "params", 4727 - required: ["user", "collection"], 4728 - properties: { 4729 - user: { 4730 - type: "string", 4731 - description: "The handle or DID of the repo." 4732 - }, 4733 - collection: { 4734 - type: "string", 4735 - description: "The NSID of the record type." 4736 - }, 4737 - limit: { 4738 - type: "integer", 4739 - minimum: 1, 4740 - maximum: 100, 4741 - default: 50, 4742 - description: "The number of records to return." 4743 - }, 4744 - before: { 4745 - type: "string", 4746 - description: "A TID to filter the range of records returned." 4747 - }, 4748 - after: { 4749 - type: "string", 4750 - description: "A TID to filter the range of records returned." 4751 - }, 4752 - reverse: { 4753 - type: "boolean", 4754 - description: "Reverse the order of the returned records?" 4755 - } 4756 - } 4757 - }, 4758 - output: { 4759 - encoding: "application/json", 4760 - schema: { 4761 - type: "object", 4762 - required: ["records"], 4763 - properties: { 4764 - cursor: { 4765 - type: "string" 4766 - }, 4767 - records: { 4768 - type: "array", 4769 - items: { 4770 - type: "ref", 4771 - ref: "lex:com.atproto.repo.listRecords#record" 4772 - } 4773 - } 4774 - } 4775 - } 4776 - } 4777 - }, 4778 - record: { 4779 - type: "object", 4780 - required: ["uri", "cid", "value"], 4781 - properties: { 4782 - uri: { 4783 - type: "string" 4784 - }, 4785 - cid: { 4786 - type: "string" 4787 - }, 4788 - value: { 4789 - type: "unknown" 4790 - } 4791 - } 4792 - } 4793 - } 4794 - }, 4795 - ComAtprotoRepoPutRecord: { 4796 - lexicon: 1, 4797 - id: "com.atproto.repo.putRecord", 4798 - defs: { 4799 - main: { 4800 - type: "procedure", 4801 - description: "Write a record.", 4802 - input: { 4803 - encoding: "application/json", 4804 - schema: { 4805 - type: "object", 4806 - required: ["did", "collection", "rkey", "record"], 4807 - properties: { 4808 - did: { 4809 - type: "string", 4810 - description: "The DID of the repo." 4811 - }, 4812 - collection: { 4813 - type: "string", 4814 - description: "The NSID of the record type." 4815 - }, 4816 - rkey: { 4817 - type: "string", 4818 - description: "The TID of the record." 4819 - }, 4820 - validate: { 4821 - type: "boolean", 4822 - default: true, 4823 - description: "Validate the record?" 4824 - }, 4825 - record: { 4826 - type: "unknown", 4827 - description: "The record to create." 4828 - } 4829 - } 4830 - } 4831 - }, 4832 - output: { 4833 - encoding: "application/json", 4834 - schema: { 4835 - type: "object", 4836 - required: ["uri", "cid"], 4837 - properties: { 4838 - uri: { 4839 - type: "string" 4840 - }, 4841 - cid: { 4842 - type: "string" 4843 - } 4844 - } 4845 - } 4846 - } 4847 - } 4848 - } 4849 - }, 4850 - ComAtprotoRepoStrongRef: { 4851 - lexicon: 1, 4852 - id: "com.atproto.repo.strongRef", 4853 - description: "A URI with a content-hash fingerprint.", 4854 - defs: { 4855 - main: { 4856 - type: "object", 4857 - required: ["uri", "cid"], 4858 - properties: { 4859 - uri: { 4860 - type: "string" 4861 - }, 4862 - cid: { 4863 - type: "string" 4864 - } 4865 - } 4866 - } 4867 - } 4868 - }, 4869 - ComAtprotoServerGetAccountsConfig: { 4870 - lexicon: 1, 4871 - id: "com.atproto.server.getAccountsConfig", 4872 - defs: { 4873 - main: { 4874 - type: "query", 4875 - description: "Get a document describing the service's accounts configuration.", 4876 - output: { 4877 - encoding: "application/json", 4878 - schema: { 4879 - type: "object", 4880 - required: ["availableUserDomains"], 4881 - properties: { 4882 - inviteCodeRequired: { 4883 - type: "boolean" 4884 - }, 4885 - availableUserDomains: { 4886 - type: "array", 4887 - items: { 4888 - type: "string" 4889 - } 4890 - }, 4891 - links: { 4892 - type: "ref", 4893 - ref: "lex:com.atproto.server.getAccountsConfig#links" 4894 - } 4895 - } 4896 - } 4897 - } 4898 - }, 4899 - links: { 4900 - type: "object", 4901 - properties: { 4902 - privacyPolicy: { 4903 - type: "string" 4904 - }, 4905 - termsOfService: { 4906 - type: "string" 4907 - } 4908 - } 4909 - } 4910 - } 4911 - }, 4912 - ComAtprotoSessionCreate: { 4913 - lexicon: 1, 4914 - id: "com.atproto.session.create", 4915 - defs: { 4916 - main: { 4917 - type: "procedure", 4918 - description: "Create an authentication session.", 4919 - input: { 4920 - encoding: "application/json", 4921 - schema: { 4922 - type: "object", 4923 - required: ["handle", "password"], 4924 - properties: { 4925 - handle: { 4926 - type: "string" 4927 - }, 4928 - password: { 4929 - type: "string" 4930 - } 4931 - } 4932 - } 4933 - }, 4934 - output: { 4935 - encoding: "application/json", 4936 - schema: { 4937 - type: "object", 4938 - required: ["accessJwt", "refreshJwt", "handle", "did"], 4939 - properties: { 4940 - accessJwt: { 4941 - type: "string" 4942 - }, 4943 - refreshJwt: { 4944 - type: "string" 4945 - }, 4946 - handle: { 4947 - type: "string" 4948 - }, 4949 - did: { 4950 - type: "string" 4951 - } 4952 - } 4953 - } 4954 - } 4955 - } 4956 - } 4957 - }, 4958 - ComAtprotoSessionDelete: { 4959 - lexicon: 1, 4960 - id: "com.atproto.session.delete", 4961 - defs: { 4962 - main: { 4963 - type: "procedure", 4964 - description: "Delete the current session." 4965 - } 4966 - } 4967 - }, 4968 - ComAtprotoSessionGet: { 4969 - lexicon: 1, 4970 - id: "com.atproto.session.get", 4971 - defs: { 4972 - main: { 4973 - type: "query", 4974 - description: "Get information about the current session.", 4975 - output: { 4976 - encoding: "application/json", 4977 - schema: { 4978 - type: "object", 4979 - required: ["handle", "did"], 4980 - properties: { 4981 - handle: { 4982 - type: "string" 4983 - }, 4984 - did: { 4985 - type: "string" 4986 - } 4987 - } 4988 - } 4989 - } 4990 - } 4991 - } 4992 - }, 4993 - ComAtprotoSessionRefresh: { 4994 - lexicon: 1, 4995 - id: "com.atproto.session.refresh", 4996 - defs: { 4997 - main: { 4998 - type: "procedure", 4999 - description: "Refresh an authentication session.", 5000 - output: { 5001 - encoding: "application/json", 5002 - schema: { 5003 - type: "object", 5004 - required: ["accessJwt", "refreshJwt", "handle", "did"], 5005 - properties: { 5006 - accessJwt: { 5007 - type: "string" 5008 - }, 5009 - refreshJwt: { 5010 - type: "string" 5011 - }, 5012 - handle: { 5013 - type: "string" 5014 - }, 5015 - did: { 5016 - type: "string" 5017 - } 5018 - } 5019 - } 5020 - } 5021 - } 5022 - } 5023 - }, 5024 - ComAtprotoSyncGetRepo: { 5025 - lexicon: 1, 5026 - id: "com.atproto.sync.getRepo", 5027 - defs: { 5028 - main: { 5029 - type: "query", 5030 - description: "Gets the repo state.", 5031 - parameters: { 5032 - type: "params", 5033 - required: ["did"], 5034 - properties: { 5035 - did: { 5036 - type: "string", 5037 - description: "The DID of the repo." 5038 - }, 5039 - from: { 5040 - type: "string", 5041 - description: "A past commit CID." 5042 - } 5043 - } 5044 - }, 5045 - output: { 5046 - encoding: "application/cbor" 5047 - } 5048 - } 5049 - } 5050 - }, 5051 - ComAtprotoSyncGetRoot: { 5052 - lexicon: 1, 5053 - id: "com.atproto.sync.getRoot", 5054 - defs: { 5055 - main: { 5056 - type: "query", 5057 - description: "Gets the current root CID of a repo.", 5058 - parameters: { 5059 - type: "params", 5060 - required: ["did"], 5061 - properties: { 5062 - did: { 5063 - type: "string", 5064 - description: "The DID of the repo." 5065 - } 5066 - } 5067 - }, 5068 - output: { 5069 - encoding: "application/json", 5070 - schema: { 5071 - type: "object", 5072 - required: ["root"], 5073 - properties: { 5074 - root: { 5075 - type: "string" 5076 - } 5077 - } 5078 - } 5079 - } 5080 - } 5081 - } 5082 - }, 5083 - ComAtprotoSyncUpdateRepo: { 5084 - lexicon: 1, 5085 - id: "com.atproto.sync.updateRepo", 5086 - defs: { 5087 - main: { 5088 - type: "procedure", 5089 - description: "Writes commits to a repo.", 5090 - parameters: { 5091 - type: "params", 5092 - required: ["did"], 5093 - properties: { 5094 - did: { 5095 - type: "string", 5096 - description: "The DID of the repo." 5097 - } 5098 - } 5099 - }, 5100 - input: { 5101 - encoding: "application/cbor" 5102 - } 5103 - } 5104 - } 5105 - }, 5106 - AppBskyActorCreateScene: { 5107 - lexicon: 1, 5108 - id: "app.bsky.actor.createScene", 5109 - defs: { 5110 - main: { 5111 - type: "procedure", 5112 - description: "Create a scene.", 5113 - input: { 5114 - encoding: "application/json", 5115 - schema: { 5116 - type: "object", 5117 - required: ["handle"], 5118 - properties: { 5119 - handle: { 5120 - type: "string" 5121 - }, 5122 - recoveryKey: { 5123 - type: "string" 5124 - } 5125 - } 5126 - } 5127 - }, 5128 - output: { 5129 - encoding: "application/json", 5130 - schema: { 5131 - type: "object", 5132 - required: ["handle", "did", "declaration"], 5133 - properties: { 5134 - handle: { 5135 - type: "string" 5136 - }, 5137 - did: { 5138 - type: "string" 5139 - }, 5140 - declaration: { 5141 - type: "ref", 5142 - ref: "lex:app.bsky.system.declRef" 5143 - } 5144 - } 5145 - } 5146 - }, 5147 - errors: [ 5148 - { 5149 - name: "InvalidHandle" 5150 - }, 5151 - { 5152 - name: "HandleNotAvailable" 5153 - } 5154 - ] 5155 - } 5156 - } 5157 - }, 5158 - AppBskyActorGetProfile: { 5159 - lexicon: 1, 5160 - id: "app.bsky.actor.getProfile", 5161 - defs: { 5162 - main: { 5163 - type: "query", 5164 - parameters: { 5165 - type: "params", 5166 - required: ["actor"], 5167 - properties: { 5168 - actor: { 5169 - type: "string" 5170 - } 5171 - } 5172 - }, 5173 - output: { 5174 - encoding: "application/json", 5175 - schema: { 5176 - type: "object", 5177 - required: [ 5178 - "did", 5179 - "declaration", 5180 - "handle", 5181 - "creator", 5182 - "followersCount", 5183 - "followsCount", 5184 - "membersCount", 5185 - "postsCount" 5186 - ], 5187 - properties: { 5188 - did: { 5189 - type: "string" 5190 - }, 5191 - declaration: { 5192 - type: "ref", 5193 - ref: "lex:app.bsky.system.declRef" 5194 - }, 5195 - handle: { 5196 - type: "string" 5197 - }, 5198 - creator: { 5199 - type: "string" 5200 - }, 5201 - displayName: { 5202 - type: "string", 5203 - maxLength: 64 5204 - }, 5205 - description: { 5206 - type: "string", 5207 - maxLength: 256 5208 - }, 5209 - avatar: { 5210 - type: "string" 5211 - }, 5212 - banner: { 5213 - type: "string" 5214 - }, 5215 - followersCount: { 5216 - type: "integer" 5217 - }, 5218 - followsCount: { 5219 - type: "integer" 5220 - }, 5221 - membersCount: { 5222 - type: "integer" 5223 - }, 5224 - postsCount: { 5225 - type: "integer" 5226 - }, 5227 - myState: { 5228 - type: "ref", 5229 - ref: "lex:app.bsky.actor.getProfile#myState" 5230 - } 5231 - } 5232 - } 5233 - } 5234 - }, 5235 - myState: { 5236 - type: "object", 5237 - properties: { 5238 - follow: { 5239 - type: "string" 5240 - }, 5241 - member: { 5242 - type: "string" 5243 - } 5244 - } 5245 - } 5246 - } 5247 - }, 5248 - AppBskyActorGetSuggestions: { 5249 - lexicon: 1, 5250 - id: "app.bsky.actor.getSuggestions", 5251 - defs: { 5252 - main: { 5253 - type: "query", 5254 - description: "Get a list of actors suggested for following. Used in discovery UIs.", 5255 - parameters: { 5256 - type: "params", 5257 - properties: { 5258 - limit: { 5259 - type: "integer", 5260 - minimum: 1, 5261 - maximum: 100, 5262 - default: 50 5263 - }, 5264 - cursor: { 5265 - type: "string" 5266 - } 5267 - } 5268 - }, 5269 - output: { 5270 - encoding: "application/json", 5271 - schema: { 5272 - type: "object", 5273 - required: ["actors"], 5274 - properties: { 5275 - cursor: { 5276 - type: "string" 5277 - }, 5278 - actors: { 5279 - type: "array", 5280 - items: { 5281 - type: "ref", 5282 - ref: "lex:app.bsky.actor.getSuggestions#actor" 5283 - } 5284 - } 5285 - } 5286 - } 5287 - } 5288 - }, 5289 - actor: { 5290 - type: "object", 5291 - required: ["did", "declaration", "handle"], 5292 - properties: { 5293 - did: { 5294 - type: "string" 5295 - }, 5296 - declaration: { 5297 - type: "ref", 5298 - ref: "lex:app.bsky.system.declRef" 5299 - }, 5300 - handle: { 5301 - type: "string" 5302 - }, 5303 - displayName: { 5304 - type: "string", 5305 - maxLength: 64 5306 - }, 5307 - description: { 5308 - type: "string" 5309 - }, 5310 - avatar: { 5311 - type: "string" 5312 - }, 5313 - indexedAt: { 5314 - type: "datetime" 5315 - }, 5316 - myState: { 5317 - type: "ref", 5318 - ref: "lex:app.bsky.actor.getSuggestions#myState" 5319 - } 5320 - } 5321 - }, 5322 - myState: { 5323 - type: "object", 5324 - properties: { 5325 - follow: { 5326 - type: "string" 5327 - } 5328 - } 5329 - } 5330 - } 5331 - }, 5332 - AppBskyActorProfile: { 5333 - lexicon: 1, 5334 - id: "app.bsky.actor.profile", 5335 - defs: { 5336 - main: { 5337 - type: "record", 5338 - key: "literal:self", 5339 - record: { 5340 - type: "object", 5341 - required: ["displayName"], 5342 - properties: { 5343 - displayName: { 5344 - type: "string", 5345 - maxLength: 64 5346 - }, 5347 - description: { 5348 - type: "string", 5349 - maxLength: 256 5350 - }, 5351 - avatar: { 5352 - type: "image", 5353 - accept: ["image/png", "image/jpeg"], 5354 - maxWidth: 500, 5355 - maxHeight: 500, 5356 - maxSize: 3e5 5357 - }, 5358 - banner: { 5359 - type: "image", 5360 - accept: ["image/png", "image/jpeg"], 5361 - maxWidth: 1500, 5362 - maxHeight: 500, 5363 - maxSize: 5e5 5364 - } 5365 - } 5366 - } 5367 - } 5368 - } 5369 - }, 5370 - AppBskyActorRef: { 5371 - lexicon: 1, 5372 - id: "app.bsky.actor.ref", 5373 - description: "A reference to an actor in the network.", 5374 - defs: { 5375 - main: { 5376 - type: "object", 5377 - required: ["did", "declarationCid"], 5378 - properties: { 5379 - did: { 5380 - type: "string" 5381 - }, 5382 - declarationCid: { 5383 - type: "string" 5384 - } 5385 - } 5386 - }, 5387 - withInfo: { 5388 - type: "object", 5389 - required: ["did", "declaration", "handle"], 5390 - properties: { 5391 - did: { 5392 - type: "string" 5393 - }, 5394 - declaration: { 5395 - type: "ref", 5396 - ref: "lex:app.bsky.system.declRef" 5397 - }, 5398 - handle: { 5399 - type: "string" 5400 - }, 5401 - displayName: { 5402 - type: "string", 5403 - maxLength: 64 5404 - }, 5405 - avatar: { 5406 - type: "string" 5407 - } 5408 - } 5409 - } 5410 - } 5411 - }, 5412 - AppBskyActorSearch: { 5413 - lexicon: 1, 5414 - id: "app.bsky.actor.search", 5415 - defs: { 5416 - main: { 5417 - type: "query", 5418 - description: "Find users matching search criteria.", 5419 - parameters: { 5420 - type: "params", 5421 - required: ["term"], 5422 - properties: { 5423 - term: { 5424 - type: "string" 5425 - }, 5426 - limit: { 5427 - type: "integer", 5428 - minimum: 1, 5429 - maximum: 100, 5430 - default: 50 5431 - }, 5432 - before: { 5433 - type: "string" 5434 - } 5435 - } 5436 - }, 5437 - output: { 5438 - encoding: "application/json", 5439 - schema: { 5440 - type: "object", 5441 - required: ["users"], 5442 - properties: { 5443 - cursor: { 5444 - type: "string" 5445 - }, 5446 - users: { 5447 - type: "array", 5448 - items: { 5449 - type: "ref", 5450 - ref: "lex:app.bsky.actor.search#user" 5451 - } 5452 - } 5453 - } 5454 - } 5455 - } 5456 - }, 5457 - user: { 5458 - type: "object", 5459 - required: ["did", "declaration", "handle"], 5460 - properties: { 5461 - did: { 5462 - type: "string" 5463 - }, 5464 - declaration: { 5465 - type: "ref", 5466 - ref: "lex:app.bsky.system.declRef" 5467 - }, 5468 - handle: { 5469 - type: "string" 5470 - }, 5471 - displayName: { 5472 - type: "string", 5473 - maxLength: 64 5474 - }, 5475 - avatar: { 5476 - type: "string" 5477 - }, 5478 - description: { 5479 - type: "string" 5480 - }, 5481 - indexedAt: { 5482 - type: "datetime" 5483 - } 5484 - } 5485 - } 5486 - } 5487 - }, 5488 - AppBskyActorSearchTypeahead: { 5489 - lexicon: 1, 5490 - id: "app.bsky.actor.searchTypeahead", 5491 - defs: { 5492 - main: { 5493 - type: "query", 5494 - description: "Find user suggestions for a search term.", 5495 - parameters: { 5496 - type: "params", 5497 - required: ["term"], 5498 - properties: { 5499 - term: { 5500 - type: "string" 5501 - }, 5502 - limit: { 5503 - type: "integer", 5504 - minimum: 1, 5505 - maximum: 100, 5506 - default: 50 5507 - } 5508 - } 5509 - }, 5510 - output: { 5511 - encoding: "application/json", 5512 - schema: { 5513 - type: "object", 5514 - required: ["users"], 5515 - properties: { 5516 - users: { 5517 - type: "array", 5518 - items: { 5519 - type: "ref", 5520 - ref: "lex:app.bsky.actor.searchTypeahead#user" 5521 - } 5522 - } 5523 - } 5524 - } 5525 - } 5526 - }, 5527 - user: { 5528 - type: "object", 5529 - required: ["did", "declaration", "handle"], 5530 - properties: { 5531 - did: { 5532 - type: "string" 5533 - }, 5534 - declaration: { 5535 - type: "ref", 5536 - ref: "lex:app.bsky.system.declRef" 5537 - }, 5538 - handle: { 5539 - type: "string" 5540 - }, 5541 - displayName: { 5542 - type: "string", 5543 - maxLength: 64 5544 - }, 5545 - avatar: { 5546 - type: "string" 5547 - } 5548 - } 5549 - } 5550 - } 5551 - }, 5552 - AppBskyActorUpdateProfile: { 5553 - lexicon: 1, 5554 - id: "app.bsky.actor.updateProfile", 5555 - defs: { 5556 - main: { 5557 - type: "procedure", 5558 - description: "Notify server that the user has seen notifications.", 5559 - input: { 5560 - encoding: "application/json", 5561 - schema: { 5562 - type: "object", 5563 - properties: { 5564 - did: { 5565 - type: "string" 5566 - }, 5567 - displayName: { 5568 - type: "string", 5569 - maxLength: 64 5570 - }, 5571 - description: { 5572 - type: "string", 5573 - maxLength: 256 5574 - }, 5575 - avatar: { 5576 - type: "image", 5577 - accept: ["image/png", "image/jpeg"], 5578 - maxWidth: 500, 5579 - maxHeight: 500, 5580 - maxSize: 1e5 5581 - }, 5582 - banner: { 5583 - type: "image", 5584 - accept: ["image/png", "image/jpeg"], 5585 - maxWidth: 1500, 5586 - maxHeight: 500, 5587 - maxSize: 5e5 5588 - } 5589 - } 5590 - } 5591 - }, 5592 - output: { 5593 - encoding: "application/json", 5594 - schema: { 5595 - type: "object", 5596 - required: ["uri", "cid", "record"], 5597 - properties: { 5598 - uri: { 5599 - type: "string" 5600 - }, 5601 - cid: { 5602 - type: "string" 5603 - }, 5604 - record: { 5605 - type: "unknown" 5606 - } 5607 - } 5608 - } 5609 - }, 5610 - errors: [ 5611 - { 5612 - name: "InvalidBlob" 5613 - }, 5614 - { 5615 - name: "BlobTooLarge" 5616 - }, 5617 - { 5618 - name: "InvalidMimeType" 5619 - }, 5620 - { 5621 - name: "InvalidImageDimensions" 5622 - } 5623 - ] 5624 - } 5625 - } 5626 - }, 5627 - AppBskyEmbedExternal: { 5628 - lexicon: 1, 5629 - id: "app.bsky.embed.external", 5630 - description: "An representation of some externally linked content, embedded in another form of content", 5631 - defs: { 5632 - main: { 5633 - type: "object", 5634 - required: ["external"], 5635 - properties: { 5636 - external: { 5637 - type: "ref", 5638 - ref: "lex:app.bsky.embed.external#external" 5639 - } 5640 - } 5641 - }, 5642 - external: { 5643 - type: "object", 5644 - required: ["uri", "title", "description"], 5645 - properties: { 5646 - uri: { 5647 - type: "string" 5648 - }, 5649 - title: { 5650 - type: "string" 5651 - }, 5652 - description: { 5653 - type: "string" 5654 - }, 5655 - thumb: { 5656 - type: "image", 5657 - accept: ["image/*"], 5658 - maxWidth: 250, 5659 - maxHeight: 250, 5660 - maxSize: 1e5 5661 - } 5662 - } 5663 - }, 5664 - presented: { 5665 - type: "object", 5666 - required: ["external"], 5667 - properties: { 5668 - external: { 5669 - type: "ref", 5670 - ref: "lex:app.bsky.embed.external#presentedExternal" 5671 - } 5672 - } 5673 - }, 5674 - presentedExternal: { 5675 - type: "object", 5676 - required: ["uri", "title", "description"], 5677 - properties: { 5678 - uri: { 5679 - type: "string" 5680 - }, 5681 - title: { 5682 - type: "string" 5683 - }, 5684 - description: { 5685 - type: "string" 5686 - }, 5687 - thumb: { 5688 - type: "string" 5689 - } 5690 - } 5691 - } 5692 - } 5693 - }, 5694 - AppBskyEmbedImages: { 5695 - lexicon: 1, 5696 - id: "app.bsky.embed.images", 5697 - description: "A set of images embedded in some other form of content", 5698 - defs: { 5699 - main: { 5700 - type: "object", 5701 - required: ["images"], 5702 - properties: { 5703 - images: { 5704 - type: "array", 5705 - items: { 5706 - type: "ref", 5707 - ref: "lex:app.bsky.embed.images#image" 5708 - }, 5709 - maxLength: 4 5710 - } 5711 - } 5712 - }, 5713 - image: { 5714 - type: "object", 5715 - required: ["image", "alt"], 5716 - properties: { 5717 - image: { 5718 - type: "image", 5719 - accept: ["image/*"], 5720 - maxWidth: 500, 5721 - maxHeight: 500, 5722 - maxSize: 3e5 5723 - }, 5724 - alt: { 5725 - type: "string" 5726 - } 5727 - } 5728 - }, 5729 - presented: { 5730 - type: "object", 5731 - required: ["images"], 5732 - properties: { 5733 - images: { 5734 - type: "array", 5735 - items: { 5736 - type: "ref", 5737 - ref: "lex:app.bsky.embed.images#presentedImage" 5738 - }, 5739 - maxLength: 4 5740 - } 5741 - } 5742 - }, 5743 - presentedImage: { 5744 - type: "object", 5745 - required: ["thumb", "fullsize", "alt"], 5746 - properties: { 5747 - thumb: { 5748 - type: "string" 5749 - }, 5750 - fullsize: { 5751 - type: "string" 5752 - }, 5753 - alt: { 5754 - type: "string" 5755 - } 5756 - } 5757 - } 5758 - } 5759 - }, 5760 - AppBskyFeedFeedViewPost: { 5761 - lexicon: 1, 5762 - id: "app.bsky.feed.feedViewPost", 5763 - defs: { 5764 - main: { 5765 - type: "object", 5766 - required: ["post"], 5767 - properties: { 5768 - post: { 5769 - type: "ref", 5770 - ref: "lex:app.bsky.feed.post#view" 5771 - }, 5772 - reply: { 5773 - type: "ref", 5774 - ref: "lex:app.bsky.feed.feedViewPost#replyRef" 5775 - }, 5776 - reason: { 5777 - type: "union", 5778 - refs: [ 5779 - "lex:app.bsky.feed.feedViewPost#reasonTrend", 5780 - "lex:app.bsky.feed.feedViewPost#reasonRepost" 5781 - ] 5782 - } 5783 - } 5784 - }, 5785 - replyRef: { 5786 - type: "object", 5787 - required: ["root", "parent"], 5788 - properties: { 5789 - root: { 5790 - type: "ref", 5791 - ref: "lex:app.bsky.feed.post#view" 5792 - }, 5793 - parent: { 5794 - type: "ref", 5795 - ref: "lex:app.bsky.feed.post#view" 5796 - } 5797 - } 5798 - }, 5799 - reasonTrend: { 5800 - type: "object", 5801 - required: ["by", "indexedAt"], 5802 - properties: { 5803 - by: { 5804 - type: "ref", 5805 - ref: "lex:app.bsky.actor.ref#withInfo" 5806 - }, 5807 - indexedAt: { 5808 - type: "datetime" 5809 - } 5810 - } 5811 - }, 5812 - reasonRepost: { 5813 - type: "object", 5814 - required: ["by", "indexedAt"], 5815 - properties: { 5816 - by: { 5817 - type: "ref", 5818 - ref: "lex:app.bsky.actor.ref#withInfo" 5819 - }, 5820 - indexedAt: { 5821 - type: "datetime" 5822 - } 5823 - } 5824 - } 5825 - } 5826 - }, 5827 - AppBskyFeedGetAuthorFeed: { 5828 - lexicon: 1, 5829 - id: "app.bsky.feed.getAuthorFeed", 5830 - defs: { 5831 - main: { 5832 - type: "query", 5833 - description: "A view of a user's feed.", 5834 - parameters: { 5835 - type: "params", 5836 - required: ["author"], 5837 - properties: { 5838 - author: { 5839 - type: "string" 5840 - }, 5841 - limit: { 5842 - type: "integer", 5843 - minimum: 1, 5844 - maximum: 100, 5845 - default: 50 5846 - }, 5847 - before: { 5848 - type: "string" 5849 - } 5850 - } 5851 - }, 5852 - output: { 5853 - encoding: "application/json", 5854 - schema: { 5855 - type: "object", 5856 - required: ["feed"], 5857 - properties: { 5858 - cursor: { 5859 - type: "string" 5860 - }, 5861 - feed: { 5862 - type: "array", 5863 - items: { 5864 - type: "ref", 5865 - ref: "lex:app.bsky.feed.feedViewPost" 5866 - } 5867 - } 5868 - } 5869 - } 5870 - } 5871 - } 5872 - } 5873 - }, 5874 - AppBskyFeedGetPostThread: { 5875 - lexicon: 1, 5876 - id: "app.bsky.feed.getPostThread", 5877 - defs: { 5878 - main: { 5879 - type: "query", 5880 - parameters: { 5881 - type: "params", 5882 - required: ["uri"], 5883 - properties: { 5884 - uri: { 5885 - type: "string" 5886 - }, 5887 - depth: { 5888 - type: "integer" 5889 - } 5890 - } 5891 - }, 5892 - output: { 5893 - encoding: "application/json", 5894 - schema: { 5895 - type: "object", 5896 - required: ["thread"], 5897 - properties: { 5898 - thread: { 5899 - type: "union", 5900 - refs: [ 5901 - "lex:app.bsky.feed.getPostThread#threadViewPost", 5902 - "lex:app.bsky.feed.getPostThread#notFoundPost" 5903 - ] 5904 - } 5905 - } 5906 - } 5907 - }, 5908 - errors: [ 5909 - { 5910 - name: "NotFound" 5911 - } 5912 - ] 5913 - }, 5914 - threadViewPost: { 5915 - type: "object", 5916 - required: ["post"], 5917 - properties: { 5918 - post: { 5919 - type: "ref", 5920 - ref: "lex:app.bsky.feed.post#view" 5921 - }, 5922 - parent: { 5923 - type: "union", 5924 - refs: [ 5925 - "lex:app.bsky.feed.getPostThread#threadViewPost", 5926 - "lex:app.bsky.feed.getPostThread#notFoundPost" 5927 - ] 5928 - }, 5929 - replies: { 5930 - type: "array", 5931 - items: { 5932 - type: "union", 5933 - refs: [ 5934 - "lex:app.bsky.feed.getPostThread#threadViewPost", 5935 - "lex:app.bsky.feed.getPostThread#notFoundPost" 5936 - ] 5937 - } 5938 - } 5939 - } 5940 - }, 5941 - notFoundPost: { 5942 - type: "object", 5943 - required: ["uri", "notFound"], 5944 - properties: { 5945 - uri: { 5946 - type: "string" 5947 - }, 5948 - notFound: { 5949 - type: "boolean", 5950 - const: true 5951 - } 5952 - } 5953 - } 5954 - } 5955 - }, 5956 - AppBskyFeedGetRepostedBy: { 5957 - lexicon: 1, 5958 - id: "app.bsky.feed.getRepostedBy", 5959 - defs: { 5960 - main: { 5961 - type: "query", 5962 - parameters: { 5963 - type: "params", 5964 - required: ["uri"], 5965 - properties: { 5966 - uri: { 5967 - type: "string" 5968 - }, 5969 - cid: { 5970 - type: "string" 5971 - }, 5972 - limit: { 5973 - type: "integer", 5974 - minimum: 1, 5975 - maximum: 100, 5976 - default: 50 5977 - }, 5978 - before: { 5979 - type: "string" 5980 - } 5981 - } 5982 - }, 5983 - output: { 5984 - encoding: "application/json", 5985 - schema: { 5986 - type: "object", 5987 - required: ["uri", "repostedBy"], 5988 - properties: { 5989 - uri: { 5990 - type: "string" 5991 - }, 5992 - cid: { 5993 - type: "string" 5994 - }, 5995 - cursor: { 5996 - type: "string" 5997 - }, 5998 - repostedBy: { 5999 - type: "array", 6000 - items: { 6001 - type: "ref", 6002 - ref: "lex:app.bsky.feed.getRepostedBy#repostedBy" 6003 - } 6004 - } 6005 - } 6006 - } 6007 - } 6008 - }, 6009 - repostedBy: { 6010 - type: "object", 6011 - required: ["did", "declaration", "handle", "indexedAt"], 6012 - properties: { 6013 - did: { 6014 - type: "string" 6015 - }, 6016 - declaration: { 6017 - type: "ref", 6018 - ref: "lex:app.bsky.system.declRef" 6019 - }, 6020 - handle: { 6021 - type: "string" 6022 - }, 6023 - displayName: { 6024 - type: "string", 6025 - maxLength: 64 6026 - }, 6027 - avatar: { 6028 - type: "string" 6029 - }, 6030 - createdAt: { 6031 - type: "datetime" 6032 - }, 6033 - indexedAt: { 6034 - type: "datetime" 6035 - } 6036 - } 6037 - } 6038 - } 6039 - }, 6040 - AppBskyFeedGetTimeline: { 6041 - lexicon: 1, 6042 - id: "app.bsky.feed.getTimeline", 6043 - defs: { 6044 - main: { 6045 - type: "query", 6046 - description: "A view of the user's home timeline.", 6047 - parameters: { 6048 - type: "params", 6049 - properties: { 6050 - algorithm: { 6051 - type: "string" 6052 - }, 6053 - limit: { 6054 - type: "integer", 6055 - minimum: 1, 6056 - maximum: 100, 6057 - default: 50 6058 - }, 6059 - before: { 6060 - type: "string" 6061 - } 6062 - } 6063 - }, 6064 - output: { 6065 - encoding: "application/json", 6066 - schema: { 6067 - type: "object", 6068 - required: ["feed"], 6069 - properties: { 6070 - cursor: { 6071 - type: "string" 6072 - }, 6073 - feed: { 6074 - type: "array", 6075 - items: { 6076 - type: "ref", 6077 - ref: "lex:app.bsky.feed.feedViewPost" 6078 - } 6079 - } 6080 - } 6081 - } 6082 - } 6083 - } 6084 - } 6085 - }, 6086 - AppBskyFeedGetVotes: { 6087 - lexicon: 1, 6088 - id: "app.bsky.feed.getVotes", 6089 - defs: { 6090 - main: { 6091 - type: "query", 6092 - parameters: { 6093 - type: "params", 6094 - required: ["uri"], 6095 - properties: { 6096 - uri: { 6097 - type: "string" 6098 - }, 6099 - cid: { 6100 - type: "string" 6101 - }, 6102 - direction: { 6103 - type: "string", 6104 - enum: ["up", "down"] 6105 - }, 6106 - limit: { 6107 - type: "integer", 6108 - minimum: 1, 6109 - maximum: 100, 6110 - default: 50 6111 - }, 6112 - before: { 6113 - type: "string" 6114 - } 6115 - } 6116 - }, 6117 - output: { 6118 - encoding: "application/json", 6119 - schema: { 6120 - type: "object", 6121 - required: ["uri", "votes"], 6122 - properties: { 6123 - uri: { 6124 - type: "string" 6125 - }, 6126 - cid: { 6127 - type: "string" 6128 - }, 6129 - cursor: { 6130 - type: "string" 6131 - }, 6132 - votes: { 6133 - type: "array", 6134 - items: { 6135 - type: "ref", 6136 - ref: "lex:app.bsky.feed.getVotes#vote" 6137 - } 6138 - } 6139 - } 6140 - } 6141 - } 6142 - }, 6143 - vote: { 6144 - type: "object", 6145 - required: ["direction", "indexedAt", "createdAt", "actor"], 6146 - properties: { 6147 - direction: { 6148 - type: "string", 6149 - enum: ["up", "down"] 6150 - }, 6151 - indexedAt: { 6152 - type: "datetime" 6153 - }, 6154 - createdAt: { 6155 - type: "datetime" 6156 - }, 6157 - actor: { 6158 - type: "ref", 6159 - ref: "lex:app.bsky.actor.ref#withInfo" 6160 - } 6161 - } 6162 - } 6163 - } 6164 - }, 6165 - AppBskyFeedPost: { 6166 - lexicon: 1, 6167 - id: "app.bsky.feed.post", 6168 - defs: { 6169 - main: { 6170 - type: "record", 6171 - key: "tid", 6172 - record: { 6173 - type: "object", 6174 - required: ["text", "createdAt"], 6175 - properties: { 6176 - text: { 6177 - type: "string", 6178 - maxLength: 256 6179 - }, 6180 - entities: { 6181 - type: "array", 6182 - items: { 6183 - type: "ref", 6184 - ref: "lex:app.bsky.feed.post#entity" 6185 - } 6186 - }, 6187 - reply: { 6188 - type: "ref", 6189 - ref: "lex:app.bsky.feed.post#replyRef" 6190 - }, 6191 - embed: { 6192 - type: "union", 6193 - refs: [ 6194 - "lex:app.bsky.embed.images", 6195 - "lex:app.bsky.embed.external" 6196 - ] 6197 - }, 6198 - createdAt: { 6199 - type: "datetime" 6200 - } 6201 - } 6202 - } 6203 - }, 6204 - replyRef: { 6205 - type: "object", 6206 - required: ["root", "parent"], 6207 - properties: { 6208 - root: { 6209 - type: "ref", 6210 - ref: "lex:com.atproto.repo.strongRef" 6211 - }, 6212 - parent: { 6213 - type: "ref", 6214 - ref: "lex:com.atproto.repo.strongRef" 6215 - } 6216 - } 6217 - }, 6218 - entity: { 6219 - type: "object", 6220 - required: ["index", "type", "value"], 6221 - properties: { 6222 - index: { 6223 - type: "ref", 6224 - ref: "lex:app.bsky.feed.post#textSlice" 6225 - }, 6226 - type: { 6227 - type: "string", 6228 - description: "Expected values are 'mention', 'hashtag', and 'link'." 6229 - }, 6230 - value: { 6231 - type: "string" 6232 - } 6233 - } 6234 - }, 6235 - textSlice: { 6236 - type: "object", 6237 - required: ["start", "end"], 6238 - properties: { 6239 - start: { 6240 - type: "integer", 6241 - minimum: 0 6242 - }, 6243 - end: { 6244 - type: "integer", 6245 - minimum: 0 6246 - } 6247 - } 6248 - }, 6249 - view: { 6250 - type: "object", 6251 - required: [ 6252 - "uri", 6253 - "cid", 6254 - "author", 6255 - "record", 6256 - "replyCount", 6257 - "repostCount", 6258 - "upvoteCount", 6259 - "downvoteCount", 6260 - "indexedAt", 6261 - "viewer" 6262 - ], 6263 - properties: { 6264 - uri: { 6265 - type: "string" 6266 - }, 6267 - cid: { 6268 - type: "string" 6269 - }, 6270 - author: { 6271 - type: "ref", 6272 - ref: "lex:app.bsky.actor.ref#withInfo" 6273 - }, 6274 - record: { 6275 - type: "unknown" 6276 - }, 6277 - embed: { 6278 - type: "union", 6279 - refs: [ 6280 - "lex:app.bsky.embed.images#presented", 6281 - "lex:app.bsky.embed.external#presented" 6282 - ] 6283 - }, 6284 - replyCount: { 6285 - type: "integer" 6286 - }, 6287 - repostCount: { 6288 - type: "integer" 6289 - }, 6290 - upvoteCount: { 6291 - type: "integer" 6292 - }, 6293 - downvoteCount: { 6294 - type: "integer" 6295 - }, 6296 - indexedAt: { 6297 - type: "datetime" 6298 - }, 6299 - viewer: { 6300 - type: "ref", 6301 - ref: "lex:app.bsky.feed.post#viewerState" 6302 - } 6303 - } 6304 - }, 6305 - viewerState: { 6306 - type: "object", 6307 - properties: { 6308 - repost: { 6309 - type: "string" 6310 - }, 6311 - upvote: { 6312 - type: "string" 6313 - }, 6314 - downvote: { 6315 - type: "string" 6316 - } 6317 - } 6318 - } 6319 - } 6320 - }, 6321 - AppBskyFeedRepost: { 6322 - lexicon: 1, 6323 - id: "app.bsky.feed.repost", 6324 - defs: { 6325 - main: { 6326 - type: "record", 6327 - key: "tid", 6328 - record: { 6329 - type: "object", 6330 - required: ["subject", "createdAt"], 6331 - properties: { 6332 - subject: { 6333 - type: "ref", 6334 - ref: "lex:com.atproto.repo.strongRef" 6335 - }, 6336 - createdAt: { 6337 - type: "datetime" 6338 - } 6339 - } 6340 - } 6341 - } 6342 - } 6343 - }, 6344 - AppBskyFeedSetVote: { 6345 - lexicon: 1, 6346 - id: "app.bsky.feed.setVote", 6347 - defs: { 6348 - main: { 6349 - type: "procedure", 6350 - description: "Upvote, downvote, or clear the user's vote for a post.", 6351 - input: { 6352 - encoding: "application/json", 6353 - schema: { 6354 - type: "object", 6355 - required: ["subject", "direction"], 6356 - properties: { 6357 - subject: { 6358 - type: "ref", 6359 - ref: "lex:com.atproto.repo.strongRef" 6360 - }, 6361 - direction: { 6362 - type: "string", 6363 - enum: ["up", "down", "none"] 6364 - } 6365 - } 6366 - } 6367 - }, 6368 - output: { 6369 - encoding: "application/json", 6370 - schema: { 6371 - type: "object", 6372 - properties: { 6373 - upvote: { 6374 - type: "string" 6375 - }, 6376 - downvote: { 6377 - type: "string" 6378 - } 6379 - } 6380 - } 6381 - } 6382 - } 6383 - } 6384 - }, 6385 - AppBskyFeedTrend: { 6386 - lexicon: 1, 6387 - id: "app.bsky.feed.trend", 6388 - defs: { 6389 - main: { 6390 - type: "record", 6391 - key: "tid", 6392 - record: { 6393 - type: "object", 6394 - required: ["subject", "createdAt"], 6395 - properties: { 6396 - subject: { 6397 - type: "ref", 6398 - ref: "lex:com.atproto.repo.strongRef" 6399 - }, 6400 - createdAt: { 6401 - type: "datetime" 6402 - } 6403 - } 6404 - } 6405 - } 6406 - } 6407 - }, 6408 - AppBskyFeedVote: { 6409 - lexicon: 1, 6410 - id: "app.bsky.feed.vote", 6411 - defs: { 6412 - main: { 6413 - type: "record", 6414 - key: "tid", 6415 - record: { 6416 - type: "object", 6417 - required: ["subject", "direction", "createdAt"], 6418 - properties: { 6419 - subject: { 6420 - type: "ref", 6421 - ref: "lex:com.atproto.repo.strongRef" 6422 - }, 6423 - direction: { 6424 - type: "string", 6425 - enum: ["up", "down"] 6426 - }, 6427 - createdAt: { 6428 - type: "datetime" 6429 - } 6430 - } 6431 - } 6432 - } 6433 - } 6434 - }, 6435 - AppBskyGraphAssertCreator: { 6436 - lexicon: 1, 6437 - id: "app.bsky.graph.assertCreator", 6438 - defs: { 6439 - main: { 6440 - type: "token", 6441 - description: "Assertion type: Creator. Defined for app.bsky.graph.assertions's assertion." 6442 - } 6443 - } 6444 - }, 6445 - AppBskyGraphAssertMember: { 6446 - lexicon: 1, 6447 - id: "app.bsky.graph.assertMember", 6448 - defs: { 6449 - main: { 6450 - type: "token", 6451 - description: "Assertion type: Member. Defined for app.bsky.graph.assertions's assertion." 6452 - } 6453 - } 6454 - }, 6455 - AppBskyGraphAssertion: { 6456 - lexicon: 1, 6457 - id: "app.bsky.graph.assertion", 6458 - defs: { 6459 - main: { 6460 - type: "record", 6461 - key: "tid", 6462 - record: { 6463 - type: "object", 6464 - required: ["assertion", "subject", "createdAt"], 6465 - properties: { 6466 - assertion: { 6467 - type: "string" 6468 - }, 6469 - subject: { 6470 - type: "ref", 6471 - ref: "lex:app.bsky.actor.ref" 6472 - }, 6473 - createdAt: { 6474 - type: "datetime" 6475 - } 6476 - } 6477 - } 6478 - } 6479 - } 6480 - }, 6481 - AppBskyGraphConfirmation: { 6482 - lexicon: 1, 6483 - id: "app.bsky.graph.confirmation", 6484 - defs: { 6485 - main: { 6486 - type: "record", 6487 - key: "tid", 6488 - record: { 6489 - type: "object", 6490 - required: ["originator", "assertion", "createdAt"], 6491 - properties: { 6492 - originator: { 6493 - type: "ref", 6494 - ref: "lex:app.bsky.actor.ref" 6495 - }, 6496 - assertion: { 6497 - type: "ref", 6498 - ref: "lex:com.atproto.repo.strongRef" 6499 - }, 6500 - createdAt: { 6501 - type: "datetime" 6502 - } 6503 - } 6504 - } 6505 - } 6506 - } 6507 - }, 6508 - AppBskyGraphFollow: { 6509 - lexicon: 1, 6510 - id: "app.bsky.graph.follow", 6511 - defs: { 6512 - main: { 6513 - type: "record", 6514 - description: "A social follow.", 6515 - key: "tid", 6516 - record: { 6517 - type: "object", 6518 - required: ["subject", "createdAt"], 6519 - properties: { 6520 - subject: { 6521 - type: "ref", 6522 - ref: "lex:app.bsky.actor.ref" 6523 - }, 6524 - createdAt: { 6525 - type: "datetime" 6526 - } 6527 - } 6528 - } 6529 - } 6530 - } 6531 - }, 6532 - AppBskyGraphGetAssertions: { 6533 - lexicon: 1, 6534 - id: "app.bsky.graph.getAssertions", 6535 - defs: { 6536 - main: { 6537 - type: "query", 6538 - description: "General-purpose query for assertions.", 6539 - parameters: { 6540 - type: "params", 6541 - properties: { 6542 - author: { 6543 - type: "string" 6544 - }, 6545 - subject: { 6546 - type: "string" 6547 - }, 6548 - assertion: { 6549 - type: "string" 6550 - }, 6551 - confirmed: { 6552 - type: "boolean" 6553 - }, 6554 - limit: { 6555 - type: "integer", 6556 - minimum: 1, 6557 - maximum: 100, 6558 - default: 50 6559 - }, 6560 - before: { 6561 - type: "string" 6562 - } 6563 - } 6564 - }, 6565 - output: { 6566 - encoding: "application/json", 6567 - schema: { 6568 - type: "object", 6569 - required: ["assertions"], 6570 - properties: { 6571 - cursor: { 6572 - type: "string" 6573 - }, 6574 - assertions: { 6575 - type: "array", 6576 - items: { 6577 - type: "ref", 6578 - ref: "lex:app.bsky.graph.getAssertions#assertion" 6579 - } 6580 - } 6581 - } 6582 - } 6583 - } 6584 - }, 6585 - assertion: { 6586 - type: "object", 6587 - required: [ 6588 - "uri", 6589 - "cid", 6590 - "assertion", 6591 - "author", 6592 - "subject", 6593 - "indexedAt", 6594 - "createdAt" 6595 - ], 6596 - properties: { 6597 - uri: { 6598 - type: "string" 6599 - }, 6600 - cid: { 6601 - type: "string" 6602 - }, 6603 - assertion: { 6604 - type: "string" 6605 - }, 6606 - confirmation: { 6607 - type: "ref", 6608 - ref: "lex:app.bsky.graph.getAssertions#confirmation" 6609 - }, 6610 - author: { 6611 - type: "ref", 6612 - ref: "lex:app.bsky.actor.ref#withInfo" 6613 - }, 6614 - subject: { 6615 - type: "ref", 6616 - ref: "lex:app.bsky.actor.ref#withInfo" 6617 - }, 6618 - indexedAt: { 6619 - type: "datetime" 6620 - }, 6621 - createdAt: { 6622 - type: "datetime" 6623 - } 6624 - } 6625 - }, 6626 - confirmation: { 6627 - type: "object", 6628 - required: ["uri", "cid", "indexedAt", "createdAt"], 6629 - properties: { 6630 - uri: { 6631 - type: "string" 6632 - }, 6633 - cid: { 6634 - type: "string" 6635 - }, 6636 - indexedAt: { 6637 - type: "datetime" 6638 - }, 6639 - createdAt: { 6640 - type: "datetime" 6641 - } 6642 - } 6643 - } 6644 - } 6645 - }, 6646 - AppBskyGraphGetFollowers: { 6647 - lexicon: 1, 6648 - id: "app.bsky.graph.getFollowers", 6649 - defs: { 6650 - main: { 6651 - type: "query", 6652 - description: "Who is following a user?", 6653 - parameters: { 6654 - type: "params", 6655 - required: ["user"], 6656 - properties: { 6657 - user: { 6658 - type: "string" 6659 - }, 6660 - limit: { 6661 - type: "integer", 6662 - minimum: 1, 6663 - maximum: 100, 6664 - default: 50 6665 - }, 6666 - before: { 6667 - type: "string" 6668 - } 6669 - } 6670 - }, 6671 - output: { 6672 - encoding: "application/json", 6673 - schema: { 6674 - type: "object", 6675 - required: ["subject", "followers"], 6676 - properties: { 6677 - subject: { 6678 - type: "ref", 6679 - ref: "lex:app.bsky.actor.ref#withInfo" 6680 - }, 6681 - cursor: { 6682 - type: "string" 6683 - }, 6684 - followers: { 6685 - type: "array", 6686 - items: { 6687 - type: "ref", 6688 - ref: "lex:app.bsky.graph.getFollowers#follower" 6689 - } 6690 - } 6691 - } 6692 - } 6693 - } 6694 - }, 6695 - follower: { 6696 - type: "object", 6697 - required: ["did", "declaration", "handle", "indexedAt"], 6698 - properties: { 6699 - did: { 6700 - type: "string" 6701 - }, 6702 - declaration: { 6703 - type: "ref", 6704 - ref: "lex:app.bsky.system.declRef" 6705 - }, 6706 - handle: { 6707 - type: "string" 6708 - }, 6709 - displayName: { 6710 - type: "string", 6711 - maxLength: 64 6712 - }, 6713 - avatar: { 6714 - type: "string" 6715 - }, 6716 - createdAt: { 6717 - type: "datetime" 6718 - }, 6719 - indexedAt: { 6720 - type: "datetime" 6721 - } 6722 - } 6723 - } 6724 - } 6725 - }, 6726 - AppBskyGraphGetFollows: { 6727 - lexicon: 1, 6728 - id: "app.bsky.graph.getFollows", 6729 - defs: { 6730 - main: { 6731 - type: "query", 6732 - description: "Who is a user following?", 6733 - parameters: { 6734 - type: "params", 6735 - required: ["user"], 6736 - properties: { 6737 - user: { 6738 - type: "string" 6739 - }, 6740 - limit: { 6741 - type: "integer", 6742 - minimum: 1, 6743 - maximum: 100, 6744 - default: 50 6745 - }, 6746 - before: { 6747 - type: "string" 6748 - } 6749 - } 6750 - }, 6751 - output: { 6752 - encoding: "application/json", 6753 - schema: { 6754 - type: "object", 6755 - required: ["subject", "follows"], 6756 - properties: { 6757 - subject: { 6758 - type: "ref", 6759 - ref: "lex:app.bsky.actor.ref#withInfo" 6760 - }, 6761 - cursor: { 6762 - type: "string" 6763 - }, 6764 - follows: { 6765 - type: "array", 6766 - items: { 6767 - type: "ref", 6768 - ref: "lex:app.bsky.graph.getFollows#follow" 6769 - } 6770 - } 6771 - } 6772 - } 6773 - } 6774 - }, 6775 - follow: { 6776 - type: "object", 6777 - required: ["did", "declaration", "handle", "indexedAt"], 6778 - properties: { 6779 - did: { 6780 - type: "string" 6781 - }, 6782 - declaration: { 6783 - type: "ref", 6784 - ref: "lex:app.bsky.system.declRef" 6785 - }, 6786 - handle: { 6787 - type: "string" 6788 - }, 6789 - displayName: { 6790 - type: "string", 6791 - maxLength: 64 6792 - }, 6793 - createdAt: { 6794 - type: "datetime" 6795 - }, 6796 - indexedAt: { 6797 - type: "datetime" 6798 - } 6799 - } 6800 - } 6801 - } 6802 - }, 6803 - AppBskyGraphGetMembers: { 6804 - lexicon: 1, 6805 - id: "app.bsky.graph.getMembers", 6806 - defs: { 6807 - main: { 6808 - type: "query", 6809 - description: "Who is a member of the group?", 6810 - parameters: { 6811 - type: "params", 6812 - required: ["actor"], 6813 - properties: { 6814 - actor: { 6815 - type: "string" 6816 - }, 6817 - limit: { 6818 - type: "integer", 6819 - minimum: 1, 6820 - maximum: 100, 6821 - default: 50 6822 - }, 6823 - before: { 6824 - type: "string" 6825 - } 6826 - } 6827 - }, 6828 - output: { 6829 - encoding: "application/json", 6830 - schema: { 6831 - type: "object", 6832 - required: ["subject", "members"], 6833 - properties: { 6834 - subject: { 6835 - type: "ref", 6836 - ref: "lex:app.bsky.actor.ref#withInfo" 6837 - }, 6838 - cursor: { 6839 - type: "string" 6840 - }, 6841 - members: { 6842 - type: "array", 6843 - items: { 6844 - type: "ref", 6845 - ref: "lex:app.bsky.graph.getMembers#member" 6846 - } 6847 - } 6848 - } 6849 - } 6850 - } 6851 - }, 6852 - member: { 6853 - type: "object", 6854 - required: ["did", "declaration", "handle", "indexedAt"], 6855 - properties: { 6856 - did: { 6857 - type: "string" 6858 - }, 6859 - declaration: { 6860 - type: "ref", 6861 - ref: "lex:app.bsky.system.declRef" 6862 - }, 6863 - handle: { 6864 - type: "string" 6865 - }, 6866 - displayName: { 6867 - type: "string", 6868 - maxLength: 64 6869 - }, 6870 - createdAt: { 6871 - type: "datetime" 6872 - }, 6873 - indexedAt: { 6874 - type: "datetime" 6875 - } 6876 - } 6877 - } 6878 - } 6879 - }, 6880 - AppBskyGraphGetMemberships: { 6881 - lexicon: 1, 6882 - id: "app.bsky.graph.getMemberships", 6883 - defs: { 6884 - main: { 6885 - type: "query", 6886 - description: "Which groups is the actor a member of?", 6887 - parameters: { 6888 - type: "params", 6889 - required: ["actor"], 6890 - properties: { 6891 - actor: { 6892 - type: "string" 6893 - }, 6894 - limit: { 6895 - type: "integer", 6896 - minimum: 1, 6897 - maximum: 100, 6898 - default: 50 6899 - }, 6900 - before: { 6901 - type: "string" 6902 - } 6903 - } 6904 - }, 6905 - output: { 6906 - encoding: "application/json", 6907 - schema: { 6908 - type: "object", 6909 - required: ["subject", "memberships"], 6910 - properties: { 6911 - subject: { 6912 - type: "ref", 6913 - ref: "lex:app.bsky.actor.ref#withInfo" 6914 - }, 6915 - cursor: { 6916 - type: "string" 6917 - }, 6918 - memberships: { 6919 - type: "array", 6920 - items: { 6921 - type: "ref", 6922 - ref: "lex:app.bsky.graph.getMemberships#membership" 6923 - } 6924 - } 6925 - } 6926 - } 6927 - } 6928 - }, 6929 - membership: { 6930 - type: "object", 6931 - required: ["did", "declaration", "handle", "indexedAt"], 6932 - properties: { 6933 - did: { 6934 - type: "string" 6935 - }, 6936 - declaration: { 6937 - type: "ref", 6938 - ref: "lex:app.bsky.system.declRef" 6939 - }, 6940 - handle: { 6941 - type: "string" 6942 - }, 6943 - displayName: { 6944 - type: "string", 6945 - maxLength: 64 6946 - }, 6947 - createdAt: { 6948 - type: "datetime" 6949 - }, 6950 - indexedAt: { 6951 - type: "datetime" 6952 - } 6953 - } 6954 - } 6955 - } 6956 - }, 6957 - AppBskyNotificationGetCount: { 6958 - lexicon: 1, 6959 - id: "app.bsky.notification.getCount", 6960 - defs: { 6961 - main: { 6962 - type: "query", 6963 - output: { 6964 - encoding: "application/json", 6965 - schema: { 6966 - type: "object", 6967 - required: ["count"], 6968 - properties: { 6969 - count: { 6970 - type: "integer" 6971 - } 6972 - } 6973 - } 6974 - } 6975 - } 6976 - } 6977 - }, 6978 - AppBskyNotificationList: { 6979 - lexicon: 1, 6980 - id: "app.bsky.notification.list", 6981 - defs: { 6982 - main: { 6983 - type: "query", 6984 - parameters: { 6985 - type: "params", 6986 - properties: { 6987 - limit: { 6988 - type: "integer", 6989 - minimum: 1, 6990 - maximum: 100, 6991 - default: 50 6992 - }, 6993 - before: { 6994 - type: "string" 6995 - } 6996 - } 6997 - }, 6998 - output: { 6999 - encoding: "application/json", 7000 - schema: { 7001 - type: "object", 7002 - required: ["notifications"], 7003 - properties: { 7004 - cursor: { 7005 - type: "string" 7006 - }, 7007 - notifications: { 7008 - type: "array", 7009 - items: { 7010 - type: "ref", 7011 - ref: "lex:app.bsky.notification.list#notification" 7012 - } 7013 - } 7014 - } 7015 - } 7016 - } 7017 - }, 7018 - notification: { 7019 - type: "object", 7020 - required: [ 7021 - "uri", 7022 - "cid", 7023 - "author", 7024 - "reason", 7025 - "record", 7026 - "isRead", 7027 - "indexedAt" 7028 - ], 7029 - properties: { 7030 - uri: { 7031 - type: "string" 7032 - }, 7033 - cid: { 7034 - type: "string" 7035 - }, 7036 - author: { 7037 - type: "ref", 7038 - ref: "lex:app.bsky.actor.ref#withInfo" 7039 - }, 7040 - reason: { 7041 - type: "string", 7042 - description: "Expected values are 'vote', 'repost', 'trend', 'follow', 'invite', 'mention' and 'reply'.", 7043 - knownValues: [ 7044 - "vote", 7045 - "repost", 7046 - "trend", 7047 - "follow", 7048 - "invite", 7049 - "mention", 7050 - "reply" 7051 - ] 7052 - }, 7053 - reasonSubject: { 7054 - type: "string" 7055 - }, 7056 - record: { 7057 - type: "unknown" 7058 - }, 7059 - isRead: { 7060 - type: "boolean" 7061 - }, 7062 - indexedAt: { 7063 - type: "datetime" 7064 - } 7065 - } 7066 - } 7067 - } 7068 - }, 7069 - AppBskyNotificationUpdateSeen: { 7070 - lexicon: 1, 7071 - id: "app.bsky.notification.updateSeen", 7072 - defs: { 7073 - main: { 7074 - type: "procedure", 7075 - description: "Notify server that the user has seen notifications.", 7076 - input: { 7077 - encoding: "application/json", 7078 - schema: { 7079 - type: "object", 7080 - required: ["seenAt"], 7081 - properties: { 7082 - seenAt: { 7083 - type: "datetime" 7084 - } 7085 - } 7086 - } 7087 - } 7088 - } 7089 - } 7090 - }, 7091 - AppBskySystemActorScene: { 7092 - lexicon: 1, 7093 - id: "app.bsky.system.actorScene", 7094 - defs: { 7095 - main: { 7096 - type: "token", 7097 - description: "Actor type: Scene. Defined for app.bsky.system.declaration's actorType." 7098 - } 7099 - } 7100 - }, 7101 - AppBskySystemActorUser: { 7102 - lexicon: 1, 7103 - id: "app.bsky.system.actorUser", 7104 - defs: { 7105 - main: { 7106 - type: "token", 7107 - description: "Actor type: User. Defined for app.bsky.system.declaration's actorType." 7108 - } 7109 - } 7110 - }, 7111 - AppBskySystemDeclRef: { 7112 - lexicon: 1, 7113 - id: "app.bsky.system.declRef", 7114 - defs: { 7115 - main: { 7116 - description: "A reference to a app.bsky.system.declaration record.", 7117 - type: "object", 7118 - required: ["cid", "actorType"], 7119 - properties: { 7120 - cid: { 7121 - type: "string" 7122 - }, 7123 - actorType: { 7124 - type: "string", 7125 - knownValues: [ 7126 - "app.bsky.system.actorUser", 7127 - "app.bsky.system.actorScene" 7128 - ] 7129 - } 7130 - } 7131 - } 7132 - } 7133 - }, 7134 - AppBskySystemDeclaration: { 7135 - lexicon: 1, 7136 - id: "app.bsky.system.declaration", 7137 - defs: { 7138 - main: { 7139 - description: "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.", 7140 - type: "record", 7141 - key: "literal:self", 7142 - record: { 7143 - type: "object", 7144 - required: ["actorType"], 7145 - properties: { 7146 - actorType: { 7147 - type: "string", 7148 - knownValues: [ 7149 - "app.bsky.system.actorUser", 7150 - "app.bsky.system.actorScene" 7151 - ] 7152 - } 7153 - } 7154 - } 7155 - } 7156 - } 7157 - } 7158 - }; 7159 - var schemas = Object.values(schemaDict); 7160 - var lexicons = new Lexicons(schemas); 7161 - 7162 - // src/client/types/com/atproto/account/create.ts 7163 - var create_exports = {}; 7164 - __export(create_exports, { 7165 - HandleNotAvailableError: () => HandleNotAvailableError, 7166 - InvalidHandleError: () => InvalidHandleError, 7167 - InvalidInviteCodeError: () => InvalidInviteCodeError, 7168 - InvalidPasswordError: () => InvalidPasswordError, 7169 - toKnownErr: () => toKnownErr 7170 - }); 7171 - var InvalidHandleError = class extends XRPCError { 7172 - constructor(src) { 7173 - super(src.status, src.error, src.message); 7174 - } 7175 - }; 7176 - var InvalidPasswordError = class extends XRPCError { 7177 - constructor(src) { 7178 - super(src.status, src.error, src.message); 7179 - } 7180 - }; 7181 - var InvalidInviteCodeError = class extends XRPCError { 7182 - constructor(src) { 7183 - super(src.status, src.error, src.message); 7184 - } 7185 - }; 7186 - var HandleNotAvailableError = class extends XRPCError { 7187 - constructor(src) { 7188 - super(src.status, src.error, src.message); 7189 - } 7190 - }; 7191 - function toKnownErr(e) { 7192 - if (e instanceof XRPCError) { 7193 - if (e.error === "InvalidHandle") 7194 - return new InvalidHandleError(e); 7195 - if (e.error === "InvalidPassword") 7196 - return new InvalidPasswordError(e); 7197 - if (e.error === "InvalidInviteCode") 7198 - return new InvalidInviteCodeError(e); 7199 - if (e.error === "HandleNotAvailable") 7200 - return new HandleNotAvailableError(e); 7201 - } 7202 - return e; 7203 - } 7204 - 7205 - // src/client/types/com/atproto/account/createInviteCode.ts 7206 - var createInviteCode_exports = {}; 7207 - __export(createInviteCode_exports, { 7208 - toKnownErr: () => toKnownErr2 7209 - }); 7210 - function toKnownErr2(e) { 7211 - if (e instanceof XRPCError) { 7212 - } 7213 - return e; 7214 - } 7215 - 7216 - // src/client/types/com/atproto/account/delete.ts 7217 - var delete_exports = {}; 7218 - __export(delete_exports, { 7219 - toKnownErr: () => toKnownErr3 7220 - }); 7221 - function toKnownErr3(e) { 7222 - if (e instanceof XRPCError) { 7223 - } 7224 - return e; 7225 - } 7226 - 7227 - // src/client/types/com/atproto/account/get.ts 7228 - var get_exports = {}; 7229 - __export(get_exports, { 7230 - toKnownErr: () => toKnownErr4 7231 - }); 7232 - function toKnownErr4(e) { 7233 - if (e instanceof XRPCError) { 7234 - } 7235 - return e; 7236 - } 7237 - 7238 - // src/client/types/com/atproto/account/requestPasswordReset.ts 7239 - var requestPasswordReset_exports = {}; 7240 - __export(requestPasswordReset_exports, { 7241 - toKnownErr: () => toKnownErr5 7242 - }); 7243 - function toKnownErr5(e) { 7244 - if (e instanceof XRPCError) { 7245 - } 7246 - return e; 7247 - } 7248 - 7249 - // src/client/types/com/atproto/account/resetPassword.ts 7250 - var resetPassword_exports = {}; 7251 - __export(resetPassword_exports, { 7252 - ExpiredTokenError: () => ExpiredTokenError, 7253 - InvalidTokenError: () => InvalidTokenError, 7254 - toKnownErr: () => toKnownErr6 7255 - }); 7256 - var ExpiredTokenError = class extends XRPCError { 7257 - constructor(src) { 7258 - super(src.status, src.error, src.message); 7259 - } 7260 - }; 7261 - var InvalidTokenError = class extends XRPCError { 7262 - constructor(src) { 7263 - super(src.status, src.error, src.message); 7264 - } 7265 - }; 7266 - function toKnownErr6(e) { 7267 - if (e instanceof XRPCError) { 7268 - if (e.error === "ExpiredToken") 7269 - return new ExpiredTokenError(e); 7270 - if (e.error === "InvalidToken") 7271 - return new InvalidTokenError(e); 7272 - } 7273 - return e; 7274 - } 7275 - 7276 - // src/client/types/com/atproto/blob/upload.ts 7277 - var upload_exports = {}; 7278 - __export(upload_exports, { 7279 - toKnownErr: () => toKnownErr7 7280 - }); 7281 - function toKnownErr7(e) { 7282 - if (e instanceof XRPCError) { 7283 - } 7284 - return e; 7285 - } 7286 - 7287 - // src/client/types/com/atproto/handle/resolve.ts 7288 - var resolve_exports = {}; 7289 - __export(resolve_exports, { 7290 - toKnownErr: () => toKnownErr8 7291 - }); 7292 - function toKnownErr8(e) { 7293 - if (e instanceof XRPCError) { 7294 - } 7295 - return e; 7296 - } 7297 - 7298 - // src/client/types/com/atproto/repo/batchWrite.ts 7299 - var batchWrite_exports = {}; 7300 - __export(batchWrite_exports, { 7301 - toKnownErr: () => toKnownErr9 7302 - }); 7303 - function toKnownErr9(e) { 7304 - if (e instanceof XRPCError) { 7305 - } 7306 - return e; 7307 - } 7308 - 7309 - // src/client/types/com/atproto/repo/createRecord.ts 7310 - var createRecord_exports = {}; 7311 - __export(createRecord_exports, { 7312 - toKnownErr: () => toKnownErr10 7313 - }); 7314 - function toKnownErr10(e) { 7315 - if (e instanceof XRPCError) { 7316 - } 7317 - return e; 7318 - } 7319 - 7320 - // src/client/types/com/atproto/repo/deleteRecord.ts 7321 - var deleteRecord_exports = {}; 7322 - __export(deleteRecord_exports, { 7323 - toKnownErr: () => toKnownErr11 7324 - }); 7325 - function toKnownErr11(e) { 7326 - if (e instanceof XRPCError) { 7327 - } 7328 - return e; 7329 - } 7330 - 7331 - // src/client/types/com/atproto/repo/describe.ts 7332 - var describe_exports = {}; 7333 - __export(describe_exports, { 7334 - toKnownErr: () => toKnownErr12 7335 - }); 7336 - function toKnownErr12(e) { 7337 - if (e instanceof XRPCError) { 7338 - } 7339 - return e; 7340 - } 7341 - 7342 - // src/client/types/com/atproto/repo/getRecord.ts 7343 - var getRecord_exports = {}; 7344 - __export(getRecord_exports, { 7345 - toKnownErr: () => toKnownErr13 7346 - }); 7347 - function toKnownErr13(e) { 7348 - if (e instanceof XRPCError) { 7349 - } 7350 - return e; 7351 - } 7352 - 7353 - // src/client/types/com/atproto/repo/listRecords.ts 7354 - var listRecords_exports = {}; 7355 - __export(listRecords_exports, { 7356 - toKnownErr: () => toKnownErr14 7357 - }); 7358 - function toKnownErr14(e) { 7359 - if (e instanceof XRPCError) { 7360 - } 7361 - return e; 7362 - } 7363 - 7364 - // src/client/types/com/atproto/repo/putRecord.ts 7365 - var putRecord_exports = {}; 7366 - __export(putRecord_exports, { 7367 - toKnownErr: () => toKnownErr15 7368 - }); 7369 - function toKnownErr15(e) { 7370 - if (e instanceof XRPCError) { 7371 - } 7372 - return e; 7373 - } 7374 - 7375 - // src/client/types/com/atproto/server/getAccountsConfig.ts 7376 - var getAccountsConfig_exports = {}; 7377 - __export(getAccountsConfig_exports, { 7378 - toKnownErr: () => toKnownErr16 7379 - }); 7380 - function toKnownErr16(e) { 7381 - if (e instanceof XRPCError) { 7382 - } 7383 - return e; 7384 - } 7385 - 7386 - // src/client/types/com/atproto/session/create.ts 7387 - var create_exports2 = {}; 7388 - __export(create_exports2, { 7389 - toKnownErr: () => toKnownErr17 7390 - }); 7391 - function toKnownErr17(e) { 7392 - if (e instanceof XRPCError) { 7393 - } 7394 - return e; 7395 - } 7396 - 7397 - // src/client/types/com/atproto/session/delete.ts 7398 - var delete_exports2 = {}; 7399 - __export(delete_exports2, { 7400 - toKnownErr: () => toKnownErr18 7401 - }); 7402 - function toKnownErr18(e) { 7403 - if (e instanceof XRPCError) { 7404 - } 7405 - return e; 7406 - } 7407 - 7408 - // src/client/types/com/atproto/session/get.ts 7409 - var get_exports2 = {}; 7410 - __export(get_exports2, { 7411 - toKnownErr: () => toKnownErr19 7412 - }); 7413 - function toKnownErr19(e) { 7414 - if (e instanceof XRPCError) { 7415 - } 7416 - return e; 7417 - } 7418 - 7419 - // src/client/types/com/atproto/session/refresh.ts 7420 - var refresh_exports = {}; 7421 - __export(refresh_exports, { 7422 - toKnownErr: () => toKnownErr20 7423 - }); 7424 - function toKnownErr20(e) { 7425 - if (e instanceof XRPCError) { 7426 - } 7427 - return e; 7428 - } 7429 - 7430 - // src/client/types/com/atproto/sync/getRepo.ts 7431 - var getRepo_exports = {}; 7432 - __export(getRepo_exports, { 7433 - toKnownErr: () => toKnownErr21 7434 - }); 7435 - function toKnownErr21(e) { 7436 - if (e instanceof XRPCError) { 7437 - } 7438 - return e; 7439 - } 7440 - 7441 - // src/client/types/com/atproto/sync/getRoot.ts 7442 - var getRoot_exports = {}; 7443 - __export(getRoot_exports, { 7444 - toKnownErr: () => toKnownErr22 7445 - }); 7446 - function toKnownErr22(e) { 7447 - if (e instanceof XRPCError) { 7448 - } 7449 - return e; 7450 - } 7451 - 7452 - // src/client/types/com/atproto/sync/updateRepo.ts 7453 - var updateRepo_exports = {}; 7454 - __export(updateRepo_exports, { 7455 - toKnownErr: () => toKnownErr23 7456 - }); 7457 - function toKnownErr23(e) { 7458 - if (e instanceof XRPCError) { 7459 - } 7460 - return e; 7461 - } 7462 - 7463 - // src/client/types/app/bsky/actor/createScene.ts 7464 - var createScene_exports = {}; 7465 - __export(createScene_exports, { 7466 - HandleNotAvailableError: () => HandleNotAvailableError2, 7467 - InvalidHandleError: () => InvalidHandleError2, 7468 - toKnownErr: () => toKnownErr24 7469 - }); 7470 - var InvalidHandleError2 = class extends XRPCError { 7471 - constructor(src) { 7472 - super(src.status, src.error, src.message); 7473 - } 7474 - }; 7475 - var HandleNotAvailableError2 = class extends XRPCError { 7476 - constructor(src) { 7477 - super(src.status, src.error, src.message); 7478 - } 7479 - }; 7480 - function toKnownErr24(e) { 7481 - if (e instanceof XRPCError) { 7482 - if (e.error === "InvalidHandle") 7483 - return new InvalidHandleError2(e); 7484 - if (e.error === "HandleNotAvailable") 7485 - return new HandleNotAvailableError2(e); 7486 - } 7487 - return e; 7488 - } 7489 - 7490 - // src/client/types/app/bsky/actor/getProfile.ts 7491 - var getProfile_exports = {}; 7492 - __export(getProfile_exports, { 7493 - toKnownErr: () => toKnownErr25 7494 - }); 7495 - function toKnownErr25(e) { 7496 - if (e instanceof XRPCError) { 7497 - } 7498 - return e; 7499 - } 7500 - 7501 - // src/client/types/app/bsky/actor/getSuggestions.ts 7502 - var getSuggestions_exports = {}; 7503 - __export(getSuggestions_exports, { 7504 - toKnownErr: () => toKnownErr26 7505 - }); 7506 - function toKnownErr26(e) { 7507 - if (e instanceof XRPCError) { 7508 - } 7509 - return e; 7510 - } 7511 - 7512 - // src/client/types/app/bsky/actor/search.ts 7513 - var search_exports = {}; 7514 - __export(search_exports, { 7515 - toKnownErr: () => toKnownErr27 7516 - }); 7517 - function toKnownErr27(e) { 7518 - if (e instanceof XRPCError) { 7519 - } 7520 - return e; 7521 - } 7522 - 7523 - // src/client/types/app/bsky/actor/searchTypeahead.ts 7524 - var searchTypeahead_exports = {}; 7525 - __export(searchTypeahead_exports, { 7526 - toKnownErr: () => toKnownErr28 7527 - }); 7528 - function toKnownErr28(e) { 7529 - if (e instanceof XRPCError) { 7530 - } 7531 - return e; 7532 - } 7533 - 7534 - // src/client/types/app/bsky/actor/updateProfile.ts 7535 - var updateProfile_exports = {}; 7536 - __export(updateProfile_exports, { 7537 - BlobTooLargeError: () => BlobTooLargeError, 7538 - InvalidBlobError: () => InvalidBlobError, 7539 - InvalidImageDimensionsError: () => InvalidImageDimensionsError, 7540 - InvalidMimeTypeError: () => InvalidMimeTypeError, 7541 - toKnownErr: () => toKnownErr29 7542 - }); 7543 - var InvalidBlobError = class extends XRPCError { 7544 - constructor(src) { 7545 - super(src.status, src.error, src.message); 7546 - } 7547 - }; 7548 - var BlobTooLargeError = class extends XRPCError { 7549 - constructor(src) { 7550 - super(src.status, src.error, src.message); 7551 - } 7552 - }; 7553 - var InvalidMimeTypeError = class extends XRPCError { 7554 - constructor(src) { 7555 - super(src.status, src.error, src.message); 7556 - } 7557 - }; 7558 - var InvalidImageDimensionsError = class extends XRPCError { 7559 - constructor(src) { 7560 - super(src.status, src.error, src.message); 7561 - } 7562 - }; 7563 - function toKnownErr29(e) { 7564 - if (e instanceof XRPCError) { 7565 - if (e.error === "InvalidBlob") 7566 - return new InvalidBlobError(e); 7567 - if (e.error === "BlobTooLarge") 7568 - return new BlobTooLargeError(e); 7569 - if (e.error === "InvalidMimeType") 7570 - return new InvalidMimeTypeError(e); 7571 - if (e.error === "InvalidImageDimensions") 7572 - return new InvalidImageDimensionsError(e); 7573 - } 7574 - return e; 7575 - } 7576 - 7577 - // src/client/types/app/bsky/feed/getAuthorFeed.ts 7578 - var getAuthorFeed_exports = {}; 7579 - __export(getAuthorFeed_exports, { 7580 - toKnownErr: () => toKnownErr30 7581 - }); 7582 - function toKnownErr30(e) { 7583 - if (e instanceof XRPCError) { 7584 - } 7585 - return e; 7586 - } 7587 - 7588 - // src/client/types/app/bsky/feed/getPostThread.ts 7589 - var getPostThread_exports = {}; 7590 - __export(getPostThread_exports, { 7591 - NotFoundError: () => NotFoundError, 7592 - toKnownErr: () => toKnownErr31 7593 - }); 7594 - var NotFoundError = class extends XRPCError { 7595 - constructor(src) { 7596 - super(src.status, src.error, src.message); 7597 - } 7598 - }; 7599 - function toKnownErr31(e) { 7600 - if (e instanceof XRPCError) { 7601 - if (e.error === "NotFound") 7602 - return new NotFoundError(e); 7603 - } 7604 - return e; 7605 - } 7606 - 7607 - // src/client/types/app/bsky/feed/getRepostedBy.ts 7608 - var getRepostedBy_exports = {}; 7609 - __export(getRepostedBy_exports, { 7610 - toKnownErr: () => toKnownErr32 7611 - }); 7612 - function toKnownErr32(e) { 7613 - if (e instanceof XRPCError) { 7614 - } 7615 - return e; 7616 - } 7617 - 7618 - // src/client/types/app/bsky/feed/getTimeline.ts 7619 - var getTimeline_exports = {}; 7620 - __export(getTimeline_exports, { 7621 - toKnownErr: () => toKnownErr33 7622 - }); 7623 - function toKnownErr33(e) { 7624 - if (e instanceof XRPCError) { 7625 - } 7626 - return e; 7627 - } 7628 - 7629 - // src/client/types/app/bsky/feed/getVotes.ts 7630 - var getVotes_exports = {}; 7631 - __export(getVotes_exports, { 7632 - toKnownErr: () => toKnownErr34 7633 - }); 7634 - function toKnownErr34(e) { 7635 - if (e instanceof XRPCError) { 7636 - } 7637 - return e; 7638 - } 7639 - 7640 - // src/client/types/app/bsky/feed/setVote.ts 7641 - var setVote_exports = {}; 7642 - __export(setVote_exports, { 7643 - toKnownErr: () => toKnownErr35 7644 - }); 7645 - function toKnownErr35(e) { 7646 - if (e instanceof XRPCError) { 7647 - } 7648 - return e; 7649 - } 7650 - 7651 - // src/client/types/app/bsky/graph/getAssertions.ts 7652 - var getAssertions_exports = {}; 7653 - __export(getAssertions_exports, { 7654 - toKnownErr: () => toKnownErr36 7655 - }); 7656 - function toKnownErr36(e) { 7657 - if (e instanceof XRPCError) { 7658 - } 7659 - return e; 7660 - } 7661 - 7662 - // src/client/types/app/bsky/graph/getFollowers.ts 7663 - var getFollowers_exports = {}; 7664 - __export(getFollowers_exports, { 7665 - toKnownErr: () => toKnownErr37 7666 - }); 7667 - function toKnownErr37(e) { 7668 - if (e instanceof XRPCError) { 7669 - } 7670 - return e; 7671 - } 7672 - 7673 - // src/client/types/app/bsky/graph/getFollows.ts 7674 - var getFollows_exports = {}; 7675 - __export(getFollows_exports, { 7676 - toKnownErr: () => toKnownErr38 7677 - }); 7678 - function toKnownErr38(e) { 7679 - if (e instanceof XRPCError) { 7680 - } 7681 - return e; 7682 - } 7683 - 7684 - // src/client/types/app/bsky/graph/getMembers.ts 7685 - var getMembers_exports = {}; 7686 - __export(getMembers_exports, { 7687 - toKnownErr: () => toKnownErr39 7688 - }); 7689 - function toKnownErr39(e) { 7690 - if (e instanceof XRPCError) { 7691 - } 7692 - return e; 7693 - } 7694 - 7695 - // src/client/types/app/bsky/graph/getMemberships.ts 7696 - var getMemberships_exports = {}; 7697 - __export(getMemberships_exports, { 7698 - toKnownErr: () => toKnownErr40 7699 - }); 7700 - function toKnownErr40(e) { 7701 - if (e instanceof XRPCError) { 7702 - } 7703 - return e; 7704 - } 7705 - 7706 - // src/client/types/app/bsky/notification/getCount.ts 7707 - var getCount_exports = {}; 7708 - __export(getCount_exports, { 7709 - toKnownErr: () => toKnownErr41 7710 - }); 7711 - function toKnownErr41(e) { 7712 - if (e instanceof XRPCError) { 7713 - } 7714 - return e; 7715 - } 7716 - 7717 - // src/client/types/app/bsky/notification/list.ts 7718 - var list_exports = {}; 7719 - __export(list_exports, { 7720 - toKnownErr: () => toKnownErr42 7721 - }); 7722 - function toKnownErr42(e) { 7723 - if (e instanceof XRPCError) { 7724 - } 7725 - return e; 7726 - } 7727 - 7728 - // src/client/types/app/bsky/notification/updateSeen.ts 7729 - var updateSeen_exports = {}; 7730 - __export(updateSeen_exports, { 7731 - toKnownErr: () => toKnownErr43 7732 - }); 7733 - function toKnownErr43(e) { 7734 - if (e instanceof XRPCError) { 7735 - } 7736 - return e; 7737 - } 7738 - 7739 - // src/client/types/com/atproto/repo/strongRef.ts 7740 - var strongRef_exports = {}; 7741 - 7742 - // src/client/types/app/bsky/actor/profile.ts 7743 - var profile_exports = {}; 7744 - 7745 - // src/client/types/app/bsky/actor/ref.ts 7746 - var ref_exports = {}; 7747 - 7748 - // src/client/types/app/bsky/embed/external.ts 7749 - var external_exports = {}; 7750 - 7751 - // src/client/types/app/bsky/embed/images.ts 7752 - var images_exports = {}; 7753 - 7754 - // src/client/types/app/bsky/feed/feedViewPost.ts 7755 - var feedViewPost_exports = {}; 7756 - 7757 - // src/client/types/app/bsky/feed/post.ts 7758 - var post_exports = {}; 7759 - 7760 - // src/client/types/app/bsky/feed/repost.ts 7761 - var repost_exports = {}; 7762 - 7763 - // src/client/types/app/bsky/feed/trend.ts 7764 - var trend_exports = {}; 7765 - 7766 - // src/client/types/app/bsky/feed/vote.ts 7767 - var vote_exports = {}; 7768 - 7769 - // src/client/types/app/bsky/graph/assertCreator.ts 7770 - var assertCreator_exports = {}; 7771 - __export(assertCreator_exports, { 7772 - MAIN: () => MAIN 7773 - }); 7774 - var MAIN = "app.bsky.graph.assertCreator#main"; 7775 - 7776 - // src/client/types/app/bsky/graph/assertMember.ts 7777 - var assertMember_exports = {}; 7778 - __export(assertMember_exports, { 7779 - MAIN: () => MAIN2 7780 - }); 7781 - var MAIN2 = "app.bsky.graph.assertMember#main"; 7782 - 7783 - // src/client/types/app/bsky/graph/assertion.ts 7784 - var assertion_exports = {}; 7785 - 7786 - // src/client/types/app/bsky/graph/confirmation.ts 7787 - var confirmation_exports = {}; 7788 - 7789 - // src/client/types/app/bsky/graph/follow.ts 7790 - var follow_exports = {}; 7791 - 7792 - // src/client/types/app/bsky/system/actorScene.ts 7793 - var actorScene_exports = {}; 7794 - __export(actorScene_exports, { 7795 - MAIN: () => MAIN3 7796 - }); 7797 - var MAIN3 = "app.bsky.system.actorScene#main"; 7798 - 7799 - // src/client/types/app/bsky/system/actorUser.ts 7800 - var actorUser_exports = {}; 7801 - __export(actorUser_exports, { 7802 - MAIN: () => MAIN4 7803 - }); 7804 - var MAIN4 = "app.bsky.system.actorUser#main"; 7805 - 7806 - // src/client/types/app/bsky/system/declRef.ts 7807 - var declRef_exports = {}; 7808 - 7809 - // src/client/types/app/bsky/system/declaration.ts 7810 - var declaration_exports = {}; 7811 - 7812 - // src/client/index.ts 7813 - var APP_BSKY_GRAPH = { 7814 - AssertCreator: "app.bsky.graph.assertCreator", 7815 - AssertMember: "app.bsky.graph.assertMember" 7816 - }; 7817 - var APP_BSKY_SYSTEM = { 7818 - ActorScene: "app.bsky.system.actorScene", 7819 - ActorUser: "app.bsky.system.actorUser" 7820 - }; 7821 - var Client2 = class { 7822 - constructor() { 7823 - this.xrpc = new Client(); 7824 - this.xrpc.addLexicons(schemas); 7825 - } 7826 - service(serviceUri) { 7827 - return new ServiceClient2(this, this.xrpc.service(serviceUri)); 7828 - } 7829 - }; 7830 - var defaultInst2 = new Client2(); 7831 - var client_default = defaultInst2; 7832 - var ServiceClient2 = class { 7833 - constructor(baseClient, xrpcService) { 7834 - this._baseClient = baseClient; 7835 - this.xrpc = xrpcService; 7836 - this.com = new ComNS(this); 7837 - this.app = new AppNS(this); 7838 - } 7839 - setHeader(key, value) { 7840 - this.xrpc.setHeader(key, value); 7841 - } 7842 - }; 7843 - var ComNS = class { 7844 - constructor(service) { 7845 - this._service = service; 7846 - this.atproto = new AtprotoNS(service); 7847 - } 7848 - }; 7849 - var AtprotoNS = class { 7850 - constructor(service) { 7851 - this._service = service; 7852 - this.account = new AccountNS(service); 7853 - this.blob = new BlobNS(service); 7854 - this.handle = new HandleNS(service); 7855 - this.repo = new RepoNS(service); 7856 - this.server = new ServerNS(service); 7857 - this.session = new SessionNS(service); 7858 - this.sync = new SyncNS(service); 7859 - } 7860 - }; 7861 - var AccountNS = class { 7862 - constructor(service) { 7863 - this._service = service; 7864 - } 7865 - create(data, opts) { 7866 - return this._service.xrpc.call("com.atproto.account.create", opts?.qp, data, opts).catch((e) => { 7867 - throw toKnownErr(e); 7868 - }); 7869 - } 7870 - createInviteCode(data, opts) { 7871 - return this._service.xrpc.call("com.atproto.account.createInviteCode", opts?.qp, data, opts).catch((e) => { 7872 - throw toKnownErr2(e); 7873 - }); 7874 - } 7875 - delete(data, opts) { 7876 - return this._service.xrpc.call("com.atproto.account.delete", opts?.qp, data, opts).catch((e) => { 7877 - throw toKnownErr3(e); 7878 - }); 7879 - } 7880 - get(params2, opts) { 7881 - return this._service.xrpc.call("com.atproto.account.get", params2, void 0, opts).catch((e) => { 7882 - throw toKnownErr4(e); 7883 - }); 7884 - } 7885 - requestPasswordReset(data, opts) { 7886 - return this._service.xrpc.call("com.atproto.account.requestPasswordReset", opts?.qp, data, opts).catch((e) => { 7887 - throw toKnownErr5(e); 7888 - }); 7889 - } 7890 - resetPassword(data, opts) { 7891 - return this._service.xrpc.call("com.atproto.account.resetPassword", opts?.qp, data, opts).catch((e) => { 7892 - throw toKnownErr6(e); 7893 - }); 7894 - } 7895 - }; 7896 - var BlobNS = class { 7897 - constructor(service) { 7898 - this._service = service; 7899 - } 7900 - upload(data, opts) { 7901 - return this._service.xrpc.call("com.atproto.blob.upload", opts?.qp, data, opts).catch((e) => { 7902 - throw toKnownErr7(e); 7903 - }); 7904 - } 7905 - }; 7906 - var HandleNS = class { 7907 - constructor(service) { 7908 - this._service = service; 7909 - } 7910 - resolve(params2, opts) { 7911 - return this._service.xrpc.call("com.atproto.handle.resolve", params2, void 0, opts).catch((e) => { 7912 - throw toKnownErr8(e); 7913 - }); 7914 - } 7915 - }; 7916 - var RepoNS = class { 7917 - constructor(service) { 7918 - this._service = service; 7919 - } 7920 - batchWrite(data, opts) { 7921 - return this._service.xrpc.call("com.atproto.repo.batchWrite", opts?.qp, data, opts).catch((e) => { 7922 - throw toKnownErr9(e); 7923 - }); 7924 - } 7925 - createRecord(data, opts) { 7926 - return this._service.xrpc.call("com.atproto.repo.createRecord", opts?.qp, data, opts).catch((e) => { 7927 - throw toKnownErr10(e); 7928 - }); 7929 - } 7930 - deleteRecord(data, opts) { 7931 - return this._service.xrpc.call("com.atproto.repo.deleteRecord", opts?.qp, data, opts).catch((e) => { 7932 - throw toKnownErr11(e); 7933 - }); 7934 - } 7935 - describe(params2, opts) { 7936 - return this._service.xrpc.call("com.atproto.repo.describe", params2, void 0, opts).catch((e) => { 7937 - throw toKnownErr12(e); 7938 - }); 7939 - } 7940 - getRecord(params2, opts) { 7941 - return this._service.xrpc.call("com.atproto.repo.getRecord", params2, void 0, opts).catch((e) => { 7942 - throw toKnownErr13(e); 7943 - }); 7944 - } 7945 - listRecords(params2, opts) { 7946 - return this._service.xrpc.call("com.atproto.repo.listRecords", params2, void 0, opts).catch((e) => { 7947 - throw toKnownErr14(e); 7948 - }); 7949 - } 7950 - putRecord(data, opts) { 7951 - return this._service.xrpc.call("com.atproto.repo.putRecord", opts?.qp, data, opts).catch((e) => { 7952 - throw toKnownErr15(e); 7953 - }); 7954 - } 7955 - }; 7956 - var ServerNS = class { 7957 - constructor(service) { 7958 - this._service = service; 7959 - } 7960 - getAccountsConfig(params2, opts) { 7961 - return this._service.xrpc.call("com.atproto.server.getAccountsConfig", params2, void 0, opts).catch((e) => { 7962 - throw toKnownErr16(e); 7963 - }); 7964 - } 7965 - }; 7966 - var SessionNS = class { 7967 - constructor(service) { 7968 - this._service = service; 7969 - } 7970 - create(data, opts) { 7971 - return this._service.xrpc.call("com.atproto.session.create", opts?.qp, data, opts).catch((e) => { 7972 - throw toKnownErr17(e); 7973 - }); 7974 - } 7975 - delete(data, opts) { 7976 - return this._service.xrpc.call("com.atproto.session.delete", opts?.qp, data, opts).catch((e) => { 7977 - throw toKnownErr18(e); 7978 - }); 7979 - } 7980 - get(params2, opts) { 7981 - return this._service.xrpc.call("com.atproto.session.get", params2, void 0, opts).catch((e) => { 7982 - throw toKnownErr19(e); 7983 - }); 7984 - } 7985 - refresh(data, opts) { 7986 - return this._service.xrpc.call("com.atproto.session.refresh", opts?.qp, data, opts).catch((e) => { 7987 - throw toKnownErr20(e); 7988 - }); 7989 - } 7990 - }; 7991 - var SyncNS = class { 7992 - constructor(service) { 7993 - this._service = service; 7994 - } 7995 - getRepo(params2, opts) { 7996 - return this._service.xrpc.call("com.atproto.sync.getRepo", params2, void 0, opts).catch((e) => { 7997 - throw toKnownErr21(e); 7998 - }); 7999 - } 8000 - getRoot(params2, opts) { 8001 - return this._service.xrpc.call("com.atproto.sync.getRoot", params2, void 0, opts).catch((e) => { 8002 - throw toKnownErr22(e); 8003 - }); 8004 - } 8005 - updateRepo(data, opts) { 8006 - return this._service.xrpc.call("com.atproto.sync.updateRepo", opts?.qp, data, opts).catch((e) => { 8007 - throw toKnownErr23(e); 8008 - }); 8009 - } 8010 - }; 8011 - var AppNS = class { 8012 - constructor(service) { 8013 - this._service = service; 8014 - this.bsky = new BskyNS(service); 8015 - } 8016 - }; 8017 - var BskyNS = class { 8018 - constructor(service) { 8019 - this._service = service; 8020 - this.actor = new ActorNS(service); 8021 - this.embed = new EmbedNS(service); 8022 - this.feed = new FeedNS(service); 8023 - this.graph = new GraphNS(service); 8024 - this.notification = new NotificationNS(service); 8025 - this.system = new SystemNS(service); 8026 - } 8027 - }; 8028 - var ActorNS = class { 8029 - constructor(service) { 8030 - this._service = service; 8031 - this.profile = new ProfileRecord(service); 8032 - } 8033 - createScene(data, opts) { 8034 - return this._service.xrpc.call("app.bsky.actor.createScene", opts?.qp, data, opts).catch((e) => { 8035 - throw toKnownErr24(e); 8036 - }); 8037 - } 8038 - getProfile(params2, opts) { 8039 - return this._service.xrpc.call("app.bsky.actor.getProfile", params2, void 0, opts).catch((e) => { 8040 - throw toKnownErr25(e); 8041 - }); 8042 - } 8043 - getSuggestions(params2, opts) { 8044 - return this._service.xrpc.call("app.bsky.actor.getSuggestions", params2, void 0, opts).catch((e) => { 8045 - throw toKnownErr26(e); 8046 - }); 8047 - } 8048 - search(params2, opts) { 8049 - return this._service.xrpc.call("app.bsky.actor.search", params2, void 0, opts).catch((e) => { 8050 - throw toKnownErr27(e); 8051 - }); 8052 - } 8053 - searchTypeahead(params2, opts) { 8054 - return this._service.xrpc.call("app.bsky.actor.searchTypeahead", params2, void 0, opts).catch((e) => { 8055 - throw toKnownErr28(e); 8056 - }); 8057 - } 8058 - updateProfile(data, opts) { 8059 - return this._service.xrpc.call("app.bsky.actor.updateProfile", opts?.qp, data, opts).catch((e) => { 8060 - throw toKnownErr29(e); 8061 - }); 8062 - } 8063 - }; 8064 - var ProfileRecord = class { 8065 - constructor(service) { 8066 - this._service = service; 8067 - } 8068 - async list(params2) { 8069 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8070 - collection: "app.bsky.actor.profile", 8071 - ...params2 8072 - }); 8073 - return res.data; 8074 - } 8075 - async get(params2) { 8076 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8077 - collection: "app.bsky.actor.profile", 8078 - ...params2 8079 - }); 8080 - return res.data; 8081 - } 8082 - async create(params2, record, headers) { 8083 - record.$type = "app.bsky.actor.profile"; 8084 - const res = await this._service.xrpc.call( 8085 - "com.atproto.repo.createRecord", 8086 - void 0, 8087 - { collection: "app.bsky.actor.profile", ...params2, record }, 8088 - { encoding: "application/json", headers } 8089 - ); 8090 - return res.data; 8091 - } 8092 - async delete(params2, headers) { 8093 - await this._service.xrpc.call( 8094 - "com.atproto.repo.deleteRecord", 8095 - void 0, 8096 - { collection: "app.bsky.actor.profile", ...params2 }, 8097 - { headers } 8098 - ); 8099 - } 8100 - }; 8101 - var EmbedNS = class { 8102 - constructor(service) { 8103 - this._service = service; 8104 - } 8105 - }; 8106 - var FeedNS = class { 8107 - constructor(service) { 8108 - this._service = service; 8109 - this.post = new PostRecord(service); 8110 - this.repost = new RepostRecord(service); 8111 - this.trend = new TrendRecord(service); 8112 - this.vote = new VoteRecord(service); 8113 - } 8114 - getAuthorFeed(params2, opts) { 8115 - return this._service.xrpc.call("app.bsky.feed.getAuthorFeed", params2, void 0, opts).catch((e) => { 8116 - throw toKnownErr30(e); 8117 - }); 8118 - } 8119 - getPostThread(params2, opts) { 8120 - return this._service.xrpc.call("app.bsky.feed.getPostThread", params2, void 0, opts).catch((e) => { 8121 - throw toKnownErr31(e); 8122 - }); 8123 - } 8124 - getRepostedBy(params2, opts) { 8125 - return this._service.xrpc.call("app.bsky.feed.getRepostedBy", params2, void 0, opts).catch((e) => { 8126 - throw toKnownErr32(e); 8127 - }); 8128 - } 8129 - getTimeline(params2, opts) { 8130 - return this._service.xrpc.call("app.bsky.feed.getTimeline", params2, void 0, opts).catch((e) => { 8131 - throw toKnownErr33(e); 8132 - }); 8133 - } 8134 - getVotes(params2, opts) { 8135 - return this._service.xrpc.call("app.bsky.feed.getVotes", params2, void 0, opts).catch((e) => { 8136 - throw toKnownErr34(e); 8137 - }); 8138 - } 8139 - setVote(data, opts) { 8140 - return this._service.xrpc.call("app.bsky.feed.setVote", opts?.qp, data, opts).catch((e) => { 8141 - throw toKnownErr35(e); 8142 - }); 8143 - } 8144 - }; 8145 - var PostRecord = class { 8146 - constructor(service) { 8147 - this._service = service; 8148 - } 8149 - async list(params2) { 8150 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8151 - collection: "app.bsky.feed.post", 8152 - ...params2 8153 - }); 8154 - return res.data; 8155 - } 8156 - async get(params2) { 8157 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8158 - collection: "app.bsky.feed.post", 8159 - ...params2 8160 - }); 8161 - return res.data; 8162 - } 8163 - async create(params2, record, headers) { 8164 - record.$type = "app.bsky.feed.post"; 8165 - const res = await this._service.xrpc.call( 8166 - "com.atproto.repo.createRecord", 8167 - void 0, 8168 - { collection: "app.bsky.feed.post", ...params2, record }, 8169 - { encoding: "application/json", headers } 8170 - ); 8171 - return res.data; 8172 - } 8173 - async delete(params2, headers) { 8174 - await this._service.xrpc.call( 8175 - "com.atproto.repo.deleteRecord", 8176 - void 0, 8177 - { collection: "app.bsky.feed.post", ...params2 }, 8178 - { headers } 8179 - ); 8180 - } 8181 - }; 8182 - var RepostRecord = class { 8183 - constructor(service) { 8184 - this._service = service; 8185 - } 8186 - async list(params2) { 8187 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8188 - collection: "app.bsky.feed.repost", 8189 - ...params2 8190 - }); 8191 - return res.data; 8192 - } 8193 - async get(params2) { 8194 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8195 - collection: "app.bsky.feed.repost", 8196 - ...params2 8197 - }); 8198 - return res.data; 8199 - } 8200 - async create(params2, record, headers) { 8201 - record.$type = "app.bsky.feed.repost"; 8202 - const res = await this._service.xrpc.call( 8203 - "com.atproto.repo.createRecord", 8204 - void 0, 8205 - { collection: "app.bsky.feed.repost", ...params2, record }, 8206 - { encoding: "application/json", headers } 8207 - ); 8208 - return res.data; 8209 - } 8210 - async delete(params2, headers) { 8211 - await this._service.xrpc.call( 8212 - "com.atproto.repo.deleteRecord", 8213 - void 0, 8214 - { collection: "app.bsky.feed.repost", ...params2 }, 8215 - { headers } 8216 - ); 8217 - } 8218 - }; 8219 - var TrendRecord = class { 8220 - constructor(service) { 8221 - this._service = service; 8222 - } 8223 - async list(params2) { 8224 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8225 - collection: "app.bsky.feed.trend", 8226 - ...params2 8227 - }); 8228 - return res.data; 8229 - } 8230 - async get(params2) { 8231 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8232 - collection: "app.bsky.feed.trend", 8233 - ...params2 8234 - }); 8235 - return res.data; 8236 - } 8237 - async create(params2, record, headers) { 8238 - record.$type = "app.bsky.feed.trend"; 8239 - const res = await this._service.xrpc.call( 8240 - "com.atproto.repo.createRecord", 8241 - void 0, 8242 - { collection: "app.bsky.feed.trend", ...params2, record }, 8243 - { encoding: "application/json", headers } 8244 - ); 8245 - return res.data; 8246 - } 8247 - async delete(params2, headers) { 8248 - await this._service.xrpc.call( 8249 - "com.atproto.repo.deleteRecord", 8250 - void 0, 8251 - { collection: "app.bsky.feed.trend", ...params2 }, 8252 - { headers } 8253 - ); 8254 - } 8255 - }; 8256 - var VoteRecord = class { 8257 - constructor(service) { 8258 - this._service = service; 8259 - } 8260 - async list(params2) { 8261 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8262 - collection: "app.bsky.feed.vote", 8263 - ...params2 8264 - }); 8265 - return res.data; 8266 - } 8267 - async get(params2) { 8268 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8269 - collection: "app.bsky.feed.vote", 8270 - ...params2 8271 - }); 8272 - return res.data; 8273 - } 8274 - async create(params2, record, headers) { 8275 - record.$type = "app.bsky.feed.vote"; 8276 - const res = await this._service.xrpc.call( 8277 - "com.atproto.repo.createRecord", 8278 - void 0, 8279 - { collection: "app.bsky.feed.vote", ...params2, record }, 8280 - { encoding: "application/json", headers } 8281 - ); 8282 - return res.data; 8283 - } 8284 - async delete(params2, headers) { 8285 - await this._service.xrpc.call( 8286 - "com.atproto.repo.deleteRecord", 8287 - void 0, 8288 - { collection: "app.bsky.feed.vote", ...params2 }, 8289 - { headers } 8290 - ); 8291 - } 8292 - }; 8293 - var GraphNS = class { 8294 - constructor(service) { 8295 - this._service = service; 8296 - this.assertion = new AssertionRecord(service); 8297 - this.confirmation = new ConfirmationRecord(service); 8298 - this.follow = new FollowRecord(service); 8299 - } 8300 - getAssertions(params2, opts) { 8301 - return this._service.xrpc.call("app.bsky.graph.getAssertions", params2, void 0, opts).catch((e) => { 8302 - throw toKnownErr36(e); 8303 - }); 8304 - } 8305 - getFollowers(params2, opts) { 8306 - return this._service.xrpc.call("app.bsky.graph.getFollowers", params2, void 0, opts).catch((e) => { 8307 - throw toKnownErr37(e); 8308 - }); 8309 - } 8310 - getFollows(params2, opts) { 8311 - return this._service.xrpc.call("app.bsky.graph.getFollows", params2, void 0, opts).catch((e) => { 8312 - throw toKnownErr38(e); 8313 - }); 8314 - } 8315 - getMembers(params2, opts) { 8316 - return this._service.xrpc.call("app.bsky.graph.getMembers", params2, void 0, opts).catch((e) => { 8317 - throw toKnownErr39(e); 8318 - }); 8319 - } 8320 - getMemberships(params2, opts) { 8321 - return this._service.xrpc.call("app.bsky.graph.getMemberships", params2, void 0, opts).catch((e) => { 8322 - throw toKnownErr40(e); 8323 - }); 8324 - } 8325 - }; 8326 - var AssertionRecord = class { 8327 - constructor(service) { 8328 - this._service = service; 8329 - } 8330 - async list(params2) { 8331 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8332 - collection: "app.bsky.graph.assertion", 8333 - ...params2 8334 - }); 8335 - return res.data; 8336 - } 8337 - async get(params2) { 8338 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8339 - collection: "app.bsky.graph.assertion", 8340 - ...params2 8341 - }); 8342 - return res.data; 8343 - } 8344 - async create(params2, record, headers) { 8345 - record.$type = "app.bsky.graph.assertion"; 8346 - const res = await this._service.xrpc.call( 8347 - "com.atproto.repo.createRecord", 8348 - void 0, 8349 - { collection: "app.bsky.graph.assertion", ...params2, record }, 8350 - { encoding: "application/json", headers } 8351 - ); 8352 - return res.data; 8353 - } 8354 - async delete(params2, headers) { 8355 - await this._service.xrpc.call( 8356 - "com.atproto.repo.deleteRecord", 8357 - void 0, 8358 - { collection: "app.bsky.graph.assertion", ...params2 }, 8359 - { headers } 8360 - ); 8361 - } 8362 - }; 8363 - var ConfirmationRecord = class { 8364 - constructor(service) { 8365 - this._service = service; 8366 - } 8367 - async list(params2) { 8368 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8369 - collection: "app.bsky.graph.confirmation", 8370 - ...params2 8371 - }); 8372 - return res.data; 8373 - } 8374 - async get(params2) { 8375 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8376 - collection: "app.bsky.graph.confirmation", 8377 - ...params2 8378 - }); 8379 - return res.data; 8380 - } 8381 - async create(params2, record, headers) { 8382 - record.$type = "app.bsky.graph.confirmation"; 8383 - const res = await this._service.xrpc.call( 8384 - "com.atproto.repo.createRecord", 8385 - void 0, 8386 - { collection: "app.bsky.graph.confirmation", ...params2, record }, 8387 - { encoding: "application/json", headers } 8388 - ); 8389 - return res.data; 8390 - } 8391 - async delete(params2, headers) { 8392 - await this._service.xrpc.call( 8393 - "com.atproto.repo.deleteRecord", 8394 - void 0, 8395 - { collection: "app.bsky.graph.confirmation", ...params2 }, 8396 - { headers } 8397 - ); 8398 - } 8399 - }; 8400 - var FollowRecord = class { 8401 - constructor(service) { 8402 - this._service = service; 8403 - } 8404 - async list(params2) { 8405 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8406 - collection: "app.bsky.graph.follow", 8407 - ...params2 8408 - }); 8409 - return res.data; 8410 - } 8411 - async get(params2) { 8412 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8413 - collection: "app.bsky.graph.follow", 8414 - ...params2 8415 - }); 8416 - return res.data; 8417 - } 8418 - async create(params2, record, headers) { 8419 - record.$type = "app.bsky.graph.follow"; 8420 - const res = await this._service.xrpc.call( 8421 - "com.atproto.repo.createRecord", 8422 - void 0, 8423 - { collection: "app.bsky.graph.follow", ...params2, record }, 8424 - { encoding: "application/json", headers } 8425 - ); 8426 - return res.data; 8427 - } 8428 - async delete(params2, headers) { 8429 - await this._service.xrpc.call( 8430 - "com.atproto.repo.deleteRecord", 8431 - void 0, 8432 - { collection: "app.bsky.graph.follow", ...params2 }, 8433 - { headers } 8434 - ); 8435 - } 8436 - }; 8437 - var NotificationNS = class { 8438 - constructor(service) { 8439 - this._service = service; 8440 - } 8441 - getCount(params2, opts) { 8442 - return this._service.xrpc.call("app.bsky.notification.getCount", params2, void 0, opts).catch((e) => { 8443 - throw toKnownErr41(e); 8444 - }); 8445 - } 8446 - list(params2, opts) { 8447 - return this._service.xrpc.call("app.bsky.notification.list", params2, void 0, opts).catch((e) => { 8448 - throw toKnownErr42(e); 8449 - }); 8450 - } 8451 - updateSeen(data, opts) { 8452 - return this._service.xrpc.call("app.bsky.notification.updateSeen", opts?.qp, data, opts).catch((e) => { 8453 - throw toKnownErr43(e); 8454 - }); 8455 - } 8456 - }; 8457 - var SystemNS = class { 8458 - constructor(service) { 8459 - this._service = service; 8460 - this.declaration = new DeclarationRecord(service); 8461 - } 8462 - }; 8463 - var DeclarationRecord = class { 8464 - constructor(service) { 8465 - this._service = service; 8466 - } 8467 - async list(params2) { 8468 - const res = await this._service.xrpc.call("com.atproto.repo.listRecords", { 8469 - collection: "app.bsky.system.declaration", 8470 - ...params2 8471 - }); 8472 - return res.data; 8473 - } 8474 - async get(params2) { 8475 - const res = await this._service.xrpc.call("com.atproto.repo.getRecord", { 8476 - collection: "app.bsky.system.declaration", 8477 - ...params2 8478 - }); 8479 - return res.data; 8480 - } 8481 - async create(params2, record, headers) { 8482 - record.$type = "app.bsky.system.declaration"; 8483 - const res = await this._service.xrpc.call( 8484 - "com.atproto.repo.createRecord", 8485 - void 0, 8486 - { collection: "app.bsky.system.declaration", ...params2, record }, 8487 - { encoding: "application/json", headers } 8488 - ); 8489 - return res.data; 8490 - } 8491 - async delete(params2, headers) { 8492 - await this._service.xrpc.call( 8493 - "com.atproto.repo.deleteRecord", 8494 - void 0, 8495 - { collection: "app.bsky.system.declaration", ...params2 }, 8496 - { headers } 8497 - ); 8498 - } 8499 - }; 8500 - 8501 - // src/session.ts 8502 - var import_events = __toESM(require("events")); 8503 - var CREATE_SESSION = "com.atproto.session.create"; 8504 - var REFRESH_SESSION = "com.atproto.session.refresh"; 8505 - var DELETE_SESSION = "com.atproto.session.delete"; 8506 - var CREATE_ACCOUNT = "com.atproto.account.create"; 8507 - var SessionClient = class extends Client2 { 8508 - service(serviceUri) { 8509 - const xrpcService = new SessionXrpcServiceClient(this.xrpc, serviceUri); 8510 - return new SessionServiceClient(this, xrpcService); 8511 - } 8512 - }; 8513 - var defaultInst3 = new SessionClient(); 8514 - var session_default = defaultInst3; 8515 - var SessionServiceClient = class extends ServiceClient2 { 8516 - constructor(baseClient, xrpcService) { 8517 - super(baseClient, xrpcService); 8518 - this.sessionManager = this.xrpc.sessionManager; 8519 - } 8520 - }; 8521 - var SessionXrpcServiceClient = class extends ServiceClient { 8522 - constructor(baseClient, serviceUri) { 8523 - super(baseClient, serviceUri); 8524 - this.sessionManager = new SessionManager(); 8525 - this.sessionManager.on("session", () => { 8526 - const accessHeaders = this.sessionManager.accessHeaders(); 8527 - if (accessHeaders) { 8528 - this.setHeader("authorization", accessHeaders.authorization); 8529 - } else { 8530 - this.unsetHeader("authorization"); 8531 - } 8532 - }); 8533 - } 8534 - async call(methodNsid, params2, data, opts) { 8535 - const original = (overrideOpts) => super.call(methodNsid, params2, data, overrideOpts ?? opts); 8536 - if (opts?.headers?.authorization) { 8537 - return await original(); 8538 - } 8539 - if (methodNsid === REFRESH_SESSION) { 8540 - return await this.refresh(opts); 8541 - } 8542 - await this.refreshing; 8543 - if (methodNsid === CREATE_SESSION || methodNsid === CREATE_ACCOUNT) { 8544 - const result = await original(); 8545 - const { accessJwt, refreshJwt } = result.data; 8546 - this.sessionManager.set({ accessJwt, refreshJwt }); 8547 - return result; 8548 - } 8549 - if (methodNsid === DELETE_SESSION) { 8550 - const result = await original({ 8551 - ...opts, 8552 - headers: { 8553 - ...opts?.headers, 8554 - ...this.sessionManager.refreshHeaders() 8555 - } 8556 - }); 8557 - this.sessionManager.unset(); 8558 - return result; 8559 - } 8560 - try { 8561 - return await original(); 8562 - } catch (err) { 8563 - if (err instanceof XRPCError && err.status === 400 /* InvalidRequest */ && err.error === "ExpiredToken" && this.sessionManager.active()) { 8564 - await this.refresh(opts); 8565 - return await original(); 8566 - } 8567 - throw err; 8568 - } 8569 - } 8570 - async refresh(opts) { 8571 - this.refreshing ?? (this.refreshing = this._refresh(opts)); 8572 - try { 8573 - return await this.refreshing; 8574 - } finally { 8575 - this.refreshing = void 0; 8576 - } 8577 - } 8578 - async _refresh(opts) { 8579 - try { 8580 - const result = await super.call(REFRESH_SESSION, void 0, void 0, { 8581 - ...opts, 8582 - headers: { 8583 - ...opts?.headers, 8584 - ...this.sessionManager.refreshHeaders() 8585 - } 8586 - }); 8587 - const { accessJwt, refreshJwt } = result.data; 8588 - this.sessionManager.set({ accessJwt, refreshJwt }); 8589 - return result; 8590 - } catch (err) { 8591 - if (err instanceof XRPCError && err.status === 400 /* InvalidRequest */ && (err.error === "ExpiredToken" || err.error === "InvalidToken")) { 8592 - this.sessionManager.unset(); 8593 - } 8594 - throw err; 8595 - } 8596 - } 8597 - }; 8598 - var SessionManager = class extends import_events.default { 8599 - get() { 8600 - return this.session; 8601 - } 8602 - set(session) { 8603 - this.session = session; 8604 - this.emit("session", session); 8605 - } 8606 - unset() { 8607 - this.session = void 0; 8608 - this.emit("session", void 0); 8609 - } 8610 - active() { 8611 - return !!this.session; 8612 - } 8613 - accessHeaders() { 8614 - return this.session && { 8615 - authorization: `Bearer ${this.session.accessJwt}` 8616 - }; 8617 - } 8618 - refreshHeaders() { 8619 - return this.session && { 8620 - authorization: `Bearer ${this.session.refreshJwt}` 8621 - }; 8622 - } 8623 - }; 8624 - // Annotate the CommonJS export names for ESM import in node: 8625 - 0 && (module.exports = { 8626 - APP_BSKY_GRAPH, 8627 - APP_BSKY_SYSTEM, 8628 - AccountNS, 8629 - ActorNS, 8630 - AppBskyActorCreateScene, 8631 - AppBskyActorGetProfile, 8632 - AppBskyActorGetSuggestions, 8633 - AppBskyActorProfile, 8634 - AppBskyActorRef, 8635 - AppBskyActorSearch, 8636 - AppBskyActorSearchTypeahead, 8637 - AppBskyActorUpdateProfile, 8638 - AppBskyEmbedExternal, 8639 - AppBskyEmbedImages, 8640 - AppBskyFeedFeedViewPost, 8641 - AppBskyFeedGetAuthorFeed, 8642 - AppBskyFeedGetPostThread, 8643 - AppBskyFeedGetRepostedBy, 8644 - AppBskyFeedGetTimeline, 8645 - AppBskyFeedGetVotes, 8646 - AppBskyFeedPost, 8647 - AppBskyFeedRepost, 8648 - AppBskyFeedSetVote, 8649 - AppBskyFeedTrend, 8650 - AppBskyFeedVote, 8651 - AppBskyGraphAssertCreator, 8652 - AppBskyGraphAssertMember, 8653 - AppBskyGraphAssertion, 8654 - AppBskyGraphConfirmation, 8655 - AppBskyGraphFollow, 8656 - AppBskyGraphGetAssertions, 8657 - AppBskyGraphGetFollowers, 8658 - AppBskyGraphGetFollows, 8659 - AppBskyGraphGetMembers, 8660 - AppBskyGraphGetMemberships, 8661 - AppBskyNotificationGetCount, 8662 - AppBskyNotificationList, 8663 - AppBskyNotificationUpdateSeen, 8664 - AppBskySystemActorScene, 8665 - AppBskySystemActorUser, 8666 - AppBskySystemDeclRef, 8667 - AppBskySystemDeclaration, 8668 - AppNS, 8669 - AssertionRecord, 8670 - AtprotoNS, 8671 - BlobNS, 8672 - BskyNS, 8673 - Client, 8674 - ComAtprotoAccountCreate, 8675 - ComAtprotoAccountCreateInviteCode, 8676 - ComAtprotoAccountDelete, 8677 - ComAtprotoAccountGet, 8678 - ComAtprotoAccountRequestPasswordReset, 8679 - ComAtprotoAccountResetPassword, 8680 - ComAtprotoBlobUpload, 8681 - ComAtprotoHandleResolve, 8682 - ComAtprotoRepoBatchWrite, 8683 - ComAtprotoRepoCreateRecord, 8684 - ComAtprotoRepoDeleteRecord, 8685 - ComAtprotoRepoDescribe, 8686 - ComAtprotoRepoGetRecord, 8687 - ComAtprotoRepoListRecords, 8688 - ComAtprotoRepoPutRecord, 8689 - ComAtprotoRepoStrongRef, 8690 - ComAtprotoServerGetAccountsConfig, 8691 - ComAtprotoSessionCreate, 8692 - ComAtprotoSessionDelete, 8693 - ComAtprotoSessionGet, 8694 - ComAtprotoSessionRefresh, 8695 - ComAtprotoSyncGetRepo, 8696 - ComAtprotoSyncGetRoot, 8697 - ComAtprotoSyncUpdateRepo, 8698 - ComNS, 8699 - ConfirmationRecord, 8700 - DeclarationRecord, 8701 - EmbedNS, 8702 - FeedNS, 8703 - FollowRecord, 8704 - GraphNS, 8705 - HandleNS, 8706 - NotificationNS, 8707 - PostRecord, 8708 - ProfileRecord, 8709 - RepoNS, 8710 - RepostRecord, 8711 - ServerNS, 8712 - ServiceClient, 8713 - SessionClient, 8714 - SessionManager, 8715 - SessionNS, 8716 - SessionServiceClient, 8717 - SessionXrpcServiceClient, 8718 - SyncNS, 8719 - SystemNS, 8720 - TrendRecord, 8721 - VoteRecord, 8722 - sessionClient 8723 - }); 8724 - //# sourceMappingURL=index.js.map
-7
src/third-party/api/index.js.map
··· 1 - { 2 - "version": 3, 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/embed/external.ts", "../src/client/types/app/bsky/embed/images.ts", "../src/client/types/app/bsky/feed/feedViewPost.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"], 4 - "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<any>\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 = <T extends typeof Class>(\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<string, any>\nexport type Headers = Record<string, string>\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<FetchHandlerResponse>\n\nexport const errorResponseBody = z.object({\n error: z.string().optional(),\n message: z.string().optional(),\n})\nexport type ErrorResponseBody = z.infer<typeof errorResponseBody>\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<typeof lexBoolean>\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<typeof lexNumber>\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<typeof lexInteger>\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<typeof lexString>\n\nexport const lexDatetime = z.object({\n type: z.literal('datetime'),\n description: z.string().optional(),\n})\nexport type LexDatetime = z.infer<typeof lexDatetime>\n\nexport const lexUnknown = z.object({\n type: z.literal('unknown'),\n description: z.string().optional(),\n})\nexport type LexUnknown = z.infer<typeof lexUnknown>\n\nexport const lexPrimitive = z.union([\n lexBoolean,\n lexNumber,\n lexInteger,\n lexString,\n lexDatetime,\n lexUnknown,\n])\nexport type LexPrimitive = z.infer<typeof lexPrimitive>\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<typeof lexRef>\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<typeof lexRefUnion>\n\nexport const lexRefVariant = z.union([lexRef, lexRefUnion])\nexport type LexRefVariant = z.infer<typeof lexRefVariant>\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<typeof lexBlob>\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<typeof lexImage>\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<typeof lexVideo>\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<typeof lexAudio>\n\nexport const lexBlobVariant = z.union([lexBlob, lexImage, lexVideo, lexAudio])\nexport type LexBlobVariant = z.infer<typeof lexBlobVariant>\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<typeof lexArray>\n\nexport const lexToken = z.object({\n type: z.literal('token'),\n description: z.string().optional(),\n})\nexport type LexToken = z.infer<typeof lexToken>\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<typeof lexObject>\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<typeof lexXrpcParameters>\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<typeof lexXrpcBody>\n\nexport const lexXrpcError = z.object({\n name: z.string(),\n description: z.string().optional(),\n})\nexport type LexXrpcError = z.infer<typeof lexXrpcError>\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<typeof lexXrpcQuery>\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<typeof lexXrpcProcedure>\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<typeof lexRecord>\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<typeof lexUserType>\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<typeof lexiconDoc>\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<string, unknown> {\n return !!obj && typeof obj === 'object'\n}\n\nexport function hasProp<K extends PropertyKey>(\n data: object,\n prop: K,\n): data is Record<K, unknown> {\n return prop in data\n}\n\nexport const discriminatedObject = z.object({ $type: z.string() })\nexport type DiscriminatedObject = z.infer<typeof discriminatedObject>\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<unknown>).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<unknown>).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<unknown>).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<string, unknown>))) {\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<string, unknown>)[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<string, unknown>)[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<string, LexiconDoc> = new Map()\n defs: Map<string, LexUserType> = 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<string, string>).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<string, string>).$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<string, string> = {}\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<FetchHandlerResponse> {\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 AppBskyEmbedExternal: {\n lexicon: 1,\n id: 'app.bsky.embed.external',\n description:\n 'An representation of some externally linked content, embedded in another form of content',\n defs: {\n main: {\n type: 'object',\n required: ['external'],\n properties: {\n external: {\n type: 'ref',\n ref: 'lex:app.bsky.embed.external#external',\n },\n },\n },\n external: {\n type: 'object',\n required: ['uri', 'title', 'description'],\n properties: {\n uri: {\n type: 'string',\n },\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n thumb: {\n type: 'image',\n accept: ['image/*'],\n maxWidth: 250,\n maxHeight: 250,\n maxSize: 100000,\n },\n },\n },\n presented: {\n type: 'object',\n required: ['external'],\n properties: {\n external: {\n type: 'ref',\n ref: 'lex:app.bsky.embed.external#presentedExternal',\n },\n },\n },\n presentedExternal: {\n type: 'object',\n required: ['uri', 'title', 'description'],\n properties: {\n uri: {\n type: 'string',\n },\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n thumb: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyEmbedImages: {\n lexicon: 1,\n id: 'app.bsky.embed.images',\n description: 'A set of images embedded in some other form of content',\n defs: {\n main: {\n type: 'object',\n required: ['images'],\n properties: {\n images: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.embed.images#image',\n },\n maxLength: 4,\n },\n },\n },\n image: {\n type: 'object',\n required: ['image', 'alt'],\n properties: {\n image: {\n type: 'image',\n accept: ['image/*'],\n maxWidth: 500,\n maxHeight: 500,\n maxSize: 300000,\n },\n alt: {\n type: 'string',\n },\n },\n },\n presented: {\n type: 'object',\n required: ['images'],\n properties: {\n images: {\n type: 'array',\n items: {\n type: 'ref',\n ref: 'lex:app.bsky.embed.images#presentedImage',\n },\n maxLength: 4,\n },\n },\n },\n presentedImage: {\n type: 'object',\n required: ['thumb', 'fullsize', 'alt'],\n properties: {\n thumb: {\n type: 'string',\n },\n fullsize: {\n type: 'string',\n },\n alt: {\n type: 'string',\n },\n },\n },\n },\n },\n AppBskyFeedFeedViewPost: {\n lexicon: 1,\n id: 'app.bsky.feed.feedViewPost',\n defs: {\n main: {\n type: 'object',\n required: ['post'],\n properties: {\n post: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#view',\n },\n reply: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.feedViewPost#replyRef',\n },\n reason: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.feedViewPost#reasonTrend',\n 'lex:app.bsky.feed.feedViewPost#reasonRepost',\n ],\n },\n },\n },\n replyRef: {\n type: 'object',\n required: ['root', 'parent'],\n properties: {\n root: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#view',\n },\n parent: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#view',\n },\n },\n },\n reasonTrend: {\n type: 'object',\n required: ['by', 'indexedAt'],\n properties: {\n by: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n indexedAt: {\n type: 'datetime',\n },\n },\n },\n reasonRepost: {\n type: 'object',\n required: ['by', 'indexedAt'],\n properties: {\n by: {\n type: 'ref',\n ref: 'lex:app.bsky.actor.ref#withInfo',\n },\n indexedAt: {\n type: 'datetime',\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.feedViewPost',\n },\n },\n },\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#threadViewPost',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n },\n },\n },\n errors: [\n {\n name: 'NotFound',\n },\n ],\n },\n threadViewPost: {\n type: 'object',\n required: ['post'],\n properties: {\n post: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#view',\n },\n parent: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#threadViewPost',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\n replies: {\n type: 'array',\n items: {\n type: 'union',\n refs: [\n 'lex:app.bsky.feed.getPostThread#threadViewPost',\n 'lex:app.bsky.feed.getPostThread#notFoundPost',\n ],\n },\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 },\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.feedViewPost',\n },\n },\n },\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 embed: {\n type: 'union',\n refs: [\n 'lex:app.bsky.embed.images',\n 'lex:app.bsky.embed.external',\n ],\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 view: {\n type: 'object',\n required: [\n 'uri',\n 'cid',\n 'author',\n 'record',\n 'replyCount',\n 'repostCount',\n 'upvoteCount',\n 'downvoteCount',\n 'indexedAt',\n 'viewer',\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: 'union',\n refs: [\n 'lex:app.bsky.embed.images#presented',\n 'lex:app.bsky.embed.external#presented',\n ],\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 viewer: {\n type: 'ref',\n ref: 'lex:app.bsky.feed.post#viewerState',\n },\n },\n },\n viewerState: {\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 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 AppBskyEmbedExternal: 'app.bsky.embed.external',\n AppBskyEmbedImages: 'app.bsky.embed.images',\n AppBskyFeedFeedViewPost: 'app.bsky.feed.feedViewPost',\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 AppBskyFeedFeedViewPost from './feedViewPost'\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: AppBskyFeedFeedViewPost.Main[]\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 AppBskyFeedPost from './post'\n\nexport interface QueryParams {\n uri: string\n depth?: number\n}\n\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n thread:\n | ThreadViewPost\n | NotFoundPost\n | { $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 ThreadViewPost {\n post: AppBskyFeedPost.View\n parent?:\n | ThreadViewPost\n | NotFoundPost\n | { $type: string; [k: string]: unknown }\n replies?: (\n | ThreadViewPost\n | NotFoundPost\n | { $type: string; [k: string]: unknown }\n )[]\n [k: string]: unknown\n}\n\nexport interface NotFoundPost {\n uri: string\n notFound: true\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 AppBskyFeedFeedViewPost from './feedViewPost'\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: AppBskyFeedFeedViewPost.Main[]\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 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 */\nexport interface Main {\n external: External\n [k: string]: unknown\n}\n\nexport interface External {\n uri: string\n title: string\n description: string\n thumb?: { cid: string; mimeType: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface Presented {\n external: PresentedExternal\n [k: string]: unknown\n}\n\nexport interface PresentedExternal {\n uri: string\n title: string\n description: string\n thumb?: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nexport interface Main {\n images: Image[]\n [k: string]: unknown\n}\n\nexport interface Image {\n image: { cid: string; mimeType: string; [k: string]: unknown }\n alt: string\n [k: string]: unknown\n}\n\nexport interface Presented {\n images: PresentedImage[]\n [k: string]: unknown\n}\n\nexport interface PresentedImage {\n thumb: string\n fullsize: string\n alt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyFeedPost from './post'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface Main {\n post: AppBskyFeedPost.View\n reply?: ReplyRef\n reason?: ReasonTrend | ReasonRepost | { $type: string; [k: string]: unknown }\n [k: string]: unknown\n}\n\nexport interface ReplyRef {\n root: AppBskyFeedPost.View\n parent: AppBskyFeedPost.View\n [k: string]: unknown\n}\n\nexport interface ReasonTrend {\n by: AppBskyActorRef.WithInfo\n indexedAt: string\n [k: string]: unknown\n}\n\nexport interface ReasonRepost {\n by: AppBskyActorRef.WithInfo\n indexedAt: string\n [k: string]: unknown\n}\n", "/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport * as AppBskyEmbedImages from '../embed/images'\nimport * as AppBskyEmbedExternal from '../embed/external'\nimport * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'\nimport * as AppBskyActorRef from '../actor/ref'\n\nexport interface Record {\n text: string\n entities?: Entity[]\n reply?: ReplyRef\n embed?:\n | AppBskyEmbedImages.Main\n | AppBskyEmbedExternal.Main\n | { $type: string; [k: string]: unknown }\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\nexport interface View {\n uri: string\n cid: string\n author: AppBskyActorRef.WithInfo\n record: {}\n embed?:\n | AppBskyEmbedImages.Presented\n | AppBskyEmbedExternal.Presented\n | { $type: string; [k: string]: unknown }\n replyCount: number\n repostCount: number\n upvoteCount: number\n downvoteCount: number\n indexedAt: string\n viewer: ViewerState\n [k: string]: unknown\n}\n\nexport interface ViewerState {\n repost?: string\n upvote?: string\n downvote?: 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 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 AppBskyEmbedExternal from './types/app/bsky/embed/external'\nimport * as AppBskyEmbedImages from './types/app/bsky/embed/images'\nimport * as AppBskyFeedFeedViewPost from './types/app/bsky/feed/feedViewPost'\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 AppBskyEmbedExternal from './types/app/bsky/embed/external'\nexport * as AppBskyEmbedImages from './types/app/bsky/embed/images'\nexport * as AppBskyFeedFeedViewPost from './types/app/bsky/feed/feedViewPost'\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<ComAtprotoAccountCreate.Response> {\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<ComAtprotoAccountCreateInviteCode.Response> {\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<ComAtprotoAccountDelete.Response> {\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<ComAtprotoAccountGet.Response> {\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<ComAtprotoAccountRequestPasswordReset.Response> {\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<ComAtprotoAccountResetPassword.Response> {\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<ComAtprotoBlobUpload.Response> {\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<ComAtprotoHandleResolve.Response> {\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<ComAtprotoRepoBatchWrite.Response> {\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<ComAtprotoRepoCreateRecord.Response> {\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<ComAtprotoRepoDeleteRecord.Response> {\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<ComAtprotoRepoDescribe.Response> {\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<ComAtprotoRepoGetRecord.Response> {\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<ComAtprotoRepoListRecords.Response> {\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<ComAtprotoRepoPutRecord.Response> {\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<ComAtprotoServerGetAccountsConfig.Response> {\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<ComAtprotoSessionCreate.Response> {\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<ComAtprotoSessionDelete.Response> {\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<ComAtprotoSessionGet.Response> {\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<ComAtprotoSessionRefresh.Response> {\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<ComAtprotoSyncGetRepo.Response> {\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<ComAtprotoSyncGetRoot.Response> {\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<ComAtprotoSyncUpdateRepo.Response> {\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 embed: EmbedNS\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.embed = new EmbedNS(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<AppBskyActorCreateScene.Response> {\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<AppBskyActorGetProfile.Response> {\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<AppBskyActorGetSuggestions.Response> {\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<AppBskyActorSearch.Response> {\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<AppBskyActorSearchTypeahead.Response> {\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<AppBskyActorUpdateProfile.Response> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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 EmbedNS {\n _service: ServiceClient\n\n constructor(service: ServiceClient) {\n this._service = service\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<AppBskyFeedGetAuthorFeed.Response> {\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<AppBskyFeedGetPostThread.Response> {\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<AppBskyFeedGetRepostedBy.Response> {\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<AppBskyFeedGetTimeline.Response> {\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<AppBskyFeedGetVotes.Response> {\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<AppBskyFeedSetVote.Response> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<AppBskyGraphGetAssertions.Response> {\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<AppBskyGraphGetFollowers.Response> {\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<AppBskyGraphGetFollows.Response> {\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<AppBskyGraphGetMembers.Response> {\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<AppBskyGraphGetMemberships.Response> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<AppBskyNotificationGetCount.Response> {\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<AppBskyNotificationList.Response> {\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<AppBskyNotificationUpdateSeen.Response> {\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<ComAtprotoRepoListRecords.QueryParams, 'collection'>,\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<ComAtprotoRepoGetRecord.QueryParams, 'collection'>,\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<string, string>,\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<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>,\n headers?: Record<string, string>,\n ): Promise<void> {\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<XRPCResponse>\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<SessionEvents>) {\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"], 5 - "mappings": "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", 6 - "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"] 7 - }
-462
src/third-party/api/src/client/index.d.ts
··· 1 - import { Client as XrpcClient, ServiceClient as XrpcServiceClient } from '@atproto/xrpc'; 2 - import * as ComAtprotoAccountCreate from './types/com/atproto/account/create'; 3 - import * as ComAtprotoAccountCreateInviteCode from './types/com/atproto/account/createInviteCode'; 4 - import * as ComAtprotoAccountDelete from './types/com/atproto/account/delete'; 5 - import * as ComAtprotoAccountGet from './types/com/atproto/account/get'; 6 - import * as ComAtprotoAccountRequestPasswordReset from './types/com/atproto/account/requestPasswordReset'; 7 - import * as ComAtprotoAccountResetPassword from './types/com/atproto/account/resetPassword'; 8 - import * as ComAtprotoBlobUpload from './types/com/atproto/blob/upload'; 9 - import * as ComAtprotoHandleResolve from './types/com/atproto/handle/resolve'; 10 - import * as ComAtprotoRepoBatchWrite from './types/com/atproto/repo/batchWrite'; 11 - import * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord'; 12 - import * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord'; 13 - import * as ComAtprotoRepoDescribe from './types/com/atproto/repo/describe'; 14 - import * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord'; 15 - import * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords'; 16 - import * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord'; 17 - import * as ComAtprotoServerGetAccountsConfig from './types/com/atproto/server/getAccountsConfig'; 18 - import * as ComAtprotoSessionCreate from './types/com/atproto/session/create'; 19 - import * as ComAtprotoSessionDelete from './types/com/atproto/session/delete'; 20 - import * as ComAtprotoSessionGet from './types/com/atproto/session/get'; 21 - import * as ComAtprotoSessionRefresh from './types/com/atproto/session/refresh'; 22 - import * as ComAtprotoSyncGetRepo from './types/com/atproto/sync/getRepo'; 23 - import * as ComAtprotoSyncGetRoot from './types/com/atproto/sync/getRoot'; 24 - import * as ComAtprotoSyncUpdateRepo from './types/com/atproto/sync/updateRepo'; 25 - import * as AppBskyActorCreateScene from './types/app/bsky/actor/createScene'; 26 - import * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile'; 27 - import * as AppBskyActorGetSuggestions from './types/app/bsky/actor/getSuggestions'; 28 - import * as AppBskyActorProfile from './types/app/bsky/actor/profile'; 29 - import * as AppBskyActorSearch from './types/app/bsky/actor/search'; 30 - import * as AppBskyActorSearchTypeahead from './types/app/bsky/actor/searchTypeahead'; 31 - import * as AppBskyActorUpdateProfile from './types/app/bsky/actor/updateProfile'; 32 - import * as AppBskyFeedGetAuthorFeed from './types/app/bsky/feed/getAuthorFeed'; 33 - import * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread'; 34 - import * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy'; 35 - import * as AppBskyFeedGetTimeline from './types/app/bsky/feed/getTimeline'; 36 - import * as AppBskyFeedGetVotes from './types/app/bsky/feed/getVotes'; 37 - import * as AppBskyFeedPost from './types/app/bsky/feed/post'; 38 - import * as AppBskyFeedRepost from './types/app/bsky/feed/repost'; 39 - import * as AppBskyFeedSetVote from './types/app/bsky/feed/setVote'; 40 - import * as AppBskyFeedTrend from './types/app/bsky/feed/trend'; 41 - import * as AppBskyFeedVote from './types/app/bsky/feed/vote'; 42 - import * as AppBskyGraphAssertion from './types/app/bsky/graph/assertion'; 43 - import * as AppBskyGraphConfirmation from './types/app/bsky/graph/confirmation'; 44 - import * as AppBskyGraphFollow from './types/app/bsky/graph/follow'; 45 - import * as AppBskyGraphGetAssertions from './types/app/bsky/graph/getAssertions'; 46 - import * as AppBskyGraphGetFollowers from './types/app/bsky/graph/getFollowers'; 47 - import * as AppBskyGraphGetFollows from './types/app/bsky/graph/getFollows'; 48 - import * as AppBskyGraphGetMembers from './types/app/bsky/graph/getMembers'; 49 - import * as AppBskyGraphGetMemberships from './types/app/bsky/graph/getMemberships'; 50 - import * as AppBskyNotificationGetCount from './types/app/bsky/notification/getCount'; 51 - import * as AppBskyNotificationList from './types/app/bsky/notification/list'; 52 - import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'; 53 - import * as AppBskySystemDeclaration from './types/app/bsky/system/declaration'; 54 - export * as ComAtprotoAccountCreate from './types/com/atproto/account/create'; 55 - export * as ComAtprotoAccountCreateInviteCode from './types/com/atproto/account/createInviteCode'; 56 - export * as ComAtprotoAccountDelete from './types/com/atproto/account/delete'; 57 - export * as ComAtprotoAccountGet from './types/com/atproto/account/get'; 58 - export * as ComAtprotoAccountRequestPasswordReset from './types/com/atproto/account/requestPasswordReset'; 59 - export * as ComAtprotoAccountResetPassword from './types/com/atproto/account/resetPassword'; 60 - export * as ComAtprotoBlobUpload from './types/com/atproto/blob/upload'; 61 - export * as ComAtprotoHandleResolve from './types/com/atproto/handle/resolve'; 62 - export * as ComAtprotoRepoBatchWrite from './types/com/atproto/repo/batchWrite'; 63 - export * as ComAtprotoRepoCreateRecord from './types/com/atproto/repo/createRecord'; 64 - export * as ComAtprotoRepoDeleteRecord from './types/com/atproto/repo/deleteRecord'; 65 - export * as ComAtprotoRepoDescribe from './types/com/atproto/repo/describe'; 66 - export * as ComAtprotoRepoGetRecord from './types/com/atproto/repo/getRecord'; 67 - export * as ComAtprotoRepoListRecords from './types/com/atproto/repo/listRecords'; 68 - export * as ComAtprotoRepoPutRecord from './types/com/atproto/repo/putRecord'; 69 - export * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef'; 70 - export * as ComAtprotoServerGetAccountsConfig from './types/com/atproto/server/getAccountsConfig'; 71 - export * as ComAtprotoSessionCreate from './types/com/atproto/session/create'; 72 - export * as ComAtprotoSessionDelete from './types/com/atproto/session/delete'; 73 - export * as ComAtprotoSessionGet from './types/com/atproto/session/get'; 74 - export * as ComAtprotoSessionRefresh from './types/com/atproto/session/refresh'; 75 - export * as ComAtprotoSyncGetRepo from './types/com/atproto/sync/getRepo'; 76 - export * as ComAtprotoSyncGetRoot from './types/com/atproto/sync/getRoot'; 77 - export * as ComAtprotoSyncUpdateRepo from './types/com/atproto/sync/updateRepo'; 78 - export * as AppBskyActorCreateScene from './types/app/bsky/actor/createScene'; 79 - export * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile'; 80 - export * as AppBskyActorGetSuggestions from './types/app/bsky/actor/getSuggestions'; 81 - export * as AppBskyActorProfile from './types/app/bsky/actor/profile'; 82 - export * as AppBskyActorRef from './types/app/bsky/actor/ref'; 83 - export * as AppBskyActorSearch from './types/app/bsky/actor/search'; 84 - export * as AppBskyActorSearchTypeahead from './types/app/bsky/actor/searchTypeahead'; 85 - export * as AppBskyActorUpdateProfile from './types/app/bsky/actor/updateProfile'; 86 - export * as AppBskyEmbedExternal from './types/app/bsky/embed/external'; 87 - export * as AppBskyEmbedImages from './types/app/bsky/embed/images'; 88 - export * as AppBskyFeedFeedViewPost from './types/app/bsky/feed/feedViewPost'; 89 - export * as AppBskyFeedGetAuthorFeed from './types/app/bsky/feed/getAuthorFeed'; 90 - export * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread'; 91 - export * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy'; 92 - export * as AppBskyFeedGetTimeline from './types/app/bsky/feed/getTimeline'; 93 - export * as AppBskyFeedGetVotes from './types/app/bsky/feed/getVotes'; 94 - export * as AppBskyFeedPost from './types/app/bsky/feed/post'; 95 - export * as AppBskyFeedRepost from './types/app/bsky/feed/repost'; 96 - export * as AppBskyFeedSetVote from './types/app/bsky/feed/setVote'; 97 - export * as AppBskyFeedTrend from './types/app/bsky/feed/trend'; 98 - export * as AppBskyFeedVote from './types/app/bsky/feed/vote'; 99 - export * as AppBskyGraphAssertCreator from './types/app/bsky/graph/assertCreator'; 100 - export * as AppBskyGraphAssertMember from './types/app/bsky/graph/assertMember'; 101 - export * as AppBskyGraphAssertion from './types/app/bsky/graph/assertion'; 102 - export * as AppBskyGraphConfirmation from './types/app/bsky/graph/confirmation'; 103 - export * as AppBskyGraphFollow from './types/app/bsky/graph/follow'; 104 - export * as AppBskyGraphGetAssertions from './types/app/bsky/graph/getAssertions'; 105 - export * as AppBskyGraphGetFollowers from './types/app/bsky/graph/getFollowers'; 106 - export * as AppBskyGraphGetFollows from './types/app/bsky/graph/getFollows'; 107 - export * as AppBskyGraphGetMembers from './types/app/bsky/graph/getMembers'; 108 - export * as AppBskyGraphGetMemberships from './types/app/bsky/graph/getMemberships'; 109 - export * as AppBskyNotificationGetCount from './types/app/bsky/notification/getCount'; 110 - export * as AppBskyNotificationList from './types/app/bsky/notification/list'; 111 - export * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'; 112 - export * as AppBskySystemActorScene from './types/app/bsky/system/actorScene'; 113 - export * as AppBskySystemActorUser from './types/app/bsky/system/actorUser'; 114 - export * as AppBskySystemDeclRef from './types/app/bsky/system/declRef'; 115 - export * as AppBskySystemDeclaration from './types/app/bsky/system/declaration'; 116 - export declare const APP_BSKY_GRAPH: { 117 - AssertCreator: string; 118 - AssertMember: string; 119 - }; 120 - export declare const APP_BSKY_SYSTEM: { 121 - ActorScene: string; 122 - ActorUser: string; 123 - }; 124 - export declare class Client { 125 - xrpc: XrpcClient; 126 - constructor(); 127 - service(serviceUri: string | URL): ServiceClient; 128 - } 129 - declare const defaultInst: Client; 130 - export default defaultInst; 131 - export declare class ServiceClient { 132 - _baseClient: Client; 133 - xrpc: XrpcServiceClient; 134 - com: ComNS; 135 - app: AppNS; 136 - constructor(baseClient: Client, xrpcService: XrpcServiceClient); 137 - setHeader(key: string, value: string): void; 138 - } 139 - export declare class ComNS { 140 - _service: ServiceClient; 141 - atproto: AtprotoNS; 142 - constructor(service: ServiceClient); 143 - } 144 - export declare class AtprotoNS { 145 - _service: ServiceClient; 146 - account: AccountNS; 147 - blob: BlobNS; 148 - handle: HandleNS; 149 - repo: RepoNS; 150 - server: ServerNS; 151 - session: SessionNS; 152 - sync: SyncNS; 153 - constructor(service: ServiceClient); 154 - } 155 - export declare class AccountNS { 156 - _service: ServiceClient; 157 - constructor(service: ServiceClient); 158 - create(data?: ComAtprotoAccountCreate.InputSchema, opts?: ComAtprotoAccountCreate.CallOptions): Promise<ComAtprotoAccountCreate.Response>; 159 - createInviteCode(data?: ComAtprotoAccountCreateInviteCode.InputSchema, opts?: ComAtprotoAccountCreateInviteCode.CallOptions): Promise<ComAtprotoAccountCreateInviteCode.Response>; 160 - delete(data?: ComAtprotoAccountDelete.InputSchema, opts?: ComAtprotoAccountDelete.CallOptions): Promise<ComAtprotoAccountDelete.Response>; 161 - get(params?: ComAtprotoAccountGet.QueryParams, opts?: ComAtprotoAccountGet.CallOptions): Promise<ComAtprotoAccountGet.Response>; 162 - requestPasswordReset(data?: ComAtprotoAccountRequestPasswordReset.InputSchema, opts?: ComAtprotoAccountRequestPasswordReset.CallOptions): Promise<ComAtprotoAccountRequestPasswordReset.Response>; 163 - resetPassword(data?: ComAtprotoAccountResetPassword.InputSchema, opts?: ComAtprotoAccountResetPassword.CallOptions): Promise<ComAtprotoAccountResetPassword.Response>; 164 - } 165 - export declare class BlobNS { 166 - _service: ServiceClient; 167 - constructor(service: ServiceClient); 168 - upload(data?: ComAtprotoBlobUpload.InputSchema, opts?: ComAtprotoBlobUpload.CallOptions): Promise<ComAtprotoBlobUpload.Response>; 169 - } 170 - export declare class HandleNS { 171 - _service: ServiceClient; 172 - constructor(service: ServiceClient); 173 - resolve(params?: ComAtprotoHandleResolve.QueryParams, opts?: ComAtprotoHandleResolve.CallOptions): Promise<ComAtprotoHandleResolve.Response>; 174 - } 175 - export declare class RepoNS { 176 - _service: ServiceClient; 177 - constructor(service: ServiceClient); 178 - batchWrite(data?: ComAtprotoRepoBatchWrite.InputSchema, opts?: ComAtprotoRepoBatchWrite.CallOptions): Promise<ComAtprotoRepoBatchWrite.Response>; 179 - createRecord(data?: ComAtprotoRepoCreateRecord.InputSchema, opts?: ComAtprotoRepoCreateRecord.CallOptions): Promise<ComAtprotoRepoCreateRecord.Response>; 180 - deleteRecord(data?: ComAtprotoRepoDeleteRecord.InputSchema, opts?: ComAtprotoRepoDeleteRecord.CallOptions): Promise<ComAtprotoRepoDeleteRecord.Response>; 181 - describe(params?: ComAtprotoRepoDescribe.QueryParams, opts?: ComAtprotoRepoDescribe.CallOptions): Promise<ComAtprotoRepoDescribe.Response>; 182 - getRecord(params?: ComAtprotoRepoGetRecord.QueryParams, opts?: ComAtprotoRepoGetRecord.CallOptions): Promise<ComAtprotoRepoGetRecord.Response>; 183 - listRecords(params?: ComAtprotoRepoListRecords.QueryParams, opts?: ComAtprotoRepoListRecords.CallOptions): Promise<ComAtprotoRepoListRecords.Response>; 184 - putRecord(data?: ComAtprotoRepoPutRecord.InputSchema, opts?: ComAtprotoRepoPutRecord.CallOptions): Promise<ComAtprotoRepoPutRecord.Response>; 185 - } 186 - export declare class ServerNS { 187 - _service: ServiceClient; 188 - constructor(service: ServiceClient); 189 - getAccountsConfig(params?: ComAtprotoServerGetAccountsConfig.QueryParams, opts?: ComAtprotoServerGetAccountsConfig.CallOptions): Promise<ComAtprotoServerGetAccountsConfig.Response>; 190 - } 191 - export declare class SessionNS { 192 - _service: ServiceClient; 193 - constructor(service: ServiceClient); 194 - create(data?: ComAtprotoSessionCreate.InputSchema, opts?: ComAtprotoSessionCreate.CallOptions): Promise<ComAtprotoSessionCreate.Response>; 195 - delete(data?: ComAtprotoSessionDelete.InputSchema, opts?: ComAtprotoSessionDelete.CallOptions): Promise<ComAtprotoSessionDelete.Response>; 196 - get(params?: ComAtprotoSessionGet.QueryParams, opts?: ComAtprotoSessionGet.CallOptions): Promise<ComAtprotoSessionGet.Response>; 197 - refresh(data?: ComAtprotoSessionRefresh.InputSchema, opts?: ComAtprotoSessionRefresh.CallOptions): Promise<ComAtprotoSessionRefresh.Response>; 198 - } 199 - export declare class SyncNS { 200 - _service: ServiceClient; 201 - constructor(service: ServiceClient); 202 - getRepo(params?: ComAtprotoSyncGetRepo.QueryParams, opts?: ComAtprotoSyncGetRepo.CallOptions): Promise<ComAtprotoSyncGetRepo.Response>; 203 - getRoot(params?: ComAtprotoSyncGetRoot.QueryParams, opts?: ComAtprotoSyncGetRoot.CallOptions): Promise<ComAtprotoSyncGetRoot.Response>; 204 - updateRepo(data?: ComAtprotoSyncUpdateRepo.InputSchema, opts?: ComAtprotoSyncUpdateRepo.CallOptions): Promise<ComAtprotoSyncUpdateRepo.Response>; 205 - } 206 - export declare class AppNS { 207 - _service: ServiceClient; 208 - bsky: BskyNS; 209 - constructor(service: ServiceClient); 210 - } 211 - export declare class BskyNS { 212 - _service: ServiceClient; 213 - actor: ActorNS; 214 - embed: EmbedNS; 215 - feed: FeedNS; 216 - graph: GraphNS; 217 - notification: NotificationNS; 218 - system: SystemNS; 219 - constructor(service: ServiceClient); 220 - } 221 - export declare class ActorNS { 222 - _service: ServiceClient; 223 - profile: ProfileRecord; 224 - constructor(service: ServiceClient); 225 - createScene(data?: AppBskyActorCreateScene.InputSchema, opts?: AppBskyActorCreateScene.CallOptions): Promise<AppBskyActorCreateScene.Response>; 226 - getProfile(params?: AppBskyActorGetProfile.QueryParams, opts?: AppBskyActorGetProfile.CallOptions): Promise<AppBskyActorGetProfile.Response>; 227 - getSuggestions(params?: AppBskyActorGetSuggestions.QueryParams, opts?: AppBskyActorGetSuggestions.CallOptions): Promise<AppBskyActorGetSuggestions.Response>; 228 - search(params?: AppBskyActorSearch.QueryParams, opts?: AppBskyActorSearch.CallOptions): Promise<AppBskyActorSearch.Response>; 229 - searchTypeahead(params?: AppBskyActorSearchTypeahead.QueryParams, opts?: AppBskyActorSearchTypeahead.CallOptions): Promise<AppBskyActorSearchTypeahead.Response>; 230 - updateProfile(data?: AppBskyActorUpdateProfile.InputSchema, opts?: AppBskyActorUpdateProfile.CallOptions): Promise<AppBskyActorUpdateProfile.Response>; 231 - } 232 - export declare class ProfileRecord { 233 - _service: ServiceClient; 234 - constructor(service: ServiceClient); 235 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 236 - cursor?: string; 237 - records: { 238 - uri: string; 239 - value: AppBskyActorProfile.Record; 240 - }[]; 241 - }>; 242 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 243 - uri: string; 244 - cid: string; 245 - value: AppBskyActorProfile.Record; 246 - }>; 247 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyActorProfile.Record, headers?: Record<string, string>): Promise<{ 248 - uri: string; 249 - cid: string; 250 - }>; 251 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 252 - } 253 - export declare class EmbedNS { 254 - _service: ServiceClient; 255 - constructor(service: ServiceClient); 256 - } 257 - export declare class FeedNS { 258 - _service: ServiceClient; 259 - post: PostRecord; 260 - repost: RepostRecord; 261 - trend: TrendRecord; 262 - vote: VoteRecord; 263 - constructor(service: ServiceClient); 264 - getAuthorFeed(params?: AppBskyFeedGetAuthorFeed.QueryParams, opts?: AppBskyFeedGetAuthorFeed.CallOptions): Promise<AppBskyFeedGetAuthorFeed.Response>; 265 - getPostThread(params?: AppBskyFeedGetPostThread.QueryParams, opts?: AppBskyFeedGetPostThread.CallOptions): Promise<AppBskyFeedGetPostThread.Response>; 266 - getRepostedBy(params?: AppBskyFeedGetRepostedBy.QueryParams, opts?: AppBskyFeedGetRepostedBy.CallOptions): Promise<AppBskyFeedGetRepostedBy.Response>; 267 - getTimeline(params?: AppBskyFeedGetTimeline.QueryParams, opts?: AppBskyFeedGetTimeline.CallOptions): Promise<AppBskyFeedGetTimeline.Response>; 268 - getVotes(params?: AppBskyFeedGetVotes.QueryParams, opts?: AppBskyFeedGetVotes.CallOptions): Promise<AppBskyFeedGetVotes.Response>; 269 - setVote(data?: AppBskyFeedSetVote.InputSchema, opts?: AppBskyFeedSetVote.CallOptions): Promise<AppBskyFeedSetVote.Response>; 270 - } 271 - export declare class PostRecord { 272 - _service: ServiceClient; 273 - constructor(service: ServiceClient); 274 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 275 - cursor?: string; 276 - records: { 277 - uri: string; 278 - value: AppBskyFeedPost.Record; 279 - }[]; 280 - }>; 281 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 282 - uri: string; 283 - cid: string; 284 - value: AppBskyFeedPost.Record; 285 - }>; 286 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyFeedPost.Record, headers?: Record<string, string>): Promise<{ 287 - uri: string; 288 - cid: string; 289 - }>; 290 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 291 - } 292 - export declare class RepostRecord { 293 - _service: ServiceClient; 294 - constructor(service: ServiceClient); 295 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 296 - cursor?: string; 297 - records: { 298 - uri: string; 299 - value: AppBskyFeedRepost.Record; 300 - }[]; 301 - }>; 302 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 303 - uri: string; 304 - cid: string; 305 - value: AppBskyFeedRepost.Record; 306 - }>; 307 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyFeedRepost.Record, headers?: Record<string, string>): Promise<{ 308 - uri: string; 309 - cid: string; 310 - }>; 311 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 312 - } 313 - export declare class TrendRecord { 314 - _service: ServiceClient; 315 - constructor(service: ServiceClient); 316 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 317 - cursor?: string; 318 - records: { 319 - uri: string; 320 - value: AppBskyFeedTrend.Record; 321 - }[]; 322 - }>; 323 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 324 - uri: string; 325 - cid: string; 326 - value: AppBskyFeedTrend.Record; 327 - }>; 328 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyFeedTrend.Record, headers?: Record<string, string>): Promise<{ 329 - uri: string; 330 - cid: string; 331 - }>; 332 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 333 - } 334 - export declare class VoteRecord { 335 - _service: ServiceClient; 336 - constructor(service: ServiceClient); 337 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 338 - cursor?: string; 339 - records: { 340 - uri: string; 341 - value: AppBskyFeedVote.Record; 342 - }[]; 343 - }>; 344 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 345 - uri: string; 346 - cid: string; 347 - value: AppBskyFeedVote.Record; 348 - }>; 349 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyFeedVote.Record, headers?: Record<string, string>): Promise<{ 350 - uri: string; 351 - cid: string; 352 - }>; 353 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 354 - } 355 - export declare class GraphNS { 356 - _service: ServiceClient; 357 - assertion: AssertionRecord; 358 - confirmation: ConfirmationRecord; 359 - follow: FollowRecord; 360 - constructor(service: ServiceClient); 361 - getAssertions(params?: AppBskyGraphGetAssertions.QueryParams, opts?: AppBskyGraphGetAssertions.CallOptions): Promise<AppBskyGraphGetAssertions.Response>; 362 - getFollowers(params?: AppBskyGraphGetFollowers.QueryParams, opts?: AppBskyGraphGetFollowers.CallOptions): Promise<AppBskyGraphGetFollowers.Response>; 363 - getFollows(params?: AppBskyGraphGetFollows.QueryParams, opts?: AppBskyGraphGetFollows.CallOptions): Promise<AppBskyGraphGetFollows.Response>; 364 - getMembers(params?: AppBskyGraphGetMembers.QueryParams, opts?: AppBskyGraphGetMembers.CallOptions): Promise<AppBskyGraphGetMembers.Response>; 365 - getMemberships(params?: AppBskyGraphGetMemberships.QueryParams, opts?: AppBskyGraphGetMemberships.CallOptions): Promise<AppBskyGraphGetMemberships.Response>; 366 - } 367 - export declare class AssertionRecord { 368 - _service: ServiceClient; 369 - constructor(service: ServiceClient); 370 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 371 - cursor?: string; 372 - records: { 373 - uri: string; 374 - value: AppBskyGraphAssertion.Record; 375 - }[]; 376 - }>; 377 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 378 - uri: string; 379 - cid: string; 380 - value: AppBskyGraphAssertion.Record; 381 - }>; 382 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyGraphAssertion.Record, headers?: Record<string, string>): Promise<{ 383 - uri: string; 384 - cid: string; 385 - }>; 386 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 387 - } 388 - export declare class ConfirmationRecord { 389 - _service: ServiceClient; 390 - constructor(service: ServiceClient); 391 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 392 - cursor?: string; 393 - records: { 394 - uri: string; 395 - value: AppBskyGraphConfirmation.Record; 396 - }[]; 397 - }>; 398 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 399 - uri: string; 400 - cid: string; 401 - value: AppBskyGraphConfirmation.Record; 402 - }>; 403 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyGraphConfirmation.Record, headers?: Record<string, string>): Promise<{ 404 - uri: string; 405 - cid: string; 406 - }>; 407 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 408 - } 409 - export declare class FollowRecord { 410 - _service: ServiceClient; 411 - constructor(service: ServiceClient); 412 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 413 - cursor?: string; 414 - records: { 415 - uri: string; 416 - value: AppBskyGraphFollow.Record; 417 - }[]; 418 - }>; 419 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 420 - uri: string; 421 - cid: string; 422 - value: AppBskyGraphFollow.Record; 423 - }>; 424 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskyGraphFollow.Record, headers?: Record<string, string>): Promise<{ 425 - uri: string; 426 - cid: string; 427 - }>; 428 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 429 - } 430 - export declare class NotificationNS { 431 - _service: ServiceClient; 432 - constructor(service: ServiceClient); 433 - getCount(params?: AppBskyNotificationGetCount.QueryParams, opts?: AppBskyNotificationGetCount.CallOptions): Promise<AppBskyNotificationGetCount.Response>; 434 - list(params?: AppBskyNotificationList.QueryParams, opts?: AppBskyNotificationList.CallOptions): Promise<AppBskyNotificationList.Response>; 435 - updateSeen(data?: AppBskyNotificationUpdateSeen.InputSchema, opts?: AppBskyNotificationUpdateSeen.CallOptions): Promise<AppBskyNotificationUpdateSeen.Response>; 436 - } 437 - export declare class SystemNS { 438 - _service: ServiceClient; 439 - declaration: DeclarationRecord; 440 - constructor(service: ServiceClient); 441 - } 442 - export declare class DeclarationRecord { 443 - _service: ServiceClient; 444 - constructor(service: ServiceClient); 445 - list(params: Omit<ComAtprotoRepoListRecords.QueryParams, 'collection'>): Promise<{ 446 - cursor?: string; 447 - records: { 448 - uri: string; 449 - value: AppBskySystemDeclaration.Record; 450 - }[]; 451 - }>; 452 - get(params: Omit<ComAtprotoRepoGetRecord.QueryParams, 'collection'>): Promise<{ 453 - uri: string; 454 - cid: string; 455 - value: AppBskySystemDeclaration.Record; 456 - }>; 457 - create(params: Omit<ComAtprotoRepoCreateRecord.InputSchema, 'collection' | 'record'>, record: AppBskySystemDeclaration.Record, headers?: Record<string, string>): Promise<{ 458 - uri: string; 459 - cid: string; 460 - }>; 461 - delete(params: Omit<ComAtprotoRepoDeleteRecord.InputSchema, 'collection'>, headers?: Record<string, string>): Promise<void>; 462 - }
-2910
src/third-party/api/src/client/lexicons.d.ts
··· 1 - import { LexiconDoc, Lexicons } from '@atproto/lexicon'; 2 - export declare const schemaDict: { 3 - ComAtprotoAccountCreate: { 4 - lexicon: number; 5 - id: string; 6 - defs: { 7 - main: { 8 - type: string; 9 - description: string; 10 - input: { 11 - encoding: string; 12 - schema: { 13 - type: string; 14 - required: string[]; 15 - properties: { 16 - email: { 17 - type: string; 18 - }; 19 - handle: { 20 - type: string; 21 - }; 22 - inviteCode: { 23 - type: string; 24 - }; 25 - password: { 26 - type: string; 27 - }; 28 - recoveryKey: { 29 - type: string; 30 - }; 31 - }; 32 - }; 33 - }; 34 - output: { 35 - encoding: string; 36 - schema: { 37 - type: string; 38 - required: string[]; 39 - properties: { 40 - accessJwt: { 41 - type: string; 42 - }; 43 - refreshJwt: { 44 - type: string; 45 - }; 46 - handle: { 47 - type: string; 48 - }; 49 - did: { 50 - type: string; 51 - }; 52 - }; 53 - }; 54 - }; 55 - errors: { 56 - name: string; 57 - }[]; 58 - }; 59 - }; 60 - }; 61 - ComAtprotoAccountCreateInviteCode: { 62 - lexicon: number; 63 - id: string; 64 - defs: { 65 - main: { 66 - type: string; 67 - description: string; 68 - input: { 69 - encoding: string; 70 - schema: { 71 - type: string; 72 - required: string[]; 73 - properties: { 74 - useCount: { 75 - type: string; 76 - }; 77 - }; 78 - }; 79 - }; 80 - output: { 81 - encoding: string; 82 - schema: { 83 - type: string; 84 - required: string[]; 85 - properties: { 86 - code: { 87 - type: string; 88 - }; 89 - }; 90 - }; 91 - }; 92 - }; 93 - }; 94 - }; 95 - ComAtprotoAccountDelete: { 96 - lexicon: number; 97 - id: string; 98 - defs: { 99 - main: { 100 - type: string; 101 - description: string; 102 - }; 103 - }; 104 - }; 105 - ComAtprotoAccountGet: { 106 - lexicon: number; 107 - id: string; 108 - defs: { 109 - main: { 110 - type: string; 111 - description: string; 112 - }; 113 - }; 114 - }; 115 - ComAtprotoAccountRequestPasswordReset: { 116 - lexicon: number; 117 - id: string; 118 - defs: { 119 - main: { 120 - type: string; 121 - description: string; 122 - input: { 123 - encoding: string; 124 - schema: { 125 - type: string; 126 - required: string[]; 127 - properties: { 128 - email: { 129 - type: string; 130 - }; 131 - }; 132 - }; 133 - }; 134 - }; 135 - }; 136 - }; 137 - ComAtprotoAccountResetPassword: { 138 - lexicon: number; 139 - id: string; 140 - defs: { 141 - main: { 142 - type: string; 143 - description: string; 144 - input: { 145 - encoding: string; 146 - schema: { 147 - type: string; 148 - required: string[]; 149 - properties: { 150 - token: { 151 - type: string; 152 - }; 153 - password: { 154 - type: string; 155 - }; 156 - }; 157 - }; 158 - }; 159 - errors: { 160 - name: string; 161 - }[]; 162 - }; 163 - }; 164 - }; 165 - ComAtprotoBlobUpload: { 166 - lexicon: number; 167 - id: string; 168 - defs: { 169 - main: { 170 - type: string; 171 - description: string; 172 - input: { 173 - encoding: string; 174 - }; 175 - output: { 176 - encoding: string; 177 - schema: { 178 - type: string; 179 - required: string[]; 180 - properties: { 181 - cid: { 182 - type: string; 183 - }; 184 - }; 185 - }; 186 - }; 187 - }; 188 - }; 189 - }; 190 - ComAtprotoHandleResolve: { 191 - lexicon: number; 192 - id: string; 193 - defs: { 194 - main: { 195 - type: string; 196 - description: string; 197 - parameters: { 198 - type: string; 199 - properties: { 200 - handle: { 201 - type: string; 202 - description: string; 203 - }; 204 - }; 205 - }; 206 - output: { 207 - encoding: string; 208 - schema: { 209 - type: string; 210 - required: string[]; 211 - properties: { 212 - did: { 213 - type: string; 214 - }; 215 - }; 216 - }; 217 - }; 218 - }; 219 - }; 220 - }; 221 - ComAtprotoRepoBatchWrite: { 222 - lexicon: number; 223 - id: string; 224 - defs: { 225 - main: { 226 - type: string; 227 - description: string; 228 - input: { 229 - encoding: string; 230 - schema: { 231 - type: string; 232 - required: string[]; 233 - properties: { 234 - did: { 235 - type: string; 236 - description: string; 237 - }; 238 - validate: { 239 - type: string; 240 - default: boolean; 241 - description: string; 242 - }; 243 - writes: { 244 - type: string; 245 - items: { 246 - type: string; 247 - refs: string[]; 248 - closed: boolean; 249 - }; 250 - }; 251 - }; 252 - }; 253 - }; 254 - }; 255 - create: { 256 - type: string; 257 - required: string[]; 258 - properties: { 259 - action: { 260 - type: string; 261 - const: string; 262 - }; 263 - collection: { 264 - type: string; 265 - }; 266 - rkey: { 267 - type: string; 268 - }; 269 - value: { 270 - type: string; 271 - }; 272 - }; 273 - }; 274 - update: { 275 - type: string; 276 - required: string[]; 277 - properties: { 278 - action: { 279 - type: string; 280 - const: string; 281 - }; 282 - collection: { 283 - type: string; 284 - }; 285 - rkey: { 286 - type: string; 287 - }; 288 - value: { 289 - type: string; 290 - }; 291 - }; 292 - }; 293 - delete: { 294 - type: string; 295 - required: string[]; 296 - properties: { 297 - action: { 298 - type: string; 299 - const: string; 300 - }; 301 - collection: { 302 - type: string; 303 - }; 304 - rkey: { 305 - type: string; 306 - }; 307 - }; 308 - }; 309 - }; 310 - }; 311 - ComAtprotoRepoCreateRecord: { 312 - lexicon: number; 313 - id: string; 314 - defs: { 315 - main: { 316 - type: string; 317 - description: string; 318 - input: { 319 - encoding: string; 320 - schema: { 321 - type: string; 322 - required: string[]; 323 - properties: { 324 - did: { 325 - type: string; 326 - description: string; 327 - }; 328 - collection: { 329 - type: string; 330 - description: string; 331 - }; 332 - validate: { 333 - type: string; 334 - default: boolean; 335 - description: string; 336 - }; 337 - record: { 338 - type: string; 339 - description: string; 340 - }; 341 - }; 342 - }; 343 - }; 344 - output: { 345 - encoding: string; 346 - schema: { 347 - type: string; 348 - required: string[]; 349 - properties: { 350 - uri: { 351 - type: string; 352 - }; 353 - cid: { 354 - type: string; 355 - }; 356 - }; 357 - }; 358 - }; 359 - }; 360 - }; 361 - }; 362 - ComAtprotoRepoDeleteRecord: { 363 - lexicon: number; 364 - id: string; 365 - defs: { 366 - main: { 367 - type: string; 368 - description: string; 369 - input: { 370 - encoding: string; 371 - schema: { 372 - type: string; 373 - required: string[]; 374 - properties: { 375 - did: { 376 - type: string; 377 - description: string; 378 - }; 379 - collection: { 380 - type: string; 381 - description: string; 382 - }; 383 - rkey: { 384 - type: string; 385 - description: string; 386 - }; 387 - }; 388 - }; 389 - }; 390 - }; 391 - }; 392 - }; 393 - ComAtprotoRepoDescribe: { 394 - lexicon: number; 395 - id: string; 396 - defs: { 397 - main: { 398 - type: string; 399 - description: string; 400 - parameters: { 401 - type: string; 402 - required: string[]; 403 - properties: { 404 - user: { 405 - type: string; 406 - description: string; 407 - }; 408 - }; 409 - }; 410 - output: { 411 - encoding: string; 412 - schema: { 413 - type: string; 414 - required: string[]; 415 - properties: { 416 - handle: { 417 - type: string; 418 - }; 419 - did: { 420 - type: string; 421 - }; 422 - didDoc: { 423 - type: string; 424 - }; 425 - collections: { 426 - type: string; 427 - items: { 428 - type: string; 429 - }; 430 - }; 431 - handleIsCorrect: { 432 - type: string; 433 - }; 434 - }; 435 - }; 436 - }; 437 - }; 438 - }; 439 - }; 440 - ComAtprotoRepoGetRecord: { 441 - lexicon: number; 442 - id: string; 443 - defs: { 444 - main: { 445 - type: string; 446 - description: string; 447 - parameters: { 448 - type: string; 449 - required: string[]; 450 - properties: { 451 - user: { 452 - type: string; 453 - description: string; 454 - }; 455 - collection: { 456 - type: string; 457 - description: string; 458 - }; 459 - rkey: { 460 - type: string; 461 - description: string; 462 - }; 463 - cid: { 464 - type: string; 465 - description: string; 466 - }; 467 - }; 468 - }; 469 - output: { 470 - encoding: string; 471 - schema: { 472 - type: string; 473 - required: string[]; 474 - properties: { 475 - uri: { 476 - type: string; 477 - }; 478 - cid: { 479 - type: string; 480 - }; 481 - value: { 482 - type: string; 483 - }; 484 - }; 485 - }; 486 - }; 487 - }; 488 - }; 489 - }; 490 - ComAtprotoRepoListRecords: { 491 - lexicon: number; 492 - id: string; 493 - defs: { 494 - main: { 495 - type: string; 496 - description: string; 497 - parameters: { 498 - type: string; 499 - required: string[]; 500 - properties: { 501 - user: { 502 - type: string; 503 - description: string; 504 - }; 505 - collection: { 506 - type: string; 507 - description: string; 508 - }; 509 - limit: { 510 - type: string; 511 - minimum: number; 512 - maximum: number; 513 - default: number; 514 - description: string; 515 - }; 516 - before: { 517 - type: string; 518 - description: string; 519 - }; 520 - after: { 521 - type: string; 522 - description: string; 523 - }; 524 - reverse: { 525 - type: string; 526 - description: string; 527 - }; 528 - }; 529 - }; 530 - output: { 531 - encoding: string; 532 - schema: { 533 - type: string; 534 - required: string[]; 535 - properties: { 536 - cursor: { 537 - type: string; 538 - }; 539 - records: { 540 - type: string; 541 - items: { 542 - type: string; 543 - ref: string; 544 - }; 545 - }; 546 - }; 547 - }; 548 - }; 549 - }; 550 - record: { 551 - type: string; 552 - required: string[]; 553 - properties: { 554 - uri: { 555 - type: string; 556 - }; 557 - cid: { 558 - type: string; 559 - }; 560 - value: { 561 - type: string; 562 - }; 563 - }; 564 - }; 565 - }; 566 - }; 567 - ComAtprotoRepoPutRecord: { 568 - lexicon: number; 569 - id: string; 570 - defs: { 571 - main: { 572 - type: string; 573 - description: string; 574 - input: { 575 - encoding: string; 576 - schema: { 577 - type: string; 578 - required: string[]; 579 - properties: { 580 - did: { 581 - type: string; 582 - description: string; 583 - }; 584 - collection: { 585 - type: string; 586 - description: string; 587 - }; 588 - rkey: { 589 - type: string; 590 - description: string; 591 - }; 592 - validate: { 593 - type: string; 594 - default: boolean; 595 - description: string; 596 - }; 597 - record: { 598 - type: string; 599 - description: string; 600 - }; 601 - }; 602 - }; 603 - }; 604 - output: { 605 - encoding: string; 606 - schema: { 607 - type: string; 608 - required: string[]; 609 - properties: { 610 - uri: { 611 - type: string; 612 - }; 613 - cid: { 614 - type: string; 615 - }; 616 - }; 617 - }; 618 - }; 619 - }; 620 - }; 621 - }; 622 - ComAtprotoRepoStrongRef: { 623 - lexicon: number; 624 - id: string; 625 - description: string; 626 - defs: { 627 - main: { 628 - type: string; 629 - required: string[]; 630 - properties: { 631 - uri: { 632 - type: string; 633 - }; 634 - cid: { 635 - type: string; 636 - }; 637 - }; 638 - }; 639 - }; 640 - }; 641 - ComAtprotoServerGetAccountsConfig: { 642 - lexicon: number; 643 - id: string; 644 - defs: { 645 - main: { 646 - type: string; 647 - description: string; 648 - output: { 649 - encoding: string; 650 - schema: { 651 - type: string; 652 - required: string[]; 653 - properties: { 654 - inviteCodeRequired: { 655 - type: string; 656 - }; 657 - availableUserDomains: { 658 - type: string; 659 - items: { 660 - type: string; 661 - }; 662 - }; 663 - links: { 664 - type: string; 665 - ref: string; 666 - }; 667 - }; 668 - }; 669 - }; 670 - }; 671 - links: { 672 - type: string; 673 - properties: { 674 - privacyPolicy: { 675 - type: string; 676 - }; 677 - termsOfService: { 678 - type: string; 679 - }; 680 - }; 681 - }; 682 - }; 683 - }; 684 - ComAtprotoSessionCreate: { 685 - lexicon: number; 686 - id: string; 687 - defs: { 688 - main: { 689 - type: string; 690 - description: string; 691 - input: { 692 - encoding: string; 693 - schema: { 694 - type: string; 695 - required: string[]; 696 - properties: { 697 - handle: { 698 - type: string; 699 - }; 700 - password: { 701 - type: string; 702 - }; 703 - }; 704 - }; 705 - }; 706 - output: { 707 - encoding: string; 708 - schema: { 709 - type: string; 710 - required: string[]; 711 - properties: { 712 - accessJwt: { 713 - type: string; 714 - }; 715 - refreshJwt: { 716 - type: string; 717 - }; 718 - handle: { 719 - type: string; 720 - }; 721 - did: { 722 - type: string; 723 - }; 724 - }; 725 - }; 726 - }; 727 - }; 728 - }; 729 - }; 730 - ComAtprotoSessionDelete: { 731 - lexicon: number; 732 - id: string; 733 - defs: { 734 - main: { 735 - type: string; 736 - description: string; 737 - }; 738 - }; 739 - }; 740 - ComAtprotoSessionGet: { 741 - lexicon: number; 742 - id: string; 743 - defs: { 744 - main: { 745 - type: string; 746 - description: string; 747 - output: { 748 - encoding: string; 749 - schema: { 750 - type: string; 751 - required: string[]; 752 - properties: { 753 - handle: { 754 - type: string; 755 - }; 756 - did: { 757 - type: string; 758 - }; 759 - }; 760 - }; 761 - }; 762 - }; 763 - }; 764 - }; 765 - ComAtprotoSessionRefresh: { 766 - lexicon: number; 767 - id: string; 768 - defs: { 769 - main: { 770 - type: string; 771 - description: string; 772 - output: { 773 - encoding: string; 774 - schema: { 775 - type: string; 776 - required: string[]; 777 - properties: { 778 - accessJwt: { 779 - type: string; 780 - }; 781 - refreshJwt: { 782 - type: string; 783 - }; 784 - handle: { 785 - type: string; 786 - }; 787 - did: { 788 - type: string; 789 - }; 790 - }; 791 - }; 792 - }; 793 - }; 794 - }; 795 - }; 796 - ComAtprotoSyncGetRepo: { 797 - lexicon: number; 798 - id: string; 799 - defs: { 800 - main: { 801 - type: string; 802 - description: string; 803 - parameters: { 804 - type: string; 805 - required: string[]; 806 - properties: { 807 - did: { 808 - type: string; 809 - description: string; 810 - }; 811 - from: { 812 - type: string; 813 - description: string; 814 - }; 815 - }; 816 - }; 817 - output: { 818 - encoding: string; 819 - }; 820 - }; 821 - }; 822 - }; 823 - ComAtprotoSyncGetRoot: { 824 - lexicon: number; 825 - id: string; 826 - defs: { 827 - main: { 828 - type: string; 829 - description: string; 830 - parameters: { 831 - type: string; 832 - required: string[]; 833 - properties: { 834 - did: { 835 - type: string; 836 - description: string; 837 - }; 838 - }; 839 - }; 840 - output: { 841 - encoding: string; 842 - schema: { 843 - type: string; 844 - required: string[]; 845 - properties: { 846 - root: { 847 - type: string; 848 - }; 849 - }; 850 - }; 851 - }; 852 - }; 853 - }; 854 - }; 855 - ComAtprotoSyncUpdateRepo: { 856 - lexicon: number; 857 - id: string; 858 - defs: { 859 - main: { 860 - type: string; 861 - description: string; 862 - parameters: { 863 - type: string; 864 - required: string[]; 865 - properties: { 866 - did: { 867 - type: string; 868 - description: string; 869 - }; 870 - }; 871 - }; 872 - input: { 873 - encoding: string; 874 - }; 875 - }; 876 - }; 877 - }; 878 - AppBskyActorCreateScene: { 879 - lexicon: number; 880 - id: string; 881 - defs: { 882 - main: { 883 - type: string; 884 - description: string; 885 - input: { 886 - encoding: string; 887 - schema: { 888 - type: string; 889 - required: string[]; 890 - properties: { 891 - handle: { 892 - type: string; 893 - }; 894 - recoveryKey: { 895 - type: string; 896 - }; 897 - }; 898 - }; 899 - }; 900 - output: { 901 - encoding: string; 902 - schema: { 903 - type: string; 904 - required: string[]; 905 - properties: { 906 - handle: { 907 - type: string; 908 - }; 909 - did: { 910 - type: string; 911 - }; 912 - declaration: { 913 - type: string; 914 - ref: string; 915 - }; 916 - }; 917 - }; 918 - }; 919 - errors: { 920 - name: string; 921 - }[]; 922 - }; 923 - }; 924 - }; 925 - AppBskyActorGetProfile: { 926 - lexicon: number; 927 - id: string; 928 - defs: { 929 - main: { 930 - type: string; 931 - parameters: { 932 - type: string; 933 - required: string[]; 934 - properties: { 935 - actor: { 936 - type: string; 937 - }; 938 - }; 939 - }; 940 - output: { 941 - encoding: string; 942 - schema: { 943 - type: string; 944 - required: string[]; 945 - properties: { 946 - did: { 947 - type: string; 948 - }; 949 - declaration: { 950 - type: string; 951 - ref: string; 952 - }; 953 - handle: { 954 - type: string; 955 - }; 956 - creator: { 957 - type: string; 958 - }; 959 - displayName: { 960 - type: string; 961 - maxLength: number; 962 - }; 963 - description: { 964 - type: string; 965 - maxLength: number; 966 - }; 967 - avatar: { 968 - type: string; 969 - }; 970 - banner: { 971 - type: string; 972 - }; 973 - followersCount: { 974 - type: string; 975 - }; 976 - followsCount: { 977 - type: string; 978 - }; 979 - membersCount: { 980 - type: string; 981 - }; 982 - postsCount: { 983 - type: string; 984 - }; 985 - myState: { 986 - type: string; 987 - ref: string; 988 - }; 989 - }; 990 - }; 991 - }; 992 - }; 993 - myState: { 994 - type: string; 995 - properties: { 996 - follow: { 997 - type: string; 998 - }; 999 - member: { 1000 - type: string; 1001 - }; 1002 - }; 1003 - }; 1004 - }; 1005 - }; 1006 - AppBskyActorGetSuggestions: { 1007 - lexicon: number; 1008 - id: string; 1009 - defs: { 1010 - main: { 1011 - type: string; 1012 - description: string; 1013 - parameters: { 1014 - type: string; 1015 - properties: { 1016 - limit: { 1017 - type: string; 1018 - minimum: number; 1019 - maximum: number; 1020 - default: number; 1021 - }; 1022 - cursor: { 1023 - type: string; 1024 - }; 1025 - }; 1026 - }; 1027 - output: { 1028 - encoding: string; 1029 - schema: { 1030 - type: string; 1031 - required: string[]; 1032 - properties: { 1033 - cursor: { 1034 - type: string; 1035 - }; 1036 - actors: { 1037 - type: string; 1038 - items: { 1039 - type: string; 1040 - ref: string; 1041 - }; 1042 - }; 1043 - }; 1044 - }; 1045 - }; 1046 - }; 1047 - actor: { 1048 - type: string; 1049 - required: string[]; 1050 - properties: { 1051 - did: { 1052 - type: string; 1053 - }; 1054 - declaration: { 1055 - type: string; 1056 - ref: string; 1057 - }; 1058 - handle: { 1059 - type: string; 1060 - }; 1061 - displayName: { 1062 - type: string; 1063 - maxLength: number; 1064 - }; 1065 - description: { 1066 - type: string; 1067 - }; 1068 - avatar: { 1069 - type: string; 1070 - }; 1071 - indexedAt: { 1072 - type: string; 1073 - }; 1074 - myState: { 1075 - type: string; 1076 - ref: string; 1077 - }; 1078 - }; 1079 - }; 1080 - myState: { 1081 - type: string; 1082 - properties: { 1083 - follow: { 1084 - type: string; 1085 - }; 1086 - }; 1087 - }; 1088 - }; 1089 - }; 1090 - AppBskyActorProfile: { 1091 - lexicon: number; 1092 - id: string; 1093 - defs: { 1094 - main: { 1095 - type: string; 1096 - key: string; 1097 - record: { 1098 - type: string; 1099 - required: string[]; 1100 - properties: { 1101 - displayName: { 1102 - type: string; 1103 - maxLength: number; 1104 - }; 1105 - description: { 1106 - type: string; 1107 - maxLength: number; 1108 - }; 1109 - avatar: { 1110 - type: string; 1111 - accept: string[]; 1112 - maxWidth: number; 1113 - maxHeight: number; 1114 - maxSize: number; 1115 - }; 1116 - banner: { 1117 - type: string; 1118 - accept: string[]; 1119 - maxWidth: number; 1120 - maxHeight: number; 1121 - maxSize: number; 1122 - }; 1123 - }; 1124 - }; 1125 - }; 1126 - }; 1127 - }; 1128 - AppBskyActorRef: { 1129 - lexicon: number; 1130 - id: string; 1131 - description: string; 1132 - defs: { 1133 - main: { 1134 - type: string; 1135 - required: string[]; 1136 - properties: { 1137 - did: { 1138 - type: string; 1139 - }; 1140 - declarationCid: { 1141 - type: string; 1142 - }; 1143 - }; 1144 - }; 1145 - withInfo: { 1146 - type: string; 1147 - required: string[]; 1148 - properties: { 1149 - did: { 1150 - type: string; 1151 - }; 1152 - declaration: { 1153 - type: string; 1154 - ref: string; 1155 - }; 1156 - handle: { 1157 - type: string; 1158 - }; 1159 - displayName: { 1160 - type: string; 1161 - maxLength: number; 1162 - }; 1163 - avatar: { 1164 - type: string; 1165 - }; 1166 - }; 1167 - }; 1168 - }; 1169 - }; 1170 - AppBskyActorSearch: { 1171 - lexicon: number; 1172 - id: string; 1173 - defs: { 1174 - main: { 1175 - type: string; 1176 - description: string; 1177 - parameters: { 1178 - type: string; 1179 - required: string[]; 1180 - properties: { 1181 - term: { 1182 - type: string; 1183 - }; 1184 - limit: { 1185 - type: string; 1186 - minimum: number; 1187 - maximum: number; 1188 - default: number; 1189 - }; 1190 - before: { 1191 - type: string; 1192 - }; 1193 - }; 1194 - }; 1195 - output: { 1196 - encoding: string; 1197 - schema: { 1198 - type: string; 1199 - required: string[]; 1200 - properties: { 1201 - cursor: { 1202 - type: string; 1203 - }; 1204 - users: { 1205 - type: string; 1206 - items: { 1207 - type: string; 1208 - ref: string; 1209 - }; 1210 - }; 1211 - }; 1212 - }; 1213 - }; 1214 - }; 1215 - user: { 1216 - type: string; 1217 - required: string[]; 1218 - properties: { 1219 - did: { 1220 - type: string; 1221 - }; 1222 - declaration: { 1223 - type: string; 1224 - ref: string; 1225 - }; 1226 - handle: { 1227 - type: string; 1228 - }; 1229 - displayName: { 1230 - type: string; 1231 - maxLength: number; 1232 - }; 1233 - avatar: { 1234 - type: string; 1235 - }; 1236 - description: { 1237 - type: string; 1238 - }; 1239 - indexedAt: { 1240 - type: string; 1241 - }; 1242 - }; 1243 - }; 1244 - }; 1245 - }; 1246 - AppBskyActorSearchTypeahead: { 1247 - lexicon: number; 1248 - id: string; 1249 - defs: { 1250 - main: { 1251 - type: string; 1252 - description: string; 1253 - parameters: { 1254 - type: string; 1255 - required: string[]; 1256 - properties: { 1257 - term: { 1258 - type: string; 1259 - }; 1260 - limit: { 1261 - type: string; 1262 - minimum: number; 1263 - maximum: number; 1264 - default: number; 1265 - }; 1266 - }; 1267 - }; 1268 - output: { 1269 - encoding: string; 1270 - schema: { 1271 - type: string; 1272 - required: string[]; 1273 - properties: { 1274 - users: { 1275 - type: string; 1276 - items: { 1277 - type: string; 1278 - ref: string; 1279 - }; 1280 - }; 1281 - }; 1282 - }; 1283 - }; 1284 - }; 1285 - user: { 1286 - type: string; 1287 - required: string[]; 1288 - properties: { 1289 - did: { 1290 - type: string; 1291 - }; 1292 - declaration: { 1293 - type: string; 1294 - ref: string; 1295 - }; 1296 - handle: { 1297 - type: string; 1298 - }; 1299 - displayName: { 1300 - type: string; 1301 - maxLength: number; 1302 - }; 1303 - avatar: { 1304 - type: string; 1305 - }; 1306 - }; 1307 - }; 1308 - }; 1309 - }; 1310 - AppBskyActorUpdateProfile: { 1311 - lexicon: number; 1312 - id: string; 1313 - defs: { 1314 - main: { 1315 - type: string; 1316 - description: string; 1317 - input: { 1318 - encoding: string; 1319 - schema: { 1320 - type: string; 1321 - properties: { 1322 - did: { 1323 - type: string; 1324 - }; 1325 - displayName: { 1326 - type: string; 1327 - maxLength: number; 1328 - }; 1329 - description: { 1330 - type: string; 1331 - maxLength: number; 1332 - }; 1333 - avatar: { 1334 - type: string; 1335 - accept: string[]; 1336 - maxWidth: number; 1337 - maxHeight: number; 1338 - maxSize: number; 1339 - }; 1340 - banner: { 1341 - type: string; 1342 - accept: string[]; 1343 - maxWidth: number; 1344 - maxHeight: number; 1345 - maxSize: number; 1346 - }; 1347 - }; 1348 - }; 1349 - }; 1350 - output: { 1351 - encoding: string; 1352 - schema: { 1353 - type: string; 1354 - required: string[]; 1355 - properties: { 1356 - uri: { 1357 - type: string; 1358 - }; 1359 - cid: { 1360 - type: string; 1361 - }; 1362 - record: { 1363 - type: string; 1364 - }; 1365 - }; 1366 - }; 1367 - }; 1368 - errors: { 1369 - name: string; 1370 - }[]; 1371 - }; 1372 - }; 1373 - }; 1374 - AppBskyEmbedExternal: { 1375 - lexicon: number; 1376 - id: string; 1377 - description: string; 1378 - defs: { 1379 - main: { 1380 - type: string; 1381 - required: string[]; 1382 - properties: { 1383 - external: { 1384 - type: string; 1385 - ref: string; 1386 - }; 1387 - }; 1388 - }; 1389 - external: { 1390 - type: string; 1391 - required: string[]; 1392 - properties: { 1393 - uri: { 1394 - type: string; 1395 - }; 1396 - title: { 1397 - type: string; 1398 - }; 1399 - description: { 1400 - type: string; 1401 - }; 1402 - thumb: { 1403 - type: string; 1404 - accept: string[]; 1405 - maxWidth: number; 1406 - maxHeight: number; 1407 - maxSize: number; 1408 - }; 1409 - }; 1410 - }; 1411 - presented: { 1412 - type: string; 1413 - required: string[]; 1414 - properties: { 1415 - external: { 1416 - type: string; 1417 - ref: string; 1418 - }; 1419 - }; 1420 - }; 1421 - presentedExternal: { 1422 - type: string; 1423 - required: string[]; 1424 - properties: { 1425 - uri: { 1426 - type: string; 1427 - }; 1428 - title: { 1429 - type: string; 1430 - }; 1431 - description: { 1432 - type: string; 1433 - }; 1434 - thumb: { 1435 - type: string; 1436 - }; 1437 - }; 1438 - }; 1439 - }; 1440 - }; 1441 - AppBskyEmbedImages: { 1442 - lexicon: number; 1443 - id: string; 1444 - description: string; 1445 - defs: { 1446 - main: { 1447 - type: string; 1448 - required: string[]; 1449 - properties: { 1450 - images: { 1451 - type: string; 1452 - items: { 1453 - type: string; 1454 - ref: string; 1455 - }; 1456 - maxLength: number; 1457 - }; 1458 - }; 1459 - }; 1460 - image: { 1461 - type: string; 1462 - required: string[]; 1463 - properties: { 1464 - image: { 1465 - type: string; 1466 - accept: string[]; 1467 - maxWidth: number; 1468 - maxHeight: number; 1469 - maxSize: number; 1470 - }; 1471 - alt: { 1472 - type: string; 1473 - }; 1474 - }; 1475 - }; 1476 - presented: { 1477 - type: string; 1478 - required: string[]; 1479 - properties: { 1480 - images: { 1481 - type: string; 1482 - items: { 1483 - type: string; 1484 - ref: string; 1485 - }; 1486 - maxLength: number; 1487 - }; 1488 - }; 1489 - }; 1490 - presentedImage: { 1491 - type: string; 1492 - required: string[]; 1493 - properties: { 1494 - thumb: { 1495 - type: string; 1496 - }; 1497 - fullsize: { 1498 - type: string; 1499 - }; 1500 - alt: { 1501 - type: string; 1502 - }; 1503 - }; 1504 - }; 1505 - }; 1506 - }; 1507 - AppBskyFeedFeedViewPost: { 1508 - lexicon: number; 1509 - id: string; 1510 - defs: { 1511 - main: { 1512 - type: string; 1513 - required: string[]; 1514 - properties: { 1515 - post: { 1516 - type: string; 1517 - ref: string; 1518 - }; 1519 - reply: { 1520 - type: string; 1521 - ref: string; 1522 - }; 1523 - reason: { 1524 - type: string; 1525 - refs: string[]; 1526 - }; 1527 - }; 1528 - }; 1529 - replyRef: { 1530 - type: string; 1531 - required: string[]; 1532 - properties: { 1533 - root: { 1534 - type: string; 1535 - ref: string; 1536 - }; 1537 - parent: { 1538 - type: string; 1539 - ref: string; 1540 - }; 1541 - }; 1542 - }; 1543 - reasonTrend: { 1544 - type: string; 1545 - required: string[]; 1546 - properties: { 1547 - by: { 1548 - type: string; 1549 - ref: string; 1550 - }; 1551 - indexedAt: { 1552 - type: string; 1553 - }; 1554 - }; 1555 - }; 1556 - reasonRepost: { 1557 - type: string; 1558 - required: string[]; 1559 - properties: { 1560 - by: { 1561 - type: string; 1562 - ref: string; 1563 - }; 1564 - indexedAt: { 1565 - type: string; 1566 - }; 1567 - }; 1568 - }; 1569 - }; 1570 - }; 1571 - AppBskyFeedGetAuthorFeed: { 1572 - lexicon: number; 1573 - id: string; 1574 - defs: { 1575 - main: { 1576 - type: string; 1577 - description: string; 1578 - parameters: { 1579 - type: string; 1580 - required: string[]; 1581 - properties: { 1582 - author: { 1583 - type: string; 1584 - }; 1585 - limit: { 1586 - type: string; 1587 - minimum: number; 1588 - maximum: number; 1589 - default: number; 1590 - }; 1591 - before: { 1592 - type: string; 1593 - }; 1594 - }; 1595 - }; 1596 - output: { 1597 - encoding: string; 1598 - schema: { 1599 - type: string; 1600 - required: string[]; 1601 - properties: { 1602 - cursor: { 1603 - type: string; 1604 - }; 1605 - feed: { 1606 - type: string; 1607 - items: { 1608 - type: string; 1609 - ref: string; 1610 - }; 1611 - }; 1612 - }; 1613 - }; 1614 - }; 1615 - }; 1616 - }; 1617 - }; 1618 - AppBskyFeedGetPostThread: { 1619 - lexicon: number; 1620 - id: string; 1621 - defs: { 1622 - main: { 1623 - type: string; 1624 - parameters: { 1625 - type: string; 1626 - required: string[]; 1627 - properties: { 1628 - uri: { 1629 - type: string; 1630 - }; 1631 - depth: { 1632 - type: string; 1633 - }; 1634 - }; 1635 - }; 1636 - output: { 1637 - encoding: string; 1638 - schema: { 1639 - type: string; 1640 - required: string[]; 1641 - properties: { 1642 - thread: { 1643 - type: string; 1644 - refs: string[]; 1645 - }; 1646 - }; 1647 - }; 1648 - }; 1649 - errors: { 1650 - name: string; 1651 - }[]; 1652 - }; 1653 - threadViewPost: { 1654 - type: string; 1655 - required: string[]; 1656 - properties: { 1657 - post: { 1658 - type: string; 1659 - ref: string; 1660 - }; 1661 - parent: { 1662 - type: string; 1663 - refs: string[]; 1664 - }; 1665 - replies: { 1666 - type: string; 1667 - items: { 1668 - type: string; 1669 - refs: string[]; 1670 - }; 1671 - }; 1672 - }; 1673 - }; 1674 - notFoundPost: { 1675 - type: string; 1676 - required: string[]; 1677 - properties: { 1678 - uri: { 1679 - type: string; 1680 - }; 1681 - notFound: { 1682 - type: string; 1683 - const: boolean; 1684 - }; 1685 - }; 1686 - }; 1687 - }; 1688 - }; 1689 - AppBskyFeedGetRepostedBy: { 1690 - lexicon: number; 1691 - id: string; 1692 - defs: { 1693 - main: { 1694 - type: string; 1695 - parameters: { 1696 - type: string; 1697 - required: string[]; 1698 - properties: { 1699 - uri: { 1700 - type: string; 1701 - }; 1702 - cid: { 1703 - type: string; 1704 - }; 1705 - limit: { 1706 - type: string; 1707 - minimum: number; 1708 - maximum: number; 1709 - default: number; 1710 - }; 1711 - before: { 1712 - type: string; 1713 - }; 1714 - }; 1715 - }; 1716 - output: { 1717 - encoding: string; 1718 - schema: { 1719 - type: string; 1720 - required: string[]; 1721 - properties: { 1722 - uri: { 1723 - type: string; 1724 - }; 1725 - cid: { 1726 - type: string; 1727 - }; 1728 - cursor: { 1729 - type: string; 1730 - }; 1731 - repostedBy: { 1732 - type: string; 1733 - items: { 1734 - type: string; 1735 - ref: string; 1736 - }; 1737 - }; 1738 - }; 1739 - }; 1740 - }; 1741 - }; 1742 - repostedBy: { 1743 - type: string; 1744 - required: string[]; 1745 - properties: { 1746 - did: { 1747 - type: string; 1748 - }; 1749 - declaration: { 1750 - type: string; 1751 - ref: string; 1752 - }; 1753 - handle: { 1754 - type: string; 1755 - }; 1756 - displayName: { 1757 - type: string; 1758 - maxLength: number; 1759 - }; 1760 - avatar: { 1761 - type: string; 1762 - }; 1763 - createdAt: { 1764 - type: string; 1765 - }; 1766 - indexedAt: { 1767 - type: string; 1768 - }; 1769 - }; 1770 - }; 1771 - }; 1772 - }; 1773 - AppBskyFeedGetTimeline: { 1774 - lexicon: number; 1775 - id: string; 1776 - defs: { 1777 - main: { 1778 - type: string; 1779 - description: string; 1780 - parameters: { 1781 - type: string; 1782 - properties: { 1783 - algorithm: { 1784 - type: string; 1785 - }; 1786 - limit: { 1787 - type: string; 1788 - minimum: number; 1789 - maximum: number; 1790 - default: number; 1791 - }; 1792 - before: { 1793 - type: string; 1794 - }; 1795 - }; 1796 - }; 1797 - output: { 1798 - encoding: string; 1799 - schema: { 1800 - type: string; 1801 - required: string[]; 1802 - properties: { 1803 - cursor: { 1804 - type: string; 1805 - }; 1806 - feed: { 1807 - type: string; 1808 - items: { 1809 - type: string; 1810 - ref: string; 1811 - }; 1812 - }; 1813 - }; 1814 - }; 1815 - }; 1816 - }; 1817 - }; 1818 - }; 1819 - AppBskyFeedGetVotes: { 1820 - lexicon: number; 1821 - id: string; 1822 - defs: { 1823 - main: { 1824 - type: string; 1825 - parameters: { 1826 - type: string; 1827 - required: string[]; 1828 - properties: { 1829 - uri: { 1830 - type: string; 1831 - }; 1832 - cid: { 1833 - type: string; 1834 - }; 1835 - direction: { 1836 - type: string; 1837 - enum: string[]; 1838 - }; 1839 - limit: { 1840 - type: string; 1841 - minimum: number; 1842 - maximum: number; 1843 - default: number; 1844 - }; 1845 - before: { 1846 - type: string; 1847 - }; 1848 - }; 1849 - }; 1850 - output: { 1851 - encoding: string; 1852 - schema: { 1853 - type: string; 1854 - required: string[]; 1855 - properties: { 1856 - uri: { 1857 - type: string; 1858 - }; 1859 - cid: { 1860 - type: string; 1861 - }; 1862 - cursor: { 1863 - type: string; 1864 - }; 1865 - votes: { 1866 - type: string; 1867 - items: { 1868 - type: string; 1869 - ref: string; 1870 - }; 1871 - }; 1872 - }; 1873 - }; 1874 - }; 1875 - }; 1876 - vote: { 1877 - type: string; 1878 - required: string[]; 1879 - properties: { 1880 - direction: { 1881 - type: string; 1882 - enum: string[]; 1883 - }; 1884 - indexedAt: { 1885 - type: string; 1886 - }; 1887 - createdAt: { 1888 - type: string; 1889 - }; 1890 - actor: { 1891 - type: string; 1892 - ref: string; 1893 - }; 1894 - }; 1895 - }; 1896 - }; 1897 - }; 1898 - AppBskyFeedPost: { 1899 - lexicon: number; 1900 - id: string; 1901 - defs: { 1902 - main: { 1903 - type: string; 1904 - key: string; 1905 - record: { 1906 - type: string; 1907 - required: string[]; 1908 - properties: { 1909 - text: { 1910 - type: string; 1911 - maxLength: number; 1912 - }; 1913 - entities: { 1914 - type: string; 1915 - items: { 1916 - type: string; 1917 - ref: string; 1918 - }; 1919 - }; 1920 - reply: { 1921 - type: string; 1922 - ref: string; 1923 - }; 1924 - embed: { 1925 - type: string; 1926 - refs: string[]; 1927 - }; 1928 - createdAt: { 1929 - type: string; 1930 - }; 1931 - }; 1932 - }; 1933 - }; 1934 - replyRef: { 1935 - type: string; 1936 - required: string[]; 1937 - properties: { 1938 - root: { 1939 - type: string; 1940 - ref: string; 1941 - }; 1942 - parent: { 1943 - type: string; 1944 - ref: string; 1945 - }; 1946 - }; 1947 - }; 1948 - entity: { 1949 - type: string; 1950 - required: string[]; 1951 - properties: { 1952 - index: { 1953 - type: string; 1954 - ref: string; 1955 - }; 1956 - type: { 1957 - type: string; 1958 - description: string; 1959 - }; 1960 - value: { 1961 - type: string; 1962 - }; 1963 - }; 1964 - }; 1965 - textSlice: { 1966 - type: string; 1967 - required: string[]; 1968 - properties: { 1969 - start: { 1970 - type: string; 1971 - minimum: number; 1972 - }; 1973 - end: { 1974 - type: string; 1975 - minimum: number; 1976 - }; 1977 - }; 1978 - }; 1979 - view: { 1980 - type: string; 1981 - required: string[]; 1982 - properties: { 1983 - uri: { 1984 - type: string; 1985 - }; 1986 - cid: { 1987 - type: string; 1988 - }; 1989 - author: { 1990 - type: string; 1991 - ref: string; 1992 - }; 1993 - record: { 1994 - type: string; 1995 - }; 1996 - embed: { 1997 - type: string; 1998 - refs: string[]; 1999 - }; 2000 - replyCount: { 2001 - type: string; 2002 - }; 2003 - repostCount: { 2004 - type: string; 2005 - }; 2006 - upvoteCount: { 2007 - type: string; 2008 - }; 2009 - downvoteCount: { 2010 - type: string; 2011 - }; 2012 - indexedAt: { 2013 - type: string; 2014 - }; 2015 - viewer: { 2016 - type: string; 2017 - ref: string; 2018 - }; 2019 - }; 2020 - }; 2021 - viewerState: { 2022 - type: string; 2023 - properties: { 2024 - repost: { 2025 - type: string; 2026 - }; 2027 - upvote: { 2028 - type: string; 2029 - }; 2030 - downvote: { 2031 - type: string; 2032 - }; 2033 - }; 2034 - }; 2035 - }; 2036 - }; 2037 - AppBskyFeedRepost: { 2038 - lexicon: number; 2039 - id: string; 2040 - defs: { 2041 - main: { 2042 - type: string; 2043 - key: string; 2044 - record: { 2045 - type: string; 2046 - required: string[]; 2047 - properties: { 2048 - subject: { 2049 - type: string; 2050 - ref: string; 2051 - }; 2052 - createdAt: { 2053 - type: string; 2054 - }; 2055 - }; 2056 - }; 2057 - }; 2058 - }; 2059 - }; 2060 - AppBskyFeedSetVote: { 2061 - lexicon: number; 2062 - id: string; 2063 - defs: { 2064 - main: { 2065 - type: string; 2066 - description: string; 2067 - input: { 2068 - encoding: string; 2069 - schema: { 2070 - type: string; 2071 - required: string[]; 2072 - properties: { 2073 - subject: { 2074 - type: string; 2075 - ref: string; 2076 - }; 2077 - direction: { 2078 - type: string; 2079 - enum: string[]; 2080 - }; 2081 - }; 2082 - }; 2083 - }; 2084 - output: { 2085 - encoding: string; 2086 - schema: { 2087 - type: string; 2088 - properties: { 2089 - upvote: { 2090 - type: string; 2091 - }; 2092 - downvote: { 2093 - type: string; 2094 - }; 2095 - }; 2096 - }; 2097 - }; 2098 - }; 2099 - }; 2100 - }; 2101 - AppBskyFeedTrend: { 2102 - lexicon: number; 2103 - id: string; 2104 - defs: { 2105 - main: { 2106 - type: string; 2107 - key: string; 2108 - record: { 2109 - type: string; 2110 - required: string[]; 2111 - properties: { 2112 - subject: { 2113 - type: string; 2114 - ref: string; 2115 - }; 2116 - createdAt: { 2117 - type: string; 2118 - }; 2119 - }; 2120 - }; 2121 - }; 2122 - }; 2123 - }; 2124 - AppBskyFeedVote: { 2125 - lexicon: number; 2126 - id: string; 2127 - defs: { 2128 - main: { 2129 - type: string; 2130 - key: string; 2131 - record: { 2132 - type: string; 2133 - required: string[]; 2134 - properties: { 2135 - subject: { 2136 - type: string; 2137 - ref: string; 2138 - }; 2139 - direction: { 2140 - type: string; 2141 - enum: string[]; 2142 - }; 2143 - createdAt: { 2144 - type: string; 2145 - }; 2146 - }; 2147 - }; 2148 - }; 2149 - }; 2150 - }; 2151 - AppBskyGraphAssertCreator: { 2152 - lexicon: number; 2153 - id: string; 2154 - defs: { 2155 - main: { 2156 - type: string; 2157 - description: string; 2158 - }; 2159 - }; 2160 - }; 2161 - AppBskyGraphAssertMember: { 2162 - lexicon: number; 2163 - id: string; 2164 - defs: { 2165 - main: { 2166 - type: string; 2167 - description: string; 2168 - }; 2169 - }; 2170 - }; 2171 - AppBskyGraphAssertion: { 2172 - lexicon: number; 2173 - id: string; 2174 - defs: { 2175 - main: { 2176 - type: string; 2177 - key: string; 2178 - record: { 2179 - type: string; 2180 - required: string[]; 2181 - properties: { 2182 - assertion: { 2183 - type: string; 2184 - }; 2185 - subject: { 2186 - type: string; 2187 - ref: string; 2188 - }; 2189 - createdAt: { 2190 - type: string; 2191 - }; 2192 - }; 2193 - }; 2194 - }; 2195 - }; 2196 - }; 2197 - AppBskyGraphConfirmation: { 2198 - lexicon: number; 2199 - id: string; 2200 - defs: { 2201 - main: { 2202 - type: string; 2203 - key: string; 2204 - record: { 2205 - type: string; 2206 - required: string[]; 2207 - properties: { 2208 - originator: { 2209 - type: string; 2210 - ref: string; 2211 - }; 2212 - assertion: { 2213 - type: string; 2214 - ref: string; 2215 - }; 2216 - createdAt: { 2217 - type: string; 2218 - }; 2219 - }; 2220 - }; 2221 - }; 2222 - }; 2223 - }; 2224 - AppBskyGraphFollow: { 2225 - lexicon: number; 2226 - id: string; 2227 - defs: { 2228 - main: { 2229 - type: string; 2230 - description: string; 2231 - key: string; 2232 - record: { 2233 - type: string; 2234 - required: string[]; 2235 - properties: { 2236 - subject: { 2237 - type: string; 2238 - ref: string; 2239 - }; 2240 - createdAt: { 2241 - type: string; 2242 - }; 2243 - }; 2244 - }; 2245 - }; 2246 - }; 2247 - }; 2248 - AppBskyGraphGetAssertions: { 2249 - lexicon: number; 2250 - id: string; 2251 - defs: { 2252 - main: { 2253 - type: string; 2254 - description: string; 2255 - parameters: { 2256 - type: string; 2257 - properties: { 2258 - author: { 2259 - type: string; 2260 - }; 2261 - subject: { 2262 - type: string; 2263 - }; 2264 - assertion: { 2265 - type: string; 2266 - }; 2267 - confirmed: { 2268 - type: string; 2269 - }; 2270 - limit: { 2271 - type: string; 2272 - minimum: number; 2273 - maximum: number; 2274 - default: number; 2275 - }; 2276 - before: { 2277 - type: string; 2278 - }; 2279 - }; 2280 - }; 2281 - output: { 2282 - encoding: string; 2283 - schema: { 2284 - type: string; 2285 - required: string[]; 2286 - properties: { 2287 - cursor: { 2288 - type: string; 2289 - }; 2290 - assertions: { 2291 - type: string; 2292 - items: { 2293 - type: string; 2294 - ref: string; 2295 - }; 2296 - }; 2297 - }; 2298 - }; 2299 - }; 2300 - }; 2301 - assertion: { 2302 - type: string; 2303 - required: string[]; 2304 - properties: { 2305 - uri: { 2306 - type: string; 2307 - }; 2308 - cid: { 2309 - type: string; 2310 - }; 2311 - assertion: { 2312 - type: string; 2313 - }; 2314 - confirmation: { 2315 - type: string; 2316 - ref: string; 2317 - }; 2318 - author: { 2319 - type: string; 2320 - ref: string; 2321 - }; 2322 - subject: { 2323 - type: string; 2324 - ref: string; 2325 - }; 2326 - indexedAt: { 2327 - type: string; 2328 - }; 2329 - createdAt: { 2330 - type: string; 2331 - }; 2332 - }; 2333 - }; 2334 - confirmation: { 2335 - type: string; 2336 - required: string[]; 2337 - properties: { 2338 - uri: { 2339 - type: string; 2340 - }; 2341 - cid: { 2342 - type: string; 2343 - }; 2344 - indexedAt: { 2345 - type: string; 2346 - }; 2347 - createdAt: { 2348 - type: string; 2349 - }; 2350 - }; 2351 - }; 2352 - }; 2353 - }; 2354 - AppBskyGraphGetFollowers: { 2355 - lexicon: number; 2356 - id: string; 2357 - defs: { 2358 - main: { 2359 - type: string; 2360 - description: string; 2361 - parameters: { 2362 - type: string; 2363 - required: string[]; 2364 - properties: { 2365 - user: { 2366 - type: string; 2367 - }; 2368 - limit: { 2369 - type: string; 2370 - minimum: number; 2371 - maximum: number; 2372 - default: number; 2373 - }; 2374 - before: { 2375 - type: string; 2376 - }; 2377 - }; 2378 - }; 2379 - output: { 2380 - encoding: string; 2381 - schema: { 2382 - type: string; 2383 - required: string[]; 2384 - properties: { 2385 - subject: { 2386 - type: string; 2387 - ref: string; 2388 - }; 2389 - cursor: { 2390 - type: string; 2391 - }; 2392 - followers: { 2393 - type: string; 2394 - items: { 2395 - type: string; 2396 - ref: string; 2397 - }; 2398 - }; 2399 - }; 2400 - }; 2401 - }; 2402 - }; 2403 - follower: { 2404 - type: string; 2405 - required: string[]; 2406 - properties: { 2407 - did: { 2408 - type: string; 2409 - }; 2410 - declaration: { 2411 - type: string; 2412 - ref: string; 2413 - }; 2414 - handle: { 2415 - type: string; 2416 - }; 2417 - displayName: { 2418 - type: string; 2419 - maxLength: number; 2420 - }; 2421 - avatar: { 2422 - type: string; 2423 - }; 2424 - createdAt: { 2425 - type: string; 2426 - }; 2427 - indexedAt: { 2428 - type: string; 2429 - }; 2430 - }; 2431 - }; 2432 - }; 2433 - }; 2434 - AppBskyGraphGetFollows: { 2435 - lexicon: number; 2436 - id: string; 2437 - defs: { 2438 - main: { 2439 - type: string; 2440 - description: string; 2441 - parameters: { 2442 - type: string; 2443 - required: string[]; 2444 - properties: { 2445 - user: { 2446 - type: string; 2447 - }; 2448 - limit: { 2449 - type: string; 2450 - minimum: number; 2451 - maximum: number; 2452 - default: number; 2453 - }; 2454 - before: { 2455 - type: string; 2456 - }; 2457 - }; 2458 - }; 2459 - output: { 2460 - encoding: string; 2461 - schema: { 2462 - type: string; 2463 - required: string[]; 2464 - properties: { 2465 - subject: { 2466 - type: string; 2467 - ref: string; 2468 - }; 2469 - cursor: { 2470 - type: string; 2471 - }; 2472 - follows: { 2473 - type: string; 2474 - items: { 2475 - type: string; 2476 - ref: string; 2477 - }; 2478 - }; 2479 - }; 2480 - }; 2481 - }; 2482 - }; 2483 - follow: { 2484 - type: string; 2485 - required: string[]; 2486 - properties: { 2487 - did: { 2488 - type: string; 2489 - }; 2490 - declaration: { 2491 - type: string; 2492 - ref: string; 2493 - }; 2494 - handle: { 2495 - type: string; 2496 - }; 2497 - displayName: { 2498 - type: string; 2499 - maxLength: number; 2500 - }; 2501 - createdAt: { 2502 - type: string; 2503 - }; 2504 - indexedAt: { 2505 - type: string; 2506 - }; 2507 - }; 2508 - }; 2509 - }; 2510 - }; 2511 - AppBskyGraphGetMembers: { 2512 - lexicon: number; 2513 - id: string; 2514 - defs: { 2515 - main: { 2516 - type: string; 2517 - description: string; 2518 - parameters: { 2519 - type: string; 2520 - required: string[]; 2521 - properties: { 2522 - actor: { 2523 - type: string; 2524 - }; 2525 - limit: { 2526 - type: string; 2527 - minimum: number; 2528 - maximum: number; 2529 - default: number; 2530 - }; 2531 - before: { 2532 - type: string; 2533 - }; 2534 - }; 2535 - }; 2536 - output: { 2537 - encoding: string; 2538 - schema: { 2539 - type: string; 2540 - required: string[]; 2541 - properties: { 2542 - subject: { 2543 - type: string; 2544 - ref: string; 2545 - }; 2546 - cursor: { 2547 - type: string; 2548 - }; 2549 - members: { 2550 - type: string; 2551 - items: { 2552 - type: string; 2553 - ref: string; 2554 - }; 2555 - }; 2556 - }; 2557 - }; 2558 - }; 2559 - }; 2560 - member: { 2561 - type: string; 2562 - required: string[]; 2563 - properties: { 2564 - did: { 2565 - type: string; 2566 - }; 2567 - declaration: { 2568 - type: string; 2569 - ref: string; 2570 - }; 2571 - handle: { 2572 - type: string; 2573 - }; 2574 - displayName: { 2575 - type: string; 2576 - maxLength: number; 2577 - }; 2578 - createdAt: { 2579 - type: string; 2580 - }; 2581 - indexedAt: { 2582 - type: string; 2583 - }; 2584 - }; 2585 - }; 2586 - }; 2587 - }; 2588 - AppBskyGraphGetMemberships: { 2589 - lexicon: number; 2590 - id: string; 2591 - defs: { 2592 - main: { 2593 - type: string; 2594 - description: string; 2595 - parameters: { 2596 - type: string; 2597 - required: string[]; 2598 - properties: { 2599 - actor: { 2600 - type: string; 2601 - }; 2602 - limit: { 2603 - type: string; 2604 - minimum: number; 2605 - maximum: number; 2606 - default: number; 2607 - }; 2608 - before: { 2609 - type: string; 2610 - }; 2611 - }; 2612 - }; 2613 - output: { 2614 - encoding: string; 2615 - schema: { 2616 - type: string; 2617 - required: string[]; 2618 - properties: { 2619 - subject: { 2620 - type: string; 2621 - ref: string; 2622 - }; 2623 - cursor: { 2624 - type: string; 2625 - }; 2626 - memberships: { 2627 - type: string; 2628 - items: { 2629 - type: string; 2630 - ref: string; 2631 - }; 2632 - }; 2633 - }; 2634 - }; 2635 - }; 2636 - }; 2637 - membership: { 2638 - type: string; 2639 - required: string[]; 2640 - properties: { 2641 - did: { 2642 - type: string; 2643 - }; 2644 - declaration: { 2645 - type: string; 2646 - ref: string; 2647 - }; 2648 - handle: { 2649 - type: string; 2650 - }; 2651 - displayName: { 2652 - type: string; 2653 - maxLength: number; 2654 - }; 2655 - createdAt: { 2656 - type: string; 2657 - }; 2658 - indexedAt: { 2659 - type: string; 2660 - }; 2661 - }; 2662 - }; 2663 - }; 2664 - }; 2665 - AppBskyNotificationGetCount: { 2666 - lexicon: number; 2667 - id: string; 2668 - defs: { 2669 - main: { 2670 - type: string; 2671 - output: { 2672 - encoding: string; 2673 - schema: { 2674 - type: string; 2675 - required: string[]; 2676 - properties: { 2677 - count: { 2678 - type: string; 2679 - }; 2680 - }; 2681 - }; 2682 - }; 2683 - }; 2684 - }; 2685 - }; 2686 - AppBskyNotificationList: { 2687 - lexicon: number; 2688 - id: string; 2689 - defs: { 2690 - main: { 2691 - type: string; 2692 - parameters: { 2693 - type: string; 2694 - properties: { 2695 - limit: { 2696 - type: string; 2697 - minimum: number; 2698 - maximum: number; 2699 - default: number; 2700 - }; 2701 - before: { 2702 - type: string; 2703 - }; 2704 - }; 2705 - }; 2706 - output: { 2707 - encoding: string; 2708 - schema: { 2709 - type: string; 2710 - required: string[]; 2711 - properties: { 2712 - cursor: { 2713 - type: string; 2714 - }; 2715 - notifications: { 2716 - type: string; 2717 - items: { 2718 - type: string; 2719 - ref: string; 2720 - }; 2721 - }; 2722 - }; 2723 - }; 2724 - }; 2725 - }; 2726 - notification: { 2727 - type: string; 2728 - required: string[]; 2729 - properties: { 2730 - uri: { 2731 - type: string; 2732 - }; 2733 - cid: { 2734 - type: string; 2735 - }; 2736 - author: { 2737 - type: string; 2738 - ref: string; 2739 - }; 2740 - reason: { 2741 - type: string; 2742 - description: string; 2743 - knownValues: string[]; 2744 - }; 2745 - reasonSubject: { 2746 - type: string; 2747 - }; 2748 - record: { 2749 - type: string; 2750 - }; 2751 - isRead: { 2752 - type: string; 2753 - }; 2754 - indexedAt: { 2755 - type: string; 2756 - }; 2757 - }; 2758 - }; 2759 - }; 2760 - }; 2761 - AppBskyNotificationUpdateSeen: { 2762 - lexicon: number; 2763 - id: string; 2764 - defs: { 2765 - main: { 2766 - type: string; 2767 - description: string; 2768 - input: { 2769 - encoding: string; 2770 - schema: { 2771 - type: string; 2772 - required: string[]; 2773 - properties: { 2774 - seenAt: { 2775 - type: string; 2776 - }; 2777 - }; 2778 - }; 2779 - }; 2780 - }; 2781 - }; 2782 - }; 2783 - AppBskySystemActorScene: { 2784 - lexicon: number; 2785 - id: string; 2786 - defs: { 2787 - main: { 2788 - type: string; 2789 - description: string; 2790 - }; 2791 - }; 2792 - }; 2793 - AppBskySystemActorUser: { 2794 - lexicon: number; 2795 - id: string; 2796 - defs: { 2797 - main: { 2798 - type: string; 2799 - description: string; 2800 - }; 2801 - }; 2802 - }; 2803 - AppBskySystemDeclRef: { 2804 - lexicon: number; 2805 - id: string; 2806 - defs: { 2807 - main: { 2808 - description: string; 2809 - type: string; 2810 - required: string[]; 2811 - properties: { 2812 - cid: { 2813 - type: string; 2814 - }; 2815 - actorType: { 2816 - type: string; 2817 - knownValues: string[]; 2818 - }; 2819 - }; 2820 - }; 2821 - }; 2822 - }; 2823 - AppBskySystemDeclaration: { 2824 - lexicon: number; 2825 - id: string; 2826 - defs: { 2827 - main: { 2828 - description: string; 2829 - type: string; 2830 - key: string; 2831 - record: { 2832 - type: string; 2833 - required: string[]; 2834 - properties: { 2835 - actorType: { 2836 - type: string; 2837 - knownValues: string[]; 2838 - }; 2839 - }; 2840 - }; 2841 - }; 2842 - }; 2843 - }; 2844 - }; 2845 - export declare const schemas: LexiconDoc[]; 2846 - export declare const lexicons: Lexicons; 2847 - export declare const ids: { 2848 - ComAtprotoAccountCreate: string; 2849 - ComAtprotoAccountCreateInviteCode: string; 2850 - ComAtprotoAccountDelete: string; 2851 - ComAtprotoAccountGet: string; 2852 - ComAtprotoAccountRequestPasswordReset: string; 2853 - ComAtprotoAccountResetPassword: string; 2854 - ComAtprotoBlobUpload: string; 2855 - ComAtprotoHandleResolve: string; 2856 - ComAtprotoRepoBatchWrite: string; 2857 - ComAtprotoRepoCreateRecord: string; 2858 - ComAtprotoRepoDeleteRecord: string; 2859 - ComAtprotoRepoDescribe: string; 2860 - ComAtprotoRepoGetRecord: string; 2861 - ComAtprotoRepoListRecords: string; 2862 - ComAtprotoRepoPutRecord: string; 2863 - ComAtprotoRepoStrongRef: string; 2864 - ComAtprotoServerGetAccountsConfig: string; 2865 - ComAtprotoSessionCreate: string; 2866 - ComAtprotoSessionDelete: string; 2867 - ComAtprotoSessionGet: string; 2868 - ComAtprotoSessionRefresh: string; 2869 - ComAtprotoSyncGetRepo: string; 2870 - ComAtprotoSyncGetRoot: string; 2871 - ComAtprotoSyncUpdateRepo: string; 2872 - AppBskyActorCreateScene: string; 2873 - AppBskyActorGetProfile: string; 2874 - AppBskyActorGetSuggestions: string; 2875 - AppBskyActorProfile: string; 2876 - AppBskyActorRef: string; 2877 - AppBskyActorSearch: string; 2878 - AppBskyActorSearchTypeahead: string; 2879 - AppBskyActorUpdateProfile: string; 2880 - AppBskyEmbedExternal: string; 2881 - AppBskyEmbedImages: string; 2882 - AppBskyFeedFeedViewPost: string; 2883 - AppBskyFeedGetAuthorFeed: string; 2884 - AppBskyFeedGetPostThread: string; 2885 - AppBskyFeedGetRepostedBy: string; 2886 - AppBskyFeedGetTimeline: string; 2887 - AppBskyFeedGetVotes: string; 2888 - AppBskyFeedPost: string; 2889 - AppBskyFeedRepost: string; 2890 - AppBskyFeedSetVote: string; 2891 - AppBskyFeedTrend: string; 2892 - AppBskyFeedVote: string; 2893 - AppBskyGraphAssertCreator: string; 2894 - AppBskyGraphAssertMember: string; 2895 - AppBskyGraphAssertion: string; 2896 - AppBskyGraphConfirmation: string; 2897 - AppBskyGraphFollow: string; 2898 - AppBskyGraphGetAssertions: string; 2899 - AppBskyGraphGetFollowers: string; 2900 - AppBskyGraphGetFollows: string; 2901 - AppBskyGraphGetMembers: string; 2902 - AppBskyGraphGetMemberships: string; 2903 - AppBskyNotificationGetCount: string; 2904 - AppBskyNotificationList: string; 2905 - AppBskyNotificationUpdateSeen: string; 2906 - AppBskySystemActorScene: string; 2907 - AppBskySystemActorUser: string; 2908 - AppBskySystemDeclRef: string; 2909 - AppBskySystemDeclaration: string; 2910 - };
-17
src/third-party/api/src/client/schemas.d.ts
··· 1 - import { MethodSchema, RecordSchema } from '@atproto/lexicon'; 2 - export declare const methodSchemaDict: Record<string, MethodSchema>; 3 - export declare const methodSchemas: MethodSchema[]; 4 - export declare const ids: { 5 - AppBskyActorProfile: string; 6 - AppBskyFeedMediaEmbed: string; 7 - AppBskyFeedPost: string; 8 - AppBskyFeedRepost: string; 9 - AppBskyFeedTrend: string; 10 - AppBskyFeedVote: string; 11 - AppBskyGraphAssertion: string; 12 - AppBskyGraphConfirmation: string; 13 - AppBskyGraphFollow: string; 14 - AppBskySystemDeclaration: string; 15 - }; 16 - export declare const recordSchemaDict: Record<string, RecordSchema>; 17 - export declare const recordSchemas: RecordSchema[];
-32
src/third-party/api/src/client/types/app/bsky/actor/createScene.d.ts
··· 1 - import { Headers, XRPCError } from '@atproto/xrpc'; 2 - import * as AppBskySystemDeclRef from '../system/declRef'; 3 - export interface QueryParams { 4 - } 5 - export interface InputSchema { 6 - handle: string; 7 - recoveryKey?: string; 8 - [k: string]: unknown; 9 - } 10 - export interface OutputSchema { 11 - handle: string; 12 - did: string; 13 - declaration: AppBskySystemDeclRef.Main; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - qp?: QueryParams; 19 - encoding: 'application/json'; 20 - } 21 - export interface Response { 22 - success: boolean; 23 - headers: Headers; 24 - data: OutputSchema; 25 - } 26 - export declare class InvalidHandleError extends XRPCError { 27 - constructor(src: XRPCError); 28 - } 29 - export declare class HandleNotAvailableError extends XRPCError { 30 - constructor(src: XRPCError); 31 - } 32 - export declare function toKnownErr(e: any): any;
-36
src/third-party/api/src/client/types/app/bsky/actor/getProfile.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskySystemDeclRef from '../system/declRef'; 3 - export interface QueryParams { 4 - actor: string; 5 - } 6 - export declare type InputSchema = undefined; 7 - export interface OutputSchema { 8 - did: string; 9 - declaration: AppBskySystemDeclRef.Main; 10 - handle: string; 11 - creator: string; 12 - displayName?: string; 13 - description?: string; 14 - avatar?: string; 15 - banner?: string; 16 - followersCount: number; 17 - followsCount: number; 18 - membersCount: number; 19 - postsCount: number; 20 - myState?: MyState; 21 - [k: string]: unknown; 22 - } 23 - export interface CallOptions { 24 - headers?: Headers; 25 - } 26 - export interface Response { 27 - success: boolean; 28 - headers: Headers; 29 - data: OutputSchema; 30 - } 31 - export declare function toKnownErr(e: any): any; 32 - export interface MyState { 33 - follow?: string; 34 - member?: string; 35 - [k: string]: unknown; 36 - }
-36
src/third-party/api/src/client/types/app/bsky/actor/getSuggestions.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskySystemDeclRef from '../system/declRef'; 3 - export interface QueryParams { 4 - limit?: number; 5 - cursor?: string; 6 - } 7 - export declare type InputSchema = undefined; 8 - export interface OutputSchema { 9 - cursor?: string; 10 - actors: Actor[]; 11 - [k: string]: unknown; 12 - } 13 - export interface CallOptions { 14 - headers?: Headers; 15 - } 16 - export interface Response { 17 - success: boolean; 18 - headers: Headers; 19 - data: OutputSchema; 20 - } 21 - export declare function toKnownErr(e: any): any; 22 - export interface Actor { 23 - did: string; 24 - declaration: AppBskySystemDeclRef.Main; 25 - handle: string; 26 - displayName?: string; 27 - description?: string; 28 - avatar?: string; 29 - indexedAt?: string; 30 - myState?: MyState; 31 - [k: string]: unknown; 32 - } 33 - export interface MyState { 34 - follow?: string; 35 - [k: string]: unknown; 36 - }
-15
src/third-party/api/src/client/types/app/bsky/actor/profile.d.ts
··· 1 - export interface Record { 2 - displayName: string; 3 - description?: string; 4 - avatar?: { 5 - cid: string; 6 - mimeType: string; 7 - [k: string]: unknown; 8 - }; 9 - banner?: { 10 - cid: string; 11 - mimeType: string; 12 - [k: string]: unknown; 13 - }; 14 - [k: string]: unknown; 15 - }
-14
src/third-party/api/src/client/types/app/bsky/actor/ref.d.ts
··· 1 - import * as AppBskySystemDeclRef from '../system/declRef'; 2 - export interface Main { 3 - did: string; 4 - declarationCid: string; 5 - [k: string]: unknown; 6 - } 7 - export interface WithInfo { 8 - did: string; 9 - declaration: AppBskySystemDeclRef.Main; 10 - handle: string; 11 - displayName?: string; 12 - avatar?: string; 13 - [k: string]: unknown; 14 - }
-32
src/third-party/api/src/client/types/app/bsky/actor/search.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskySystemDeclRef from '../system/declRef'; 3 - export interface QueryParams { 4 - term: string; 5 - limit?: number; 6 - before?: string; 7 - } 8 - export declare type InputSchema = undefined; 9 - export interface OutputSchema { 10 - cursor?: string; 11 - users: User[]; 12 - [k: string]: unknown; 13 - } 14 - export interface CallOptions { 15 - headers?: Headers; 16 - } 17 - export interface Response { 18 - success: boolean; 19 - headers: Headers; 20 - data: OutputSchema; 21 - } 22 - export declare function toKnownErr(e: any): any; 23 - export interface User { 24 - did: string; 25 - declaration: AppBskySystemDeclRef.Main; 26 - handle: string; 27 - displayName?: string; 28 - avatar?: string; 29 - description?: string; 30 - indexedAt?: string; 31 - [k: string]: unknown; 32 - }
-28
src/third-party/api/src/client/types/app/bsky/actor/searchTypeahead.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskySystemDeclRef from '../system/declRef'; 3 - export interface QueryParams { 4 - term: string; 5 - limit?: number; 6 - } 7 - export declare type InputSchema = undefined; 8 - export interface OutputSchema { 9 - users: User[]; 10 - [k: string]: unknown; 11 - } 12 - export interface CallOptions { 13 - headers?: Headers; 14 - } 15 - export interface Response { 16 - success: boolean; 17 - headers: Headers; 18 - data: OutputSchema; 19 - } 20 - export declare function toKnownErr(e: any): any; 21 - export interface User { 22 - did: string; 23 - declaration: AppBskySystemDeclRef.Main; 24 - handle: string; 25 - displayName?: string; 26 - avatar?: string; 27 - [k: string]: unknown; 28 - }
-48
src/third-party/api/src/client/types/app/bsky/actor/updateProfile.d.ts
··· 1 - import { Headers, XRPCError } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - did?: string; 6 - displayName?: string; 7 - description?: string; 8 - avatar?: { 9 - cid: string; 10 - mimeType: string; 11 - [k: string]: unknown; 12 - }; 13 - banner?: { 14 - cid: string; 15 - mimeType: string; 16 - [k: string]: unknown; 17 - }; 18 - [k: string]: unknown; 19 - } 20 - export interface OutputSchema { 21 - uri: string; 22 - cid: string; 23 - record: {}; 24 - [k: string]: unknown; 25 - } 26 - export interface CallOptions { 27 - headers?: Headers; 28 - qp?: QueryParams; 29 - encoding: 'application/json'; 30 - } 31 - export interface Response { 32 - success: boolean; 33 - headers: Headers; 34 - data: OutputSchema; 35 - } 36 - export declare class InvalidBlobError extends XRPCError { 37 - constructor(src: XRPCError); 38 - } 39 - export declare class BlobTooLargeError extends XRPCError { 40 - constructor(src: XRPCError); 41 - } 42 - export declare class InvalidMimeTypeError extends XRPCError { 43 - constructor(src: XRPCError); 44 - } 45 - export declare class InvalidImageDimensionsError extends XRPCError { 46 - constructor(src: XRPCError); 47 - } 48 - export declare function toKnownErr(e: any): any;
-26
src/third-party/api/src/client/types/app/bsky/embed/external.d.ts
··· 1 - export interface Main { 2 - external: External; 3 - [k: string]: unknown; 4 - } 5 - export interface External { 6 - uri: string; 7 - title: string; 8 - description: string; 9 - thumb?: { 10 - cid: string; 11 - mimeType: string; 12 - [k: string]: unknown; 13 - }; 14 - [k: string]: unknown; 15 - } 16 - export interface Presented { 17 - external: PresentedExternal; 18 - [k: string]: unknown; 19 - } 20 - export interface PresentedExternal { 21 - uri: string; 22 - title: string; 23 - description: string; 24 - thumb?: string; 25 - [k: string]: unknown; 26 - }
-23
src/third-party/api/src/client/types/app/bsky/embed/images.d.ts
··· 1 - export interface Main { 2 - images: Image[]; 3 - [k: string]: unknown; 4 - } 5 - export interface Image { 6 - image: { 7 - cid: string; 8 - mimeType: string; 9 - [k: string]: unknown; 10 - }; 11 - alt: string; 12 - [k: string]: unknown; 13 - } 14 - export interface Presented { 15 - images: PresentedImage[]; 16 - [k: string]: unknown; 17 - } 18 - export interface PresentedImage { 19 - thumb: string; 20 - fullsize: string; 21 - alt: string; 22 - [k: string]: unknown; 23 - }
-57
src/third-party/api/src/client/types/app/bsky/feed/debug.d.ts
··· 1 - export interface Record { 2 - text: string; 3 - entities?: Entity[]; 4 - reply?: Reply; 5 - createdAt: string; 6 - [k: string]: unknown; 7 - } 8 - export declare const SOMETOKEN = "app.bsky.feed.debug#someToken"; 9 - export declare type Unknown = {}; 10 - export declare type Boolean = boolean; 11 - export declare type Number = number; 12 - export declare type Integer = number; 13 - export declare type String = string; 14 - export declare type Blob = { 15 - cid: string; 16 - mimeType: string; 17 - [k: string]: unknown; 18 - }; 19 - export declare type Image = { 20 - cid: string; 21 - mimeType: string; 22 - [k: string]: unknown; 23 - }; 24 - export declare type Video = { 25 - cid: string; 26 - mimeType: string; 27 - [k: string]: unknown; 28 - }; 29 - export declare type Audio = { 30 - cid: string; 31 - mimeType: string; 32 - [k: string]: unknown; 33 - }; 34 - export declare type StringArr = string[]; 35 - export declare type ReplyArr = Reply[]; 36 - export declare type MultiArr = (Reply | PostRef | Entity)[]; 37 - export interface Reply { 38 - root: PostRef; 39 - parent: PostRef; 40 - [k: string]: unknown; 41 - } 42 - export interface PostRef { 43 - uri: string; 44 - cid: string; 45 - [k: string]: unknown; 46 - } 47 - export interface Entity { 48 - index: TextSlice; 49 - type: string; 50 - value: string; 51 - [k: string]: unknown; 52 - } 53 - export interface TextSlice { 54 - start: number; 55 - end: number; 56 - [k: string]: unknown; 57 - }
-36
src/third-party/api/src/client/types/app/bsky/feed/embed.d.ts
··· 1 - import * as AppBskyActorRef from '../actor/ref'; 2 - export interface Main { 3 - items?: (Media | Record | External | { 4 - $type: string; 5 - [k: string]: unknown; 6 - })[]; 7 - [k: string]: unknown; 8 - } 9 - export interface Media { 10 - alt?: string; 11 - thumb?: { 12 - cid: string; 13 - mimeType: string; 14 - [k: string]: unknown; 15 - }; 16 - original: { 17 - cid: string; 18 - mimeType: string; 19 - [k: string]: unknown; 20 - }; 21 - [k: string]: unknown; 22 - } 23 - export interface Record { 24 - type: 'record'; 25 - author: AppBskyActorRef.WithInfo; 26 - record: {}; 27 - [k: string]: unknown; 28 - } 29 - export interface External { 30 - type: 'external'; 31 - uri: string; 32 - title: string; 33 - description: string; 34 - imageUri: string; 35 - [k: string]: unknown; 36 - }
-26
src/third-party/api/src/client/types/app/bsky/feed/feedViewPost.d.ts
··· 1 - import * as AppBskyFeedPost from './post'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - export interface Main { 4 - post: AppBskyFeedPost.View; 5 - reply?: ReplyRef; 6 - reason?: ReasonTrend | ReasonRepost | { 7 - $type: string; 8 - [k: string]: unknown; 9 - }; 10 - [k: string]: unknown; 11 - } 12 - export interface ReplyRef { 13 - root: AppBskyFeedPost.View; 14 - parent: AppBskyFeedPost.View; 15 - [k: string]: unknown; 16 - } 17 - export interface ReasonTrend { 18 - by: AppBskyActorRef.WithInfo; 19 - indexedAt: string; 20 - [k: string]: unknown; 21 - } 22 - export interface ReasonRepost { 23 - by: AppBskyActorRef.WithInfo; 24 - indexedAt: string; 25 - [k: string]: unknown; 26 - }
-22
src/third-party/api/src/client/types/app/bsky/feed/getAuthorFeed.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyFeedFeedViewPost from './feedViewPost'; 3 - export interface QueryParams { 4 - author: string; 5 - limit?: number; 6 - before?: string; 7 - } 8 - export declare type InputSchema = undefined; 9 - export interface OutputSchema { 10 - cursor?: string; 11 - feed: AppBskyFeedFeedViewPost.Main[]; 12 - [k: string]: unknown; 13 - } 14 - export interface CallOptions { 15 - headers?: Headers; 16 - } 17 - export interface Response { 18 - success: boolean; 19 - headers: Headers; 20 - data: OutputSchema; 21 - } 22 - export declare function toKnownErr(e: any): any;
-29
src/third-party/api/src/client/types/app/bsky/feed/getLikedBy.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - uri: string; 4 - cid?: string; 5 - limit?: number; 6 - before?: string; 7 - } 8 - export interface CallOptions { 9 - headers?: Headers; 10 - } 11 - export declare type InputSchema = undefined; 12 - export interface OutputSchema { 13 - uri: string; 14 - cid?: string; 15 - cursor?: string; 16 - likedBy: { 17 - did: string; 18 - handle: string; 19 - displayName?: string; 20 - createdAt?: string; 21 - indexedAt: string; 22 - }[]; 23 - } 24 - export interface Response { 25 - success: boolean; 26 - headers: Headers; 27 - data: OutputSchema; 28 - } 29 - export declare function toKnownErr(e: any): any;
-43
src/third-party/api/src/client/types/app/bsky/feed/getPostThread.d.ts
··· 1 - import { Headers, XRPCError } from '@atproto/xrpc'; 2 - import * as AppBskyFeedPost from './post'; 3 - export interface QueryParams { 4 - uri: string; 5 - depth?: number; 6 - } 7 - export declare type InputSchema = undefined; 8 - export interface OutputSchema { 9 - thread: ThreadViewPost | NotFoundPost | { 10 - $type: string; 11 - [k: string]: unknown; 12 - }; 13 - [k: string]: unknown; 14 - } 15 - export interface CallOptions { 16 - headers?: Headers; 17 - } 18 - export interface Response { 19 - success: boolean; 20 - headers: Headers; 21 - data: OutputSchema; 22 - } 23 - export declare class NotFoundError extends XRPCError { 24 - constructor(src: XRPCError); 25 - } 26 - export declare function toKnownErr(e: any): any; 27 - export interface ThreadViewPost { 28 - post: AppBskyFeedPost.View; 29 - parent?: ThreadViewPost | NotFoundPost | { 30 - $type: string; 31 - [k: string]: unknown; 32 - }; 33 - replies?: (ThreadViewPost | NotFoundPost | { 34 - $type: string; 35 - [k: string]: unknown; 36 - })[]; 37 - [k: string]: unknown; 38 - } 39 - export interface NotFoundPost { 40 - uri: string; 41 - notFound: true; 42 - [k: string]: unknown; 43 - }
-35
src/third-party/api/src/client/types/app/bsky/feed/getRepostedBy.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskySystemDeclRef from '../system/declRef'; 3 - export interface QueryParams { 4 - uri: string; 5 - cid?: string; 6 - limit?: number; 7 - before?: string; 8 - } 9 - export declare type InputSchema = undefined; 10 - export interface OutputSchema { 11 - uri: string; 12 - cid?: string; 13 - cursor?: string; 14 - repostedBy: RepostedBy[]; 15 - [k: string]: unknown; 16 - } 17 - export interface CallOptions { 18 - headers?: Headers; 19 - } 20 - export interface Response { 21 - success: boolean; 22 - headers: Headers; 23 - data: OutputSchema; 24 - } 25 - export declare function toKnownErr(e: any): any; 26 - export interface RepostedBy { 27 - did: string; 28 - declaration: AppBskySystemDeclRef.Main; 29 - handle: string; 30 - displayName?: string; 31 - avatar?: string; 32 - createdAt?: string; 33 - indexedAt: string; 34 - [k: string]: unknown; 35 - }
-22
src/third-party/api/src/client/types/app/bsky/feed/getTimeline.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyFeedFeedViewPost from './feedViewPost'; 3 - export interface QueryParams { 4 - algorithm?: string; 5 - limit?: number; 6 - before?: string; 7 - } 8 - export declare type InputSchema = undefined; 9 - export interface OutputSchema { 10 - cursor?: string; 11 - feed: AppBskyFeedFeedViewPost.Main[]; 12 - [k: string]: unknown; 13 - } 14 - export interface CallOptions { 15 - headers?: Headers; 16 - } 17 - export interface Response { 18 - success: boolean; 19 - headers: Headers; 20 - data: OutputSchema; 21 - } 22 - export declare function toKnownErr(e: any): any;
-33
src/third-party/api/src/client/types/app/bsky/feed/getVotes.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - export interface QueryParams { 4 - uri: string; 5 - cid?: string; 6 - direction?: 'up' | 'down'; 7 - limit?: number; 8 - before?: string; 9 - } 10 - export declare type InputSchema = undefined; 11 - export interface OutputSchema { 12 - uri: string; 13 - cid?: string; 14 - cursor?: string; 15 - votes: Vote[]; 16 - [k: string]: unknown; 17 - } 18 - export interface CallOptions { 19 - headers?: Headers; 20 - } 21 - export interface Response { 22 - success: boolean; 23 - headers: Headers; 24 - data: OutputSchema; 25 - } 26 - export declare function toKnownErr(e: any): any; 27 - export interface Vote { 28 - direction: 'up' | 'down'; 29 - indexedAt: string; 30 - createdAt: string; 31 - actor: AppBskyActorRef.WithInfo; 32 - [k: string]: unknown; 33 - }
-10
src/third-party/api/src/client/types/app/bsky/feed/like.d.ts
··· 1 - export interface Record { 2 - subject: Subject; 3 - createdAt: string; 4 - [k: string]: unknown; 5 - } 6 - export interface Subject { 7 - uri: string; 8 - cid: string; 9 - [k: string]: unknown; 10 - }
-18
src/third-party/api/src/client/types/app/bsky/feed/mediaEmbed.d.ts
··· 1 - export interface Main { 2 - media: MediaEmbed[]; 3 - [k: string]: unknown; 4 - } 5 - export interface MediaEmbed { 6 - alt?: string; 7 - thumb?: { 8 - cid: string; 9 - mimeType: string; 10 - [k: string]: unknown; 11 - }; 12 - original: { 13 - cid: string; 14 - mimeType: string; 15 - [k: string]: unknown; 16 - }; 17 - [k: string]: unknown; 18 - }
-54
src/third-party/api/src/client/types/app/bsky/feed/post.d.ts
··· 1 - import * as AppBskyEmbedImages from '../embed/images'; 2 - import * as AppBskyEmbedExternal from '../embed/external'; 3 - import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'; 4 - import * as AppBskyActorRef from '../actor/ref'; 5 - export interface Record { 6 - text: string; 7 - entities?: Entity[]; 8 - reply?: ReplyRef; 9 - embed?: AppBskyEmbedImages.Main | AppBskyEmbedExternal.Main | { 10 - $type: string; 11 - [k: string]: unknown; 12 - }; 13 - createdAt: string; 14 - [k: string]: unknown; 15 - } 16 - export interface ReplyRef { 17 - root: ComAtprotoRepoStrongRef.Main; 18 - parent: ComAtprotoRepoStrongRef.Main; 19 - [k: string]: unknown; 20 - } 21 - export interface Entity { 22 - index: TextSlice; 23 - type: string; 24 - value: string; 25 - [k: string]: unknown; 26 - } 27 - export interface TextSlice { 28 - start: number; 29 - end: number; 30 - [k: string]: unknown; 31 - } 32 - export interface View { 33 - uri: string; 34 - cid: string; 35 - author: AppBskyActorRef.WithInfo; 36 - record: {}; 37 - embed?: AppBskyEmbedImages.Presented | AppBskyEmbedExternal.Presented | { 38 - $type: string; 39 - [k: string]: unknown; 40 - }; 41 - replyCount: number; 42 - repostCount: number; 43 - upvoteCount: number; 44 - downvoteCount: number; 45 - indexedAt: string; 46 - viewer: ViewerState; 47 - [k: string]: unknown; 48 - } 49 - export interface ViewerState { 50 - repost?: string; 51 - upvote?: string; 52 - downvote?: string; 53 - [k: string]: unknown; 54 - }
-6
src/third-party/api/src/client/types/app/bsky/feed/repost.d.ts
··· 1 - import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'; 2 - export interface Record { 3 - subject: ComAtprotoRepoStrongRef.Main; 4 - createdAt: string; 5 - [k: string]: unknown; 6 - }
-25
src/third-party/api/src/client/types/app/bsky/feed/setVote.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'; 3 - export interface QueryParams { 4 - } 5 - export interface InputSchema { 6 - subject: ComAtprotoRepoStrongRef.Main; 7 - direction: 'up' | 'down' | 'none'; 8 - [k: string]: unknown; 9 - } 10 - export interface OutputSchema { 11 - upvote?: string; 12 - downvote?: string; 13 - [k: string]: unknown; 14 - } 15 - export interface CallOptions { 16 - headers?: Headers; 17 - qp?: QueryParams; 18 - encoding: 'application/json'; 19 - } 20 - export interface Response { 21 - success: boolean; 22 - headers: Headers; 23 - data: OutputSchema; 24 - } 25 - export declare function toKnownErr(e: any): any;
-6
src/third-party/api/src/client/types/app/bsky/feed/trend.d.ts
··· 1 - import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'; 2 - export interface Record { 3 - subject: ComAtprotoRepoStrongRef.Main; 4 - createdAt: string; 5 - [k: string]: unknown; 6 - }
-7
src/third-party/api/src/client/types/app/bsky/feed/vote.d.ts
··· 1 - import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'; 2 - export interface Record { 3 - subject: ComAtprotoRepoStrongRef.Main; 4 - direction: 'up' | 'down'; 5 - createdAt: string; 6 - [k: string]: unknown; 7 - }
-1
src/third-party/api/src/client/types/app/bsky/graph/assertCreator.d.ts
··· 1 - export declare const MAIN = "app.bsky.graph.assertCreator#main";
-1
src/third-party/api/src/client/types/app/bsky/graph/assertMember.d.ts
··· 1 - export declare const MAIN = "app.bsky.graph.assertMember#main";
-7
src/third-party/api/src/client/types/app/bsky/graph/assertion.d.ts
··· 1 - import * as AppBskyActorRef from '../actor/ref'; 2 - export interface Record { 3 - assertion: string; 4 - subject: AppBskyActorRef.Main; 5 - createdAt: string; 6 - [k: string]: unknown; 7 - }
-8
src/third-party/api/src/client/types/app/bsky/graph/confirmation.d.ts
··· 1 - import * as AppBskyActorRef from '../actor/ref'; 2 - import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'; 3 - export interface Record { 4 - originator: AppBskyActorRef.Main; 5 - assertion: ComAtprotoRepoStrongRef.Main; 6 - createdAt: string; 7 - [k: string]: unknown; 8 - }
-6
src/third-party/api/src/client/types/app/bsky/graph/follow.d.ts
··· 1 - import * as AppBskyActorRef from '../actor/ref'; 2 - export interface Record { 3 - subject: AppBskyActorRef.Main; 4 - createdAt: string; 5 - [k: string]: unknown; 6 - }
-43
src/third-party/api/src/client/types/app/bsky/graph/getAssertions.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - export interface QueryParams { 4 - author?: string; 5 - subject?: string; 6 - assertion?: string; 7 - confirmed?: boolean; 8 - limit?: number; 9 - before?: string; 10 - } 11 - export declare type InputSchema = undefined; 12 - export interface OutputSchema { 13 - cursor?: string; 14 - assertions: Assertion[]; 15 - [k: string]: unknown; 16 - } 17 - export interface CallOptions { 18 - headers?: Headers; 19 - } 20 - export interface Response { 21 - success: boolean; 22 - headers: Headers; 23 - data: OutputSchema; 24 - } 25 - export declare function toKnownErr(e: any): any; 26 - export interface Assertion { 27 - uri: string; 28 - cid: string; 29 - assertion: string; 30 - confirmation?: Confirmation; 31 - author: AppBskyActorRef.WithInfo; 32 - subject: AppBskyActorRef.WithInfo; 33 - indexedAt: string; 34 - createdAt: string; 35 - [k: string]: unknown; 36 - } 37 - export interface Confirmation { 38 - uri: string; 39 - cid: string; 40 - indexedAt: string; 41 - createdAt: string; 42 - [k: string]: unknown; 43 - }
-34
src/third-party/api/src/client/types/app/bsky/graph/getFollowers.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - import * as AppBskySystemDeclRef from '../system/declRef'; 4 - export interface QueryParams { 5 - user: string; 6 - limit?: number; 7 - before?: string; 8 - } 9 - export declare type InputSchema = undefined; 10 - export interface OutputSchema { 11 - subject: AppBskyActorRef.WithInfo; 12 - cursor?: string; 13 - followers: Follower[]; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - } 19 - export interface Response { 20 - success: boolean; 21 - headers: Headers; 22 - data: OutputSchema; 23 - } 24 - export declare function toKnownErr(e: any): any; 25 - export interface Follower { 26 - did: string; 27 - declaration: AppBskySystemDeclRef.Main; 28 - handle: string; 29 - displayName?: string; 30 - avatar?: string; 31 - createdAt?: string; 32 - indexedAt: string; 33 - [k: string]: unknown; 34 - }
-33
src/third-party/api/src/client/types/app/bsky/graph/getFollows.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - import * as AppBskySystemDeclRef from '../system/declRef'; 4 - export interface QueryParams { 5 - user: string; 6 - limit?: number; 7 - before?: string; 8 - } 9 - export declare type InputSchema = undefined; 10 - export interface OutputSchema { 11 - subject: AppBskyActorRef.WithInfo; 12 - cursor?: string; 13 - follows: Follow[]; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - } 19 - export interface Response { 20 - success: boolean; 21 - headers: Headers; 22 - data: OutputSchema; 23 - } 24 - export declare function toKnownErr(e: any): any; 25 - export interface Follow { 26 - did: string; 27 - declaration: AppBskySystemDeclRef.Main; 28 - handle: string; 29 - displayName?: string; 30 - createdAt?: string; 31 - indexedAt: string; 32 - [k: string]: unknown; 33 - }
-33
src/third-party/api/src/client/types/app/bsky/graph/getMembers.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - import * as AppBskySystemDeclRef from '../system/declRef'; 4 - export interface QueryParams { 5 - actor: string; 6 - limit?: number; 7 - before?: string; 8 - } 9 - export declare type InputSchema = undefined; 10 - export interface OutputSchema { 11 - subject: AppBskyActorRef.WithInfo; 12 - cursor?: string; 13 - members: Member[]; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - } 19 - export interface Response { 20 - success: boolean; 21 - headers: Headers; 22 - data: OutputSchema; 23 - } 24 - export declare function toKnownErr(e: any): any; 25 - export interface Member { 26 - did: string; 27 - declaration: AppBskySystemDeclRef.Main; 28 - handle: string; 29 - displayName?: string; 30 - createdAt?: string; 31 - indexedAt: string; 32 - [k: string]: unknown; 33 - }
-33
src/third-party/api/src/client/types/app/bsky/graph/getMemberships.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - import * as AppBskySystemDeclRef from '../system/declRef'; 4 - export interface QueryParams { 5 - actor: string; 6 - limit?: number; 7 - before?: string; 8 - } 9 - export declare type InputSchema = undefined; 10 - export interface OutputSchema { 11 - subject: AppBskyActorRef.WithInfo; 12 - cursor?: string; 13 - memberships: Membership[]; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - } 19 - export interface Response { 20 - success: boolean; 21 - headers: Headers; 22 - data: OutputSchema; 23 - } 24 - export declare function toKnownErr(e: any): any; 25 - export interface Membership { 26 - did: string; 27 - declaration: AppBskySystemDeclRef.Main; 28 - handle: string; 29 - displayName?: string; 30 - createdAt?: string; 31 - indexedAt: string; 32 - [k: string]: unknown; 33 - }
-10
src/third-party/api/src/client/types/app/bsky/graph/invite.d.ts
··· 1 - export interface Record { 2 - group: string; 3 - subject: { 4 - did: string; 5 - declarationCid: string; 6 - [k: string]: unknown; 7 - }; 8 - createdAt: string; 9 - [k: string]: unknown; 10 - }
-14
src/third-party/api/src/client/types/app/bsky/graph/inviteAccept.d.ts
··· 1 - export interface Record { 2 - group: { 3 - did: string; 4 - declarationCid: string; 5 - [k: string]: unknown; 6 - }; 7 - invite: { 8 - uri: string; 9 - cid: string; 10 - [k: string]: unknown; 11 - }; 12 - createdAt: string; 13 - [k: string]: unknown; 14 - }
-17
src/third-party/api/src/client/types/app/bsky/notification/getCount.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = undefined; 5 - export interface OutputSchema { 6 - count: number; 7 - [k: string]: unknown; 8 - } 9 - export interface CallOptions { 10 - headers?: Headers; 11 - } 12 - export interface Response { 13 - success: boolean; 14 - headers: Headers; 15 - data: OutputSchema; 16 - } 17 - export declare function toKnownErr(e: any): any;
-32
src/third-party/api/src/client/types/app/bsky/notification/list.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - import * as AppBskyActorRef from '../actor/ref'; 3 - export interface QueryParams { 4 - limit?: number; 5 - before?: string; 6 - } 7 - export declare type InputSchema = undefined; 8 - export interface OutputSchema { 9 - cursor?: string; 10 - notifications: Notification[]; 11 - [k: string]: unknown; 12 - } 13 - export interface CallOptions { 14 - headers?: Headers; 15 - } 16 - export interface Response { 17 - success: boolean; 18 - headers: Headers; 19 - data: OutputSchema; 20 - } 21 - export declare function toKnownErr(e: any): any; 22 - export interface Notification { 23 - uri: string; 24 - cid: string; 25 - author: AppBskyActorRef.WithInfo; 26 - reason: 'vote' | 'repost' | 'trend' | 'follow' | 'invite' | 'mention' | 'reply' | (string & {}); 27 - reasonSubject?: string; 28 - record: {}; 29 - isRead: boolean; 30 - indexedAt: string; 31 - [k: string]: unknown; 32 - }
-17
src/third-party/api/src/client/types/app/bsky/notification/updateSeen.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - seenAt: string; 6 - [k: string]: unknown; 7 - } 8 - export interface CallOptions { 9 - headers?: Headers; 10 - qp?: QueryParams; 11 - encoding: 'application/json'; 12 - } 13 - export interface Response { 14 - success: boolean; 15 - headers: Headers; 16 - } 17 - export declare function toKnownErr(e: any): any;
-1
src/third-party/api/src/client/types/app/bsky/system/actorScene.d.ts
··· 1 - export declare const MAIN = "app.bsky.system.actorScene#main";
-1
src/third-party/api/src/client/types/app/bsky/system/actorUser.d.ts
··· 1 - export declare const MAIN = "app.bsky.system.actorUser#main";
-5
src/third-party/api/src/client/types/app/bsky/system/declRef.d.ts
··· 1 - export interface Main { 2 - cid: string; 3 - actorType: 'app.bsky.system.actorUser' | 'app.bsky.system.actorScene' | (string & {}); 4 - [k: string]: unknown; 5 - }
-4
src/third-party/api/src/client/types/app/bsky/system/declaration.d.ts
··· 1 - export interface Record { 2 - actorType: 'app.bsky.system.actorUser' | 'app.bsky.system.actorScene' | (string & {}); 3 - [k: string]: unknown; 4 - }
-41
src/third-party/api/src/client/types/com/atproto/account/create.d.ts
··· 1 - import { Headers, XRPCError } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - email: string; 6 - handle: string; 7 - inviteCode?: string; 8 - password: string; 9 - recoveryKey?: string; 10 - [k: string]: unknown; 11 - } 12 - export interface OutputSchema { 13 - accessJwt: string; 14 - refreshJwt: string; 15 - handle: string; 16 - did: string; 17 - [k: string]: unknown; 18 - } 19 - export interface CallOptions { 20 - headers?: Headers; 21 - qp?: QueryParams; 22 - encoding: 'application/json'; 23 - } 24 - export interface Response { 25 - success: boolean; 26 - headers: Headers; 27 - data: OutputSchema; 28 - } 29 - export declare class InvalidHandleError extends XRPCError { 30 - constructor(src: XRPCError); 31 - } 32 - export declare class InvalidPasswordError extends XRPCError { 33 - constructor(src: XRPCError); 34 - } 35 - export declare class InvalidInviteCodeError extends XRPCError { 36 - constructor(src: XRPCError); 37 - } 38 - export declare class HandleNotAvailableError extends XRPCError { 39 - constructor(src: XRPCError); 40 - } 41 - export declare function toKnownErr(e: any): any;
-22
src/third-party/api/src/client/types/com/atproto/account/createInviteCode.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - useCount: number; 6 - [k: string]: unknown; 7 - } 8 - export interface OutputSchema { 9 - code: string; 10 - [k: string]: unknown; 11 - } 12 - export interface CallOptions { 13 - headers?: Headers; 14 - qp?: QueryParams; 15 - encoding: 'application/json'; 16 - } 17 - export interface Response { 18 - success: boolean; 19 - headers: Headers; 20 - data: OutputSchema; 21 - } 22 - export declare function toKnownErr(e: any): any;
-13
src/third-party/api/src/client/types/com/atproto/account/delete.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = undefined; 5 - export interface CallOptions { 6 - headers?: Headers; 7 - qp?: QueryParams; 8 - } 9 - export interface Response { 10 - success: boolean; 11 - headers: Headers; 12 - } 13 - export declare function toKnownErr(e: any): any;
-12
src/third-party/api/src/client/types/com/atproto/account/get.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = undefined; 5 - export interface CallOptions { 6 - headers?: Headers; 7 - } 8 - export interface Response { 9 - success: boolean; 10 - headers: Headers; 11 - } 12 - export declare function toKnownErr(e: any): any;
-17
src/third-party/api/src/client/types/com/atproto/account/requestPasswordReset.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - email: string; 6 - [k: string]: unknown; 7 - } 8 - export interface CallOptions { 9 - headers?: Headers; 10 - qp?: QueryParams; 11 - encoding: 'application/json'; 12 - } 13 - export interface Response { 14 - success: boolean; 15 - headers: Headers; 16 - } 17 - export declare function toKnownErr(e: any): any;
-24
src/third-party/api/src/client/types/com/atproto/account/resetPassword.d.ts
··· 1 - import { Headers, XRPCError } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - token: string; 6 - password: string; 7 - [k: string]: unknown; 8 - } 9 - export interface CallOptions { 10 - headers?: Headers; 11 - qp?: QueryParams; 12 - encoding: 'application/json'; 13 - } 14 - export interface Response { 15 - success: boolean; 16 - headers: Headers; 17 - } 18 - export declare class ExpiredTokenError extends XRPCError { 19 - constructor(src: XRPCError); 20 - } 21 - export declare class InvalidTokenError extends XRPCError { 22 - constructor(src: XRPCError); 23 - } 24 - export declare function toKnownErr(e: any): any;
-19
src/third-party/api/src/client/types/com/atproto/blob/upload.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = string | Uint8Array; 5 - export interface OutputSchema { 6 - cid: string; 7 - [k: string]: unknown; 8 - } 9 - export interface CallOptions { 10 - headers?: Headers; 11 - qp?: QueryParams; 12 - encoding: string; 13 - } 14 - export interface Response { 15 - success: boolean; 16 - headers: Headers; 17 - data: OutputSchema; 18 - } 19 - export declare function toKnownErr(e: any): any;
-22
src/third-party/api/src/client/types/com/atproto/data/uploadFile.d.ts
··· 1 - import { Headers, XRPCError } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = string | Uint8Array; 5 - export interface OutputSchema { 6 - cid: string; 7 - [k: string]: unknown; 8 - } 9 - export interface CallOptions { 10 - headers?: Headers; 11 - qp?: QueryParams; 12 - encoding: '*/*'; 13 - } 14 - export interface Response { 15 - success: boolean; 16 - headers: Headers; 17 - data: OutputSchema; 18 - } 19 - export declare class InvalidBlobError extends XRPCError { 20 - constructor(src: XRPCError); 21 - } 22 - export declare function toKnownErr(e: any): any;
-18
src/third-party/api/src/client/types/com/atproto/handle/resolve.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - handle?: string; 4 - } 5 - export declare type InputSchema = undefined; 6 - export interface OutputSchema { 7 - did: string; 8 - [k: string]: unknown; 9 - } 10 - export interface CallOptions { 11 - headers?: Headers; 12 - } 13 - export interface Response { 14 - success: boolean; 15 - headers: Headers; 16 - data: OutputSchema; 17 - } 18 - export declare function toKnownErr(e: any): any;
-39
src/third-party/api/src/client/types/com/atproto/repo/batchWrite.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - did: string; 6 - validate?: boolean; 7 - writes: (Create | Update | Delete)[]; 8 - [k: string]: unknown; 9 - } 10 - export interface CallOptions { 11 - headers?: Headers; 12 - qp?: QueryParams; 13 - encoding: 'application/json'; 14 - } 15 - export interface Response { 16 - success: boolean; 17 - headers: Headers; 18 - } 19 - export declare function toKnownErr(e: any): any; 20 - export interface Create { 21 - action: 'create'; 22 - collection: string; 23 - rkey?: string; 24 - value: {}; 25 - [k: string]: unknown; 26 - } 27 - export interface Update { 28 - action: 'update'; 29 - collection: string; 30 - rkey: string; 31 - value: {}; 32 - [k: string]: unknown; 33 - } 34 - export interface Delete { 35 - action: 'delete'; 36 - collection: string; 37 - rkey: string; 38 - [k: string]: unknown; 39 - }
-26
src/third-party/api/src/client/types/com/atproto/repo/createRecord.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - did: string; 6 - collection: string; 7 - validate?: boolean; 8 - record: {}; 9 - [k: string]: unknown; 10 - } 11 - export interface OutputSchema { 12 - uri: string; 13 - cid: string; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - qp?: QueryParams; 19 - encoding: 'application/json'; 20 - } 21 - export interface Response { 22 - success: boolean; 23 - headers: Headers; 24 - data: OutputSchema; 25 - } 26 - export declare function toKnownErr(e: any): any;
-19
src/third-party/api/src/client/types/com/atproto/repo/deleteRecord.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - did: string; 6 - collection: string; 7 - rkey: string; 8 - [k: string]: unknown; 9 - } 10 - export interface CallOptions { 11 - headers?: Headers; 12 - qp?: QueryParams; 13 - encoding: 'application/json'; 14 - } 15 - export interface Response { 16 - success: boolean; 17 - headers: Headers; 18 - } 19 - export declare function toKnownErr(e: any): any;
-22
src/third-party/api/src/client/types/com/atproto/repo/describe.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - user: string; 4 - } 5 - export declare type InputSchema = undefined; 6 - export interface OutputSchema { 7 - handle: string; 8 - did: string; 9 - didDoc: {}; 10 - collections: string[]; 11 - handleIsCorrect: boolean; 12 - [k: string]: unknown; 13 - } 14 - export interface CallOptions { 15 - headers?: Headers; 16 - } 17 - export interface Response { 18 - success: boolean; 19 - headers: Headers; 20 - data: OutputSchema; 21 - } 22 - export declare function toKnownErr(e: any): any;
-23
src/third-party/api/src/client/types/com/atproto/repo/getRecord.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - user: string; 4 - collection: string; 5 - rkey: string; 6 - cid?: string; 7 - } 8 - export declare type InputSchema = undefined; 9 - export interface OutputSchema { 10 - uri: string; 11 - cid?: string; 12 - value: {}; 13 - [k: string]: unknown; 14 - } 15 - export interface CallOptions { 16 - headers?: Headers; 17 - } 18 - export interface Response { 19 - success: boolean; 20 - headers: Headers; 21 - data: OutputSchema; 22 - } 23 - export declare function toKnownErr(e: any): any;
-30
src/third-party/api/src/client/types/com/atproto/repo/listRecords.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - user: string; 4 - collection: string; 5 - limit?: number; 6 - before?: string; 7 - after?: string; 8 - reverse?: boolean; 9 - } 10 - export declare type InputSchema = undefined; 11 - export interface OutputSchema { 12 - cursor?: string; 13 - records: Record[]; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - } 19 - export interface Response { 20 - success: boolean; 21 - headers: Headers; 22 - data: OutputSchema; 23 - } 24 - export declare function toKnownErr(e: any): any; 25 - export interface Record { 26 - uri: string; 27 - cid: string; 28 - value: {}; 29 - [k: string]: unknown; 30 - }
-27
src/third-party/api/src/client/types/com/atproto/repo/putRecord.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - did: string; 6 - collection: string; 7 - rkey: string; 8 - validate?: boolean; 9 - record: {}; 10 - [k: string]: unknown; 11 - } 12 - export interface OutputSchema { 13 - uri: string; 14 - cid: string; 15 - [k: string]: unknown; 16 - } 17 - export interface CallOptions { 18 - headers?: Headers; 19 - qp?: QueryParams; 20 - encoding: 'application/json'; 21 - } 22 - export interface Response { 23 - success: boolean; 24 - headers: Headers; 25 - data: OutputSchema; 26 - } 27 - export declare function toKnownErr(e: any): any;
-5
src/third-party/api/src/client/types/com/atproto/repo/strongRef.d.ts
··· 1 - export interface Main { 2 - uri: string; 3 - cid: string; 4 - [k: string]: unknown; 5 - }
-24
src/third-party/api/src/client/types/com/atproto/server/getAccountsConfig.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = undefined; 5 - export interface OutputSchema { 6 - inviteCodeRequired?: boolean; 7 - availableUserDomains: string[]; 8 - links?: Links; 9 - [k: string]: unknown; 10 - } 11 - export interface CallOptions { 12 - headers?: Headers; 13 - } 14 - export interface Response { 15 - success: boolean; 16 - headers: Headers; 17 - data: OutputSchema; 18 - } 19 - export declare function toKnownErr(e: any): any; 20 - export interface Links { 21 - privacyPolicy?: string; 22 - termsOfService?: string; 23 - [k: string]: unknown; 24 - }
-26
src/third-party/api/src/client/types/com/atproto/session/create.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export interface InputSchema { 5 - handle: string; 6 - password: string; 7 - [k: string]: unknown; 8 - } 9 - export interface OutputSchema { 10 - accessJwt: string; 11 - refreshJwt: string; 12 - handle: string; 13 - did: string; 14 - [k: string]: unknown; 15 - } 16 - export interface CallOptions { 17 - headers?: Headers; 18 - qp?: QueryParams; 19 - encoding: 'application/json'; 20 - } 21 - export interface Response { 22 - success: boolean; 23 - headers: Headers; 24 - data: OutputSchema; 25 - } 26 - export declare function toKnownErr(e: any): any;
-13
src/third-party/api/src/client/types/com/atproto/session/delete.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = undefined; 5 - export interface CallOptions { 6 - headers?: Headers; 7 - qp?: QueryParams; 8 - } 9 - export interface Response { 10 - success: boolean; 11 - headers: Headers; 12 - } 13 - export declare function toKnownErr(e: any): any;
-18
src/third-party/api/src/client/types/com/atproto/session/get.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = undefined; 5 - export interface OutputSchema { 6 - handle: string; 7 - did: string; 8 - [k: string]: unknown; 9 - } 10 - export interface CallOptions { 11 - headers?: Headers; 12 - } 13 - export interface Response { 14 - success: boolean; 15 - headers: Headers; 16 - data: OutputSchema; 17 - } 18 - export declare function toKnownErr(e: any): any;
-21
src/third-party/api/src/client/types/com/atproto/session/refresh.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - } 4 - export declare type InputSchema = undefined; 5 - export interface OutputSchema { 6 - accessJwt: string; 7 - refreshJwt: string; 8 - handle: string; 9 - did: string; 10 - [k: string]: unknown; 11 - } 12 - export interface CallOptions { 13 - headers?: Headers; 14 - qp?: QueryParams; 15 - } 16 - export interface Response { 17 - success: boolean; 18 - headers: Headers; 19 - data: OutputSchema; 20 - } 21 - export declare function toKnownErr(e: any): any;
-15
src/third-party/api/src/client/types/com/atproto/sync/getRepo.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - did: string; 4 - from?: string; 5 - } 6 - export declare type InputSchema = undefined; 7 - export interface CallOptions { 8 - headers?: Headers; 9 - } 10 - export interface Response { 11 - success: boolean; 12 - headers: Headers; 13 - data: Uint8Array; 14 - } 15 - export declare function toKnownErr(e: any): any;
-18
src/third-party/api/src/client/types/com/atproto/sync/getRoot.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - did: string; 4 - } 5 - export declare type InputSchema = undefined; 6 - export interface OutputSchema { 7 - root: string; 8 - [k: string]: unknown; 9 - } 10 - export interface CallOptions { 11 - headers?: Headers; 12 - } 13 - export interface Response { 14 - success: boolean; 15 - headers: Headers; 16 - data: OutputSchema; 17 - } 18 - export declare function toKnownErr(e: any): any;
-15
src/third-party/api/src/client/types/com/atproto/sync/updateRepo.d.ts
··· 1 - import { Headers } from '@atproto/xrpc'; 2 - export interface QueryParams { 3 - did: string; 4 - } 5 - export declare type InputSchema = string | Uint8Array; 6 - export interface CallOptions { 7 - headers?: Headers; 8 - qp?: QueryParams; 9 - encoding: 'application/cbor'; 10 - } 11 - export interface Response { 12 - success: boolean; 13 - headers: Headers; 14 - } 15 - export declare function toKnownErr(e: any): any;
-4
src/third-party/api/src/index.d.ts
··· 1 - export * from './client'; 2 - export { default } from './client'; 3 - export * from './session'; 4 - export { default as sessionClient } from './session';
-42
src/third-party/api/src/session.d.ts
··· 1 - import { CallOptions, Client as XrpcClient, ServiceClient as XrpcServiceClient, QueryParams, XRPCResponse } from '@atproto/xrpc'; 2 - import TypedEmitter from 'typed-emitter'; 3 - import { Client, ServiceClient } from './client'; 4 - export declare class SessionClient extends Client { 5 - service(serviceUri: string | URL): SessionServiceClient; 6 - } 7 - declare const defaultInst: SessionClient; 8 - export default defaultInst; 9 - export declare class SessionServiceClient extends ServiceClient { 10 - xrpc: SessionXrpcServiceClient; 11 - sessionManager: SessionManager; 12 - constructor(baseClient: Client, xrpcService: SessionXrpcServiceClient); 13 - } 14 - export declare class SessionXrpcServiceClient extends XrpcServiceClient { 15 - sessionManager: SessionManager; 16 - refreshing?: Promise<XRPCResponse>; 17 - constructor(baseClient: XrpcClient, serviceUri: string | URL); 18 - call(methodNsid: string, params?: QueryParams, data?: unknown, opts?: CallOptions): Promise<XRPCResponse>; 19 - refresh(opts?: CallOptions): Promise<XRPCResponse>; 20 - private _refresh; 21 - } 22 - declare const SessionManager_base: new () => TypedEmitter<SessionEvents>; 23 - export declare class SessionManager extends SessionManager_base { 24 - session?: Session; 25 - get(): Session | undefined; 26 - set(session: Session): void; 27 - unset(): void; 28 - active(): boolean; 29 - accessHeaders(): { 30 - authorization: string; 31 - } | undefined; 32 - refreshHeaders(): { 33 - authorization: string; 34 - } | undefined; 35 - } 36 - export declare type Session = { 37 - refreshJwt: string; 38 - accessJwt: string; 39 - }; 40 - declare type SessionEvents = { 41 - session: (session?: Session) => void; 42 - };
-1
src/third-party/api/tsconfig.build.tsbuildinfo
··· 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/embed/external.ts","../src/client/types/app/bsky/embed/images.ts","../src/client/types/app/bsky/feed/post.ts","../src/client/types/app/bsky/feed/feedviewpost.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/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":"56d66270100dcf3d0167d52cb85b90d5859b86266c6dce364d3bbf5069a208ef","signature":"60d5974d05acd8039a46d95c56b81f6337b157e4312aae568e92c7efc3d46169"},{"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":"415fb80aa72396e3ac46476733be00fe3dc77ab04856661e185c81433db2d01a","signature":"9d608e34e7f154e44e1ea22d061751a4701f1e6886e41ac65f6fe656023a99d6"},{"version":"1ae77f627681b422090f8bdc04b5b4ab09f3aded0dbf06c5f48f0047f5d5706a","signature":"70bf61441a5592f1e4f288044cf33e83db99cd5c739a76530a540c1406756a00"},{"version":"053219eefb0777709957ec370824d1570951988125a07fac068e569c45053918","signature":"a2f2de49faf40170bff259d79db0f78e98f00cd7c820e49be15e75a1b987ee28"},{"version":"dac0fcd011902b2cbf13f94df85cd0fff3ecf00f7974f045b9258de26926f686","signature":"1aaad7c6a640476477479547e60203ce4180412aafa7cbc56e5dd68b8f6057aa"},{"version":"7771445b331dbd63e01d3e2ff0a413ce01c75beb2deec7f9b088bf2c2f9b19f5","signature":"3fdf7288d9ed9d9f29fccae42c33729fb5efcbb18c15271b78423f2b61a0b170"},{"version":"deef5760367fe27e6ba2e0e6274c2e4aa71a6a8723977057d9293f44c321c114","signature":"e27ec2713f828636d35729e44fd9cc4985833d569553e2b2a3cf01101acd4ec9"},{"version":"a87129855a6898b5ca3cc4f46697be40be1900e642694bcdc59dbedcf05dfd5c","signature":"c2ed7248f573304683b5de07eff2e57415d264ee7bd14f5f3d398915a26c6167"},{"version":"e9ac903a51f3dc918e05e301d7507aff2509c2db8e29d85fd73a756b3b0412ac","signature":"1ed78972624bafbf10bb1f81ba4cc63bf36bb156f351046d5d407fa055b75dce"},{"version":"2f133be0f7197273001fdcb24563b2951ef9b1694a9b7489013f7af9f47c38b5","signature":"4145d8b6a1abd1fd7dbf3ad2fcc70120e555cf029c4fa6d8477e30753aae7266"},{"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":"42d3c38255abea91c99f21da2e3063e5a0731a4af69b79e8cc2f8dfa050bac51","signature":"c9b56f9184f07672a8c8aa49825d76830b4ca78537cf5ac8e158e23dd64df234"},"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":[[151,203],[203],[203,230],[151,152,153,154,155,203],[151,153,203],[203,210],[176,203,210,212],[176,203,210],[176,203],[203,211],[173,176,203,210,216,217],[203,213,217,218,221],[174,203,210],[203,225],[203,226],[203,232,235],[203,219],[203,220],[157,203],[160,203],[161,166,194,203],[162,173,174,181,191,202,203],[162,163,173,181,203],[164,203],[165,166,174,182,203],[166,191,199,203],[167,169,173,181,203],[168,203],[169,170,203],[173,203],[171,173,203],[173,174,175,191,202,203],[173,174,175,188,191,194,203],[203,207],[176,181,191,202,203],[173,174,176,177,181,191,199,202,203],[176,178,191,199,202,203],[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,208,209],[173,179,203],[180,202,203],[169,173,181,191,203],[182,203],[183,203],[160,184,203],[185,201,203,207],[186,203],[187,203],[173,188,189,203],[188,190,203,205],[161,173,191,192,193,194,203],[161,191,193,203],[191,192,203],[194,203],[195,203],[173,197,198,203],[197,198,203],[166,181,191,199,203],[200,203],[181,201,203],[161,176,187,202,203],[166,203],[191,203,204],[203,205],[203,206],[161,166,173,175,184,191,202,203,205,207],[191,203,208],[203,210,242,244,248,249,250,251,252,253],[191,203,210],[173,203,210,242,244,245,247,254],[173,181,191,202,203,210,241,242,243,245,246,247,254],[191,203,210,244,245],[191,203,210,244,246],[203,210,242,244,245,247,254],[191,203,210,246],[173,181,191,199,203,210,243,245,247],[173,203,210,242,244,245,246,247,254],[173,191,203,210,242,243,244,245,246,247,254],[173,191,203,210,242,244,245,247,254],[176,191,203,210,247],[173,191,199,203,210,257,258,261,262],[176,203,210,220],[203,266],[203,228,234],[203,232],[203,229,233],[203,210,258,259,260],[191,203,210,258],[203,231],[68,203],[59,60,203],[57,58,59,61,62,66,203],[58,59,203],[67,203],[59,203],[57,58,59,62,63,64,65,203],[57,58,68,203],[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,145,146,203],[80,203],[83,109,203],[109,203],[83,203],[114,120,203],[83,121,203],[83,120,203],[83,114,203],[100,114,118,119,203],[100,203],[83,100,203],[114,203],[100,114,203],[83,109,114,203],[147,149,203],[83,102,105,147,148,173,203],[72,79,203],[69,72,76,78,203],[69,71,203],[72,75,79,203],[72,75,76,77,79,203],[72,73,74,76,79,203],[72,73,79,203],[70,80,81,203],[70,82,203],[69,203],[70,80,203],[151],[230],[151,152,153,154,155],[151,153],[268],[212,268,269],[268,269],[269],[211],[216,217,268,269,270],[213,217,218,221],[268,271],[225],[226],[232,235],[219],[220],[242,244,248,249,250,251,252,253,268],[268,272],[242,244,245,247,254,268,270],[241,242,243,245,246,247,254,268,270,272,273,274],[244,245,268,272],[244,246,268,272],[242,244,245,247,254,268],[246,268,272],[243,245,247,268,270,272,273,275],[242,244,245,246,247,254,268,270],[242,243,244,245,246,247,254,268,270,272],[242,244,245,247,254,268,270,272],[247,268,269,272],[257,258,261,262,268,270,272,275],[220,268,269],[266],[228,234],[232],[229,233],[258,259,260,268],[258,268,272],[231],[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,145,146],[80],[83,109],[109],[83],[114,120],[83,121],[83,120],[83,114],[100,114,118,119],[100],[83,100],[114],[100,114],[83,109,114],[147,149],[83,147,148],[72,79],[69,72,76,78,276],[69,71,276],[72,75,79,276],[72,75,76,77,79,276],[72,73,74,76,79,276],[72,73,79],[70,80,81],[70,82],[69],[70,80,276]],"referencedMap":[[153,1],[151,2],[228,2],[231,3],[230,2],[156,4],[152,1],[154,5],[155,1],[211,6],[213,7],[212,8],[214,9],[215,10],[218,11],[222,12],[223,13],[224,2],[225,2],[226,14],[227,15],[236,16],[237,2],[238,6],[220,17],[219,18],[239,2],[240,2],[157,19],[158,19],[160,20],[161,21],[162,22],[163,23],[164,24],[165,25],[166,26],[167,27],[168,28],[169,29],[170,29],[172,30],[171,31],[173,30],[174,32],[175,33],[159,34],[209,2],[176,35],[177,36],[178,37],[210,38],[179,39],[180,40],[181,41],[182,42],[183,43],[184,44],[185,45],[186,46],[187,47],[188,48],[189,48],[190,49],[191,50],[193,51],[192,52],[194,53],[195,54],[196,2],[197,55],[198,56],[199,57],[200,58],[201,59],[202,60],[203,61],[204,62],[205,63],[206,64],[207,65],[208,66],[254,67],[241,68],[248,69],[244,70],[242,71],[245,72],[249,73],[250,69],[247,74],[246,75],[251,76],[252,77],[253,78],[243,79],[255,2],[256,2],[262,80],[263,2],[217,2],[216,2],[221,81],[264,68],[265,2],[266,2],[267,82],[229,2],[235,83],[233,84],[234,85],[261,86],[258,6],[260,87],[259,6],[257,2],[232,88],[148,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],[147,97],[84,98],[110,99],[111,99],[112,99],[113,2],[114,100],[115,99],[116,99],[117,101],[118,2],[119,2],[121,102],[122,103],[123,104],[124,99],[125,103],[126,105],[120,106],[127,107],[128,108],[129,107],[130,107],[131,2],[133,109],[132,2],[134,110],[135,109],[136,105],[137,111],[138,111],[139,111],[140,111],[141,101],[142,105],[143,101],[144,2],[145,2],[146,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],[150,112],[149,113],[80,114],[79,115],[72,116],[76,117],[78,118],[74,114],[75,119],[73,114],[77,120],[71,2],[82,121],[83,122],[70,123],[81,124]],"exportedModulesMap":[[153,125],[231,126],[156,127],[152,125],[154,128],[155,125],[211,129],[213,130],[212,131],[214,132],[215,133],[218,134],[222,135],[223,136],[226,137],[227,138],[236,139],[238,129],[220,140],[219,141],[157,19],[158,19],[160,20],[161,21],[162,22],[163,23],[164,24],[165,25],[166,26],[167,27],[168,28],[169,29],[170,29],[172,30],[171,31],[173,30],[174,32],[175,33],[159,34],[209,2],[176,35],[177,36],[178,37],[210,38],[179,39],[180,40],[181,41],[182,42],[183,43],[184,44],[185,45],[186,46],[187,47],[188,48],[189,48],[190,49],[191,50],[193,51],[192,52],[194,53],[195,54],[196,2],[197,55],[198,56],[199,57],[200,58],[201,59],[202,60],[203,61],[204,62],[205,63],[206,64],[207,65],[208,66],[254,142],[241,143],[248,144],[244,145],[242,146],[245,147],[249,148],[250,144],[247,149],[246,150],[251,151],[252,152],[253,153],[243,154],[262,155],[221,156],[264,68],[267,157],[235,158],[233,159],[234,160],[261,161],[258,129],[260,162],[259,129],[232,163],[69,164],[61,165],[67,166],[62,167],[65,164],[68,168],[60,169],[66,170],[59,171],[147,172],[84,173],[110,174],[111,174],[112,174],[114,175],[115,174],[116,174],[117,176],[121,177],[122,178],[123,179],[124,174],[125,178],[126,180],[120,181],[127,182],[128,183],[129,182],[130,182],[133,184],[134,185],[135,184],[136,180],[137,186],[138,186],[139,186],[140,186],[141,176],[142,180],[143,176],[85,176],[86,176],[87,176],[88,176],[89,176],[90,176],[91,176],[92,176],[93,176],[94,176],[95,176],[96,176],[97,176],[98,176],[99,176],[101,176],[102,176],[103,176],[104,176],[105,176],[106,176],[107,176],[108,176],[150,187],[149,188],[80,189],[79,190],[72,191],[76,192],[78,193],[74,189],[75,194],[73,189],[77,195],[82,196],[83,197],[70,198],[81,199]],"semanticDiagnosticsPerFile":[153,151,228,231,230,156,152,154,155,211,213,212,214,215,218,222,223,224,225,226,227,236,237,238,220,219,239,240,157,158,160,161,162,163,164,165,166,167,168,169,170,172,171,173,174,175,159,209,176,177,178,210,179,180,181,182,183,184,185,186,187,188,189,190,191,193,192,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,254,241,248,244,242,245,249,250,247,246,251,252,253,243,255,256,262,263,217,216,221,264,265,266,267,229,235,233,234,261,258,260,259,257,232,148,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,147,84,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,120,127,128,129,130,131,133,132,134,135,136,137,138,139,140,141,142,143,144,145,146,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,150,149,80,79,72,76,78,74,75,73,77,71,82,83,70,81],"latestChangedDtsFile":"./src/client/index.d.ts"},"version":"4.8.4"}
+1 -1
src/view/com/login/CreateAccount.tsx
··· 10 10 View, 11 11 } from 'react-native' 12 12 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 13 + import {ComAtprotoAccountCreate} from '@atproto/api' 13 14 import * as EmailValidator from 'email-validator' 14 15 import {Logo} from './Logo' 15 16 import {Picker} from '../util/Picker' ··· 24 25 import {useStores, DEFAULT_SERVICE} from '../../../state' 25 26 import {ServiceDescription} from '../../../state/models/session' 26 27 import {ServerInputModal} from '../../../state/models/shell-ui' 27 - import {ComAtprotoAccountCreate} from '../../../third-party/api/index' 28 28 29 29 export const CreateAccount = ({onPressBack}: {onPressBack: () => void}) => { 30 30 const store = useStores()
+1 -2
src/view/com/login/Signin.tsx
··· 10 10 } from 'react-native' 11 11 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 12 12 import * as EmailValidator from 'email-validator' 13 + import {sessionClient as AtpApi, SessionServiceClient} from '@atproto/api' 13 14 import {Logo} from './Logo' 14 15 import {Text} from '../util/Text' 15 16 import {s, colors} from '../../lib/styles' ··· 18 19 import {ServiceDescription} from '../../../state/models/session' 19 20 import {ServerInputModal} from '../../../state/models/shell-ui' 20 21 import {isNetworkError} from '../../../lib/errors' 21 - import {sessionClient as AtpApi} from '../../../third-party/api/index' 22 - import type {SessionServiceClient} from '../../../third-party/api/src/index' 23 22 24 23 enum Forms { 25 24 Login,
+1 -1
src/view/com/modals/CreateScene.tsx
··· 8 8 } from 'react-native' 9 9 import LinearGradient from 'react-native-linear-gradient' 10 10 import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' 11 + import {AppBskyActorCreateScene} from '@atproto/api' 11 12 import {ErrorMessage} from '../util/ErrorMessage' 12 13 import {Text} from '../util/Text' 13 14 import {useStores} from '../../../state' ··· 19 20 MAX_DISPLAY_NAME, 20 21 MAX_DESCRIPTION, 21 22 } from '../../../lib/strings' 22 - import {AppBskyActorCreateScene} from '../../../third-party/api/index' 23 23 24 24 export const snapPoints = ['60%'] 25 25
+2 -2
src/view/com/post-thread/PostThreadItem.tsx
··· 3 3 import {StyleSheet, View} from 'react-native' 4 4 import Clipboard from '@react-native-clipboard/clipboard' 5 5 import {AtUri} from '../../../third-party/uri' 6 - import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post' 6 + import {AppBskyFeedPost} from '@atproto/api' 7 7 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 8 8 import {PostThreadViewPostModel} from '../../../state/models/post-thread-view' 9 9 import {Link} from '../util/Link' ··· 32 32 }) { 33 33 const store = useStores() 34 34 const [deleted, setDeleted] = useState(false) 35 - const record = item.post.record as unknown as PostType.Record 35 + const record = item.post.record as unknown as AppBskyFeedPost.Record 36 36 const hasEngagement = item.post.upvoteCount || item.post.repostCount 37 37 38 38 const itemHref = useMemo(() => {
+2 -2
src/view/com/post/Post.tsx
··· 9 9 import {observer} from 'mobx-react-lite' 10 10 import Clipboard from '@react-native-clipboard/clipboard' 11 11 import {AtUri} from '../../../third-party/uri' 12 - import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post' 12 + import {AppBskyFeedPost} from '@atproto/api' 13 13 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 14 14 import {PostThreadViewModel} from '../../../state/models/post-thread-view' 15 15 import {Link} from '../util/Link' ··· 77 77 // loaded 78 78 // = 79 79 const item = view.thread 80 - const record = view.thread?.post.record as unknown as PostType.Record 80 + const record = view.thread?.post.record as unknown as AppBskyFeedPost.Record 81 81 82 82 const itemUrip = new AtUri(item.post.uri) 83 83 const itemHref = `/profile/${item.post.author.handle}/post/${itemUrip.rkey}`
+2 -2
src/view/com/posts/FeedItem.tsx
··· 4 4 import Clipboard from '@react-native-clipboard/clipboard' 5 5 import Svg, {Circle, Line} from 'react-native-svg' 6 6 import {AtUri} from '../../../third-party/uri' 7 - import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post' 7 + import {AppBskyFeedPost} from '@atproto/api' 8 8 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 9 9 import {FeedItemModel} from '../../../state/models/feed-view' 10 10 import {Link} from '../util/Link' ··· 28 28 }) { 29 29 const store = useStores() 30 30 const [deleted, setDeleted] = useState(false) 31 - const record = item.post.record as unknown as PostType.Record 31 + const record = item.post.record as unknown as AppBskyFeedPost.Record 32 32 const itemHref = useMemo(() => { 33 33 const urip = new AtUri(item.post.uri) 34 34 return `/profile/${item.post.author.handle}/post/${urip.rkey}`
+1 -2
src/view/com/util/PostEmbeds.tsx
··· 1 1 import React from 'react' 2 2 import {ImageStyle, StyleSheet, StyleProp, View, ViewStyle} from 'react-native' 3 - import * as AppBskyEmbedImages from '../../../third-party/api/src/client/types/app/bsky/embed/images' 4 - import * as AppBskyEmbedExternal from '../../../third-party/api/src/client/types/app/bsky/embed/external' 3 + import {AppBskyEmbedImages, AppBskyEmbedExternal} from '@atproto/api' 5 4 import {Link} from '../util/Link' 6 5 import {Text} from '../util/Text' 7 6 import {colors} from '../../lib/styles'
+1 -1
src/view/com/util/UserInfoText.tsx
··· 1 1 import React, {useState, useEffect} from 'react' 2 - import * as GetProfile from '../../../third-party/api/src/client/types/app/bsky/actor/getProfile' 2 + import {AppBskyActorGetProfile as GetProfile} from '@atproto/api' 3 3 import {StyleProp, TextStyle} from 'react-native' 4 4 import {Link} from './Link' 5 5 import {Text} from './Text'
+53
yarn.lock
··· 19 19 jsonpointer "^5.0.0" 20 20 leven "^3.1.0" 21 21 22 + "@atproto/api@^0.0.2": 23 + version "0.0.2" 24 + resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.0.2.tgz#b6c4f5b670a04e5e79889da792518c8fb84c95bf" 25 + integrity sha512-0ryu3M8kXCmVnRO9eb/PJ8dtwahP28tlMt0SetFQVcjUHZXkZwJGnscJOAznVP7OU1TlyUkjeDXRkUYx9hi4Lg== 26 + dependencies: 27 + "@atproto/xrpc" "*" 28 + typed-emitter "^2.1.0" 29 + 30 + "@atproto/lexicon@*": 31 + version "0.0.1" 32 + resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.0.1.tgz#4ce8985c2c790933200201aab0993bac953ec470" 33 + integrity sha512-PDZfvn+qshocjPzQhyvPVfeGIZY7OJh53i7Wd1tSeGF7q4y1GU7CESxrPkhNZ8aMfA59LtInBtLVnM4Dlza86w== 34 + dependencies: 35 + "@atproto/nsid" "*" 36 + zod "^3.14.2" 37 + 38 + "@atproto/nsid@*": 39 + version "0.0.1" 40 + resolved "https://registry.yarnpkg.com/@atproto/nsid/-/nsid-0.0.1.tgz#0cdc00cefe8f0b1385f352b9f57b3ad37fff09a4" 41 + integrity sha512-t5M6/CzWBVYoBbIvfKDpqPj/+ZmyoK9ydZSStcTXosJ27XXwOPhz0VDUGKK2SM9G5Y7TPes8S5KTAU0UdVYFCw== 42 + 43 + "@atproto/xrpc@*": 44 + version "0.0.1" 45 + resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.0.1.tgz#451918148dfea534577e8da620aea739173fd187" 46 + integrity sha512-l4FrsQ0TGdOU8CbwwA/OY2n0Hvi54fJEfi3zkmr86mwYn2/M2dB1DpQaZhONOIdVVouPZSgW6pCH7ApEXW4dKw== 47 + dependencies: 48 + "@atproto/lexicon" "*" 49 + zod "^3.14.2" 50 + 22 51 "@babel/code-frame@7.12.11": 23 52 version "7.12.11" 24 53 resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" ··· 10833 10862 dependencies: 10834 10863 queue-microtask "^1.2.2" 10835 10864 10865 + rxjs@^7.5.2: 10866 + version "7.8.0" 10867 + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" 10868 + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== 10869 + dependencies: 10870 + tslib "^2.1.0" 10871 + 10836 10872 safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 10837 10873 version "5.1.2" 10838 10874 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" ··· 11869 11905 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 11870 11906 integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 11871 11907 11908 + tslib@^2.1.0: 11909 + version "2.4.1" 11910 + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" 11911 + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== 11912 + 11872 11913 tsutils@^3.17.1, tsutils@^3.21.0: 11873 11914 version "3.21.0" 11874 11915 resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" ··· 11932 11973 dependencies: 11933 11974 media-typer "0.3.0" 11934 11975 mime-types "~2.1.24" 11976 + 11977 + typed-emitter@^2.1.0: 11978 + version "2.1.0" 11979 + resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" 11980 + integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== 11981 + optionalDependencies: 11982 + rxjs "^7.5.2" 11935 11983 11936 11984 typedarray-to-buffer@^3.1.5: 11937 11985 version "3.1.5" ··· 12771 12819 version "0.1.0" 12772 12820 resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 12773 12821 integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 12822 + 12823 + zod@^3.14.2: 12824 + version "3.20.2" 12825 + resolved "https://registry.yarnpkg.com/zod/-/zod-3.20.2.tgz#068606642c8f51b3333981f91c0a8ab37dfc2807" 12826 + integrity sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==