···11import {AtUri} from '../third-party/uri'
22-import {Entity} from '../third-party/api/src/client/types/app/bsky/feed/post'
22+import {AppBskyFeedPost} from '@atproto/api'
33+type Entity = AppBskyFeedPost.Entity
34import {PROD_SERVICE} from '../state'
45import {isNetworkError} from './errors'
56import TLDs from 'tlds'
+1-2
src/state/index.ts
···11import {autorun} from 'mobx'
22import {Platform} from 'react-native'
33-import {sessionClient as AtpApi} from '../third-party/api'
44-import type {SessionServiceClient} from '../third-party/api/src/index'
33+import {sessionClient as AtpApi, SessionServiceClient} from '@atproto/api'
54import {RootStoreModel} from './models/root-store'
65import * as libapi from './lib/api'
76import * as storage from './lib/storage'
+6-4
src/state/lib/api.ts
···44 */
5566// import {ReactNativeStore} from './auth'
77-import {sessionClient as AtpApi} from '../../third-party/api'
77+import {
88+ sessionClient as AtpApi,
99+ APP_BSKY_GRAPH,
1010+ AppBskyEmbedImages,
1111+ AppBskyEmbedExternal,
1212+} from '@atproto/api'
813import {AtUri} from '../../third-party/uri'
99-import {APP_BSKY_GRAPH} from '../../third-party/api'
1010-import * as AppBskyEmbedImages from '../../third-party/api/src/client/types/app/bsky/embed/images'
1111-import * as AppBskyEmbedExternal from '../../third-party/api/src/client/types/app/bsky/embed/External'
1214import {RootStoreModel} from '../models/root-store'
1315import {extractEntities} from '../../lib/strings'
1416import {isNetworkError} from '../../lib/errors'
+9-7
src/state/models/feed-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22-import * as GetTimeline from '../../third-party/api/src/client/types/app/bsky/feed/getTimeline'
32import {
44- Main as FeedViewPost,
55- ReasonTrend,
66- ReasonRepost,
77-} from '../../third-party/api/src/client/types/app/bsky/feed/feedViewPost'
88-import {View as PostView} from '../../third-party/api/src/client/types/app/bsky/feed/post'
99-import * as GetAuthorFeed from '../../third-party/api/src/client/types/app/bsky/feed/getAuthorFeed'
33+ AppBskyFeedGetTimeline as GetTimeline,
44+ AppBskyFeedFeedViewPost,
55+ AppBskyFeedPost,
66+ AppBskyFeedGetAuthorFeed as GetAuthorFeed,
77+} from '@atproto/api'
88+type FeedViewPost = AppBskyFeedFeedViewPost.Main
99+type ReasonTrend = AppBskyFeedFeedViewPost.ReasonTrend
1010+type ReasonRepost = AppBskyFeedFeedViewPost.ReasonRepost
1111+type PostView = AppBskyFeedPost.View
1012import {AtUri} from '../../third-party/uri'
1113import {RootStoreModel} from './root-store'
1214import * as apilib from '../lib/api'
+2-3
src/state/models/get-assertions-view.ts
···11import {makeAutoObservable} from 'mobx'
22-import * as GetAssertions from '../../third-party/api/src/client/types/app/bsky/graph/getAssertions'
22+import {AppBskyGraphGetAssertions as GetAssertions} from '@atproto/api'
33import {RootStoreModel} from './root-store'
4455-type ResponseAssertion = GetAssertions.OutputSchema['assertions'][number]
66-export type Assertion = ResponseAssertion & {
55+export type Assertion = GetAssertions.Assertion & {
76 _reactKey: string
87}
98
+5-3
src/state/models/members-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22-import * as GetMembers from '../../third-party/api/src/client/types/app/bsky/graph/getMembers'
33-import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref'
44-import {APP_BSKY_GRAPH} from '../../third-party/api'
22+import {
33+ AppBskyGraphGetMembers as GetMembers,
44+ AppBskyActorRef as ActorRef,
55+ APP_BSKY_GRAPH,
66+} from '@atproto/api'
57import {AtUri} from '../../third-party/uri'
68import {RootStoreModel} from './root-store'
79
+4-2
src/state/models/memberships-view.ts
···11import {makeAutoObservable} from 'mobx'
22-import * as GetMemberships from '../../third-party/api/src/client/types/app/bsky/graph/getMemberships'
33-import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref'
22+import {
33+ AppBskyGraphGetMemberships as GetMemberships,
44+ AppBskyActorRef as ActorRef,
55+} from '@atproto/api'
46import {RootStoreModel} from './root-store'
5768export type MembershipItem = GetMemberships.Membership & {
+5-3
src/state/models/notifications-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22-import * as ListNotifications from '../../third-party/api/src/client/types/app/bsky/notification/list'
33-import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref'
22+import {
33+ AppBskyNotificationList as ListNotifications,
44+ AppBskyActorRef as ActorRef,
55+ APP_BSKY_GRAPH,
66+} from '@atproto/api'
47import {RootStoreModel} from './root-store'
58import {PostThreadViewModel} from './post-thread-view'
69import {hasProp} from '../lib/type-guards'
77-import {APP_BSKY_GRAPH} from '../../third-party/api'
810import {cleanError} from '../../lib/strings'
9111012const UNGROUPABLE_REASONS = ['trend', 'assertion']
+2-3
src/state/models/post-thread-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22-import {AppBskyFeedGetPostThread as GPT} from '../../third-party/api'
33-import type * as GetPostThread from '../../third-party/api/src/client/types/app/bsky/feed/getPostThread'
22+import {AppBskyFeedGetPostThread as GetPostThread} from '@atproto/api'
43import {AtUri} from '../../third-party/uri'
54import {RootStoreModel} from './root-store'
65import * as apilib from '../lib/api'
···297296 this.isRefreshing = false
298297 this.hasLoaded = true
299298 this.error = err ? err.toString() : ''
300300- this.notFound = err instanceof GPT.NotFoundError
299299+ this.notFound = err instanceof GetPostThread.NotFoundError
301300 }
302301303302 // loader functions
+1-1
src/state/models/post.ts
···11import {makeAutoObservable} from 'mobx'
22-import * as Post from '../../third-party/api/src/client/types/app/bsky/feed/post'
22+import {AppBskyFeedPost as Post} from '@atproto/api'
33import {AtUri} from '../../third-party/uri'
44import {RootStoreModel} from './root-store'
55import {cleanError} from '../../lib/strings'
+8-4
src/state/models/profile-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22import {Image as PickedImage} from 'react-native-image-crop-picker'
33-import * as GetProfile from '../../third-party/api/src/client/types/app/bsky/actor/getProfile'
44-import * as Profile from '../../third-party/api/src/client/types/app/bsky/actor/profile'
55-import {Main as DeclRef} from '../../third-party/api/src/client/types/app/bsky/system/declRef'
66-import {Entity} from '../../third-party/api/src/client/types/app/bsky/feed/post'
33+import {
44+ AppBskyActorGetProfile as GetProfile,
55+ AppBskyActorProfile as Profile,
66+ AppBskySystemDeclRef,
77+ AppBskyFeedPost,
88+} from '@atproto/api'
99+type DeclRef = AppBskySystemDeclRef.Main
1010+type Entity = AppBskyFeedPost.Entity
711import {extractEntities} from '../../lib/strings'
812import {RootStoreModel} from './root-store'
913import * as apilib from '../lib/api'
+1-1
src/state/models/profiles-view.ts
···11import {makeAutoObservable} from 'mobx'
22import {LRUMap} from 'lru_map'
33import {RootStoreModel} from './root-store'
44-import * as GetProfile from '../../third-party/api/src/client/types/app/bsky/actor/getProfile'
44+import {AppBskyActorGetProfile as GetProfile} from '@atproto/api'
5566type CacheValue = Promise<GetProfile.Response> | GetProfile.Response
77export class ProfilesViewModel {
+5-2
src/state/models/reposted-by-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22import {AtUri} from '../../third-party/uri'
33-import * as GetRepostedBy from '../../third-party/api/src/client/types/app/bsky/feed/getRepostedBy'
44-import {Main as DeclRef} from '../../third-party/api/src/client/types/app/bsky/system/declRef'
33+import {
44+ AppBskyFeedGetRepostedBy as GetRepostedBy,
55+ AppBskySystemDeclRef,
66+} from '@atproto/api'
77+type DeclRef = AppBskySystemDeclRef.Main
58import {RootStoreModel} from './root-store'
69710export class RepostedByViewItemModel implements GetRepostedBy.RepostedBy {
+1-2
src/state/models/root-store.ts
···33 */
4455import {makeAutoObservable} from 'mobx'
66-import {sessionClient as AtpApi} from '../../third-party/api'
77-import type {SessionServiceClient} from '../../third-party/api/src/index'
66+import {sessionClient as AtpApi, SessionServiceClient} from '@atproto/api'
87import {createContext, useContext} from 'react'
98import {isObj, hasProp} from '../lib/type-guards'
109import {SessionModel} from './session'
+5-5
src/state/models/session.ts
···11import {makeAutoObservable} from 'mobx'
22-import {sessionClient as AtpApi} from '../../third-party/api/index'
33-import type {
44- SessionServiceClient,
22+import {
33+ sessionClient as AtpApi,
54 Session,
66-} from '../../third-party/api/src/index'
77-import type * as GetAccountsConfig from '../../third-party/api/src/client/types/com/atproto/server/getAccountsConfig'
55+ SessionServiceClient,
66+ ComAtprotoServerGetAccountsConfig as GetAccountsConfig,
77+} from '@atproto/api'
88import {isObj, hasProp} from '../lib/type-guards'
99import {RootStoreModel} from './root-store'
1010import {isNetworkError} from '../../lib/errors'
+1-1
src/state/models/suggested-actors-view.ts
···11import {makeAutoObservable} from 'mobx'
22-import * as GetSuggestions from '../../third-party/api/src/client/types/app/bsky/actor/getSuggestions'
22+import {AppBskyActorGetSuggestions as GetSuggestions} from '@atproto/api'
33import {RootStoreModel} from './root-store'
4455export type SuggestedActor = GetSuggestions.Actor & {
+1-1
src/state/models/suggested-invites-view.ts
···22import {RootStoreModel} from './root-store'
33import {UserFollowsViewModel, FollowItem} from './user-follows-view'
44import {GetAssertionsView} from './get-assertions-view'
55-import {APP_BSKY_SYSTEM, APP_BSKY_GRAPH} from '../../third-party/api'
55+import {APP_BSKY_SYSTEM, APP_BSKY_GRAPH} from '@atproto/api'
6677export interface SuggestedInvitesViewParams {
88 sceneDid: string
+4-2
src/state/models/user-autocomplete-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22-import * as GetFollows from '../../third-party/api/src/client/types/app/bsky/graph/getFollows'
33-import * as SearchTypeahead from '../../third-party/api/src/client/types/app/bsky/actor/searchTypeahead'
22+import {
33+ AppBskyGraphGetFollows as GetFollows,
44+ AppBskyActorSearchTypeahead as SearchTypeahead,
55+} from '@atproto/api'
46import {RootStoreModel} from './root-store'
5768export class UserAutocompleteViewModel {
+4-2
src/state/models/user-followers-view.ts
···11import {makeAutoObservable} from 'mobx'
22-import * as GetFollowers from '../../third-party/api/src/client/types/app/bsky/graph/getFollowers'
33-import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref'
22+import {
33+ AppBskyGraphGetFollowers as GetFollowers,
44+ AppBskyActorRef as ActorRef,
55+} from '@atproto/api'
46import {RootStoreModel} from './root-store'
5768export type FollowerItem = GetFollowers.Follower & {
+4-2
src/state/models/user-follows-view.ts
···11import {makeAutoObservable} from 'mobx'
22-import * as GetFollows from '../../third-party/api/src/client/types/app/bsky/graph/getFollows'
33-import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref'
22+import {
33+ AppBskyGraphGetFollows as GetFollows,
44+ AppBskyActorRef as ActorRef,
55+} from '@atproto/api'
46import {RootStoreModel} from './root-store'
5768export type FollowItem = GetFollows.Follow & {
+4-2
src/state/models/votes-view.ts
···11import {makeAutoObservable, runInAction} from 'mobx'
22import {AtUri} from '../../third-party/uri'
33-import * as GetVotes from '../../third-party/api/src/client/types/app/bsky/feed/getVotes'
44-import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref'
33+import {
44+ AppBskyFeedGetVotes as GetVotes,
55+ AppBskyActorRef as ActorRef,
66+} from '@atproto/api'
57import {RootStoreModel} from './root-store'
6879export class VotesViewItemModel implements GetVotes.Vote {
···11-export * from './client';
22-export { default } from './client';
33-export * from './session';
44-export { default as sessionClient } from './session';
···1010 View,
1111} from 'react-native'
1212import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
1313+import {ComAtprotoAccountCreate} from '@atproto/api'
1314import * as EmailValidator from 'email-validator'
1415import {Logo} from './Logo'
1516import {Picker} from '../util/Picker'
···2425import {useStores, DEFAULT_SERVICE} from '../../../state'
2526import {ServiceDescription} from '../../../state/models/session'
2627import {ServerInputModal} from '../../../state/models/shell-ui'
2727-import {ComAtprotoAccountCreate} from '../../../third-party/api/index'
28282929export const CreateAccount = ({onPressBack}: {onPressBack: () => void}) => {
3030 const store = useStores()
+1-2
src/view/com/login/Signin.tsx
···1010} from 'react-native'
1111import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
1212import * as EmailValidator from 'email-validator'
1313+import {sessionClient as AtpApi, SessionServiceClient} from '@atproto/api'
1314import {Logo} from './Logo'
1415import {Text} from '../util/Text'
1516import {s, colors} from '../../lib/styles'
···1819import {ServiceDescription} from '../../../state/models/session'
1920import {ServerInputModal} from '../../../state/models/shell-ui'
2021import {isNetworkError} from '../../../lib/errors'
2121-import {sessionClient as AtpApi} from '../../../third-party/api/index'
2222-import type {SessionServiceClient} from '../../../third-party/api/src/index'
23222423enum Forms {
2524 Login,
+1-1
src/view/com/modals/CreateScene.tsx
···88} from 'react-native'
99import LinearGradient from 'react-native-linear-gradient'
1010import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet'
1111+import {AppBskyActorCreateScene} from '@atproto/api'
1112import {ErrorMessage} from '../util/ErrorMessage'
1213import {Text} from '../util/Text'
1314import {useStores} from '../../../state'
···1920 MAX_DISPLAY_NAME,
2021 MAX_DESCRIPTION,
2122} from '../../../lib/strings'
2222-import {AppBskyActorCreateScene} from '../../../third-party/api/index'
23232424export const snapPoints = ['60%']
2525
+2-2
src/view/com/post-thread/PostThreadItem.tsx
···33import {StyleSheet, View} from 'react-native'
44import Clipboard from '@react-native-clipboard/clipboard'
55import {AtUri} from '../../../third-party/uri'
66-import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post'
66+import {AppBskyFeedPost} from '@atproto/api'
77import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
88import {PostThreadViewPostModel} from '../../../state/models/post-thread-view'
99import {Link} from '../util/Link'
···3232}) {
3333 const store = useStores()
3434 const [deleted, setDeleted] = useState(false)
3535- const record = item.post.record as unknown as PostType.Record
3535+ const record = item.post.record as unknown as AppBskyFeedPost.Record
3636 const hasEngagement = item.post.upvoteCount || item.post.repostCount
37373838 const itemHref = useMemo(() => {
+2-2
src/view/com/post/Post.tsx
···99import {observer} from 'mobx-react-lite'
1010import Clipboard from '@react-native-clipboard/clipboard'
1111import {AtUri} from '../../../third-party/uri'
1212-import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post'
1212+import {AppBskyFeedPost} from '@atproto/api'
1313import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
1414import {PostThreadViewModel} from '../../../state/models/post-thread-view'
1515import {Link} from '../util/Link'
···7777 // loaded
7878 // =
7979 const item = view.thread
8080- const record = view.thread?.post.record as unknown as PostType.Record
8080+ const record = view.thread?.post.record as unknown as AppBskyFeedPost.Record
81818282 const itemUrip = new AtUri(item.post.uri)
8383 const itemHref = `/profile/${item.post.author.handle}/post/${itemUrip.rkey}`
+2-2
src/view/com/posts/FeedItem.tsx
···44import Clipboard from '@react-native-clipboard/clipboard'
55import Svg, {Circle, Line} from 'react-native-svg'
66import {AtUri} from '../../../third-party/uri'
77-import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post'
77+import {AppBskyFeedPost} from '@atproto/api'
88import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
99import {FeedItemModel} from '../../../state/models/feed-view'
1010import {Link} from '../util/Link'
···2828}) {
2929 const store = useStores()
3030 const [deleted, setDeleted] = useState(false)
3131- const record = item.post.record as unknown as PostType.Record
3131+ const record = item.post.record as unknown as AppBskyFeedPost.Record
3232 const itemHref = useMemo(() => {
3333 const urip = new AtUri(item.post.uri)
3434 return `/profile/${item.post.author.handle}/post/${urip.rkey}`
+1-2
src/view/com/util/PostEmbeds.tsx
···11import React from 'react'
22import {ImageStyle, StyleSheet, StyleProp, View, ViewStyle} from 'react-native'
33-import * as AppBskyEmbedImages from '../../../third-party/api/src/client/types/app/bsky/embed/images'
44-import * as AppBskyEmbedExternal from '../../../third-party/api/src/client/types/app/bsky/embed/external'
33+import {AppBskyEmbedImages, AppBskyEmbedExternal} from '@atproto/api'
54import {Link} from '../util/Link'
65import {Text} from '../util/Text'
76import {colors} from '../../lib/styles'
+1-1
src/view/com/util/UserInfoText.tsx
···11import React, {useState, useEffect} from 'react'
22-import * as GetProfile from '../../../third-party/api/src/client/types/app/bsky/actor/getProfile'
22+import {AppBskyActorGetProfile as GetProfile} from '@atproto/api'
33import {StyleProp, TextStyle} from 'react-native'
44import {Link} from './Link'
55import {Text} from './Text'