···1+# main indexers
2+JETSTREAM_URL="wss://jetstream.whey.party"
3SPACEDUST_URL="wss://spacedust.microcosm.blue"
4+5+# for backfill (useless if you just started the instance right now)
6CONSTELLATION_URL="https://constellation.microcosm.blue"
7+# i dont actually know why i need this
8SLINGSHOT_URL="https://slingshot.microcosm.blue"
910SERVICE_DID="did:web:local3768forumtest.whey.party"
+1-1
index/onboardingBackfill.ts
···1-import { db, handleIndex } from "../main.ts"
2import { FINEPDSAndHandleFromDid } from "../utils/identity.ts";
34
···1+import { systemDB, handleIndex } from "../main.ts"
2import { FINEPDSAndHandleFromDid } from "../utils/identity.ts";
34
+64-64
indexclient/index.ts
···5 XrpcClient,
6 type FetchHandler,
7 type FetchHandlerOptions,
8-} from '@atproto/xrpc'
9-import { schemas } from './lexicons.js'
10-import { CID } from 'multiformats/cid'
11-import { type OmitKey, type Un$Typed } from './util.js'
12-import * as AppBskyActorDefs from './types/app/bsky/actor/defs.js'
13-import * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile.js'
14-import * as AppBskyActorGetProfiles from './types/app/bsky/actor/getProfiles.js'
15-import * as AppBskyEmbedDefs from './types/app/bsky/embed/defs.js'
16-import * as AppBskyEmbedExternal from './types/app/bsky/embed/external.js'
17-import * as AppBskyEmbedImages from './types/app/bsky/embed/images.js'
18-import * as AppBskyEmbedRecord from './types/app/bsky/embed/record.js'
19-import * as AppBskyEmbedRecordWithMedia from './types/app/bsky/embed/recordWithMedia.js'
20-import * as AppBskyEmbedVideo from './types/app/bsky/embed/video.js'
21-import * as AppBskyFeedDefs from './types/app/bsky/feed/defs.js'
22-import * as AppBskyFeedGetActorFeeds from './types/app/bsky/feed/getActorFeeds.js'
23-import * as AppBskyFeedGetFeedGenerator from './types/app/bsky/feed/getFeedGenerator.js'
24-import * as AppBskyFeedGetFeedGenerators from './types/app/bsky/feed/getFeedGenerators.js'
25-import * as AppBskyFeedGetPosts from './types/app/bsky/feed/getPosts.js'
26-import * as AppBskyFeedPostgate from './types/app/bsky/feed/postgate.js'
27-import * as AppBskyFeedThreadgate from './types/app/bsky/feed/threadgate.js'
28-import * as AppBskyGraphDefs from './types/app/bsky/graph/defs.js'
29-import * as AppBskyNotificationDefs from './types/app/bsky/notification/defs.js'
30-import * as AppBskyRichtextFacet from './types/app/bsky/richtext/facet.js'
31-import * as ComAtprotoLabelDefs from './types/com/atproto/label/defs.js'
32-import * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef.js'
33-import * as PartyWheyAppBskyActorDefs from './types/party/whey/app/bsky/actor/defs.js'
34-import * as PartyWheyAppBskyFeedDefs from './types/party/whey/app/bsky/feed/defs.js'
35-import * as PartyWheyAppBskyFeedGetActorLikesPartial from './types/party/whey/app/bsky/feed/getActorLikesPartial.js'
36-import * as PartyWheyAppBskyFeedGetAuthorFeedPartial from './types/party/whey/app/bsky/feed/getAuthorFeedPartial.js'
37-import * as PartyWheyAppBskyFeedGetLikesPartial from './types/party/whey/app/bsky/feed/getLikesPartial.js'
38-import * as PartyWheyAppBskyFeedGetListFeedPartial from './types/party/whey/app/bsky/feed/getListFeedPartial.js'
39-import * as PartyWheyAppBskyFeedGetPostThreadPartial from './types/party/whey/app/bsky/feed/getPostThreadPartial.js'
40-import * as PartyWheyAppBskyFeedGetQuotesPartial from './types/party/whey/app/bsky/feed/getQuotesPartial.js'
41-import * as PartyWheyAppBskyFeedGetRepostedByPartial from './types/party/whey/app/bsky/feed/getRepostedByPartial.js'
4243-export * as AppBskyActorDefs from './types/app/bsky/actor/defs.js'
44-export * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile.js'
45-export * as AppBskyActorGetProfiles from './types/app/bsky/actor/getProfiles.js'
46-export * as AppBskyEmbedDefs from './types/app/bsky/embed/defs.js'
47-export * as AppBskyEmbedExternal from './types/app/bsky/embed/external.js'
48-export * as AppBskyEmbedImages from './types/app/bsky/embed/images.js'
49-export * as AppBskyEmbedRecord from './types/app/bsky/embed/record.js'
50-export * as AppBskyEmbedRecordWithMedia from './types/app/bsky/embed/recordWithMedia.js'
51-export * as AppBskyEmbedVideo from './types/app/bsky/embed/video.js'
52-export * as AppBskyFeedDefs from './types/app/bsky/feed/defs.js'
53-export * as AppBskyFeedGetActorFeeds from './types/app/bsky/feed/getActorFeeds.js'
54-export * as AppBskyFeedGetFeedGenerator from './types/app/bsky/feed/getFeedGenerator.js'
55-export * as AppBskyFeedGetFeedGenerators from './types/app/bsky/feed/getFeedGenerators.js'
56-export * as AppBskyFeedGetPosts from './types/app/bsky/feed/getPosts.js'
57-export * as AppBskyFeedPostgate from './types/app/bsky/feed/postgate.js'
58-export * as AppBskyFeedThreadgate from './types/app/bsky/feed/threadgate.js'
59-export * as AppBskyGraphDefs from './types/app/bsky/graph/defs.js'
60-export * as AppBskyNotificationDefs from './types/app/bsky/notification/defs.js'
61-export * as AppBskyRichtextFacet from './types/app/bsky/richtext/facet.js'
62-export * as ComAtprotoLabelDefs from './types/com/atproto/label/defs.js'
63-export * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef.js'
64-export * as PartyWheyAppBskyActorDefs from './types/party/whey/app/bsky/actor/defs.js'
65-export * as PartyWheyAppBskyFeedDefs from './types/party/whey/app/bsky/feed/defs.js'
66-export * as PartyWheyAppBskyFeedGetActorLikesPartial from './types/party/whey/app/bsky/feed/getActorLikesPartial.js'
67-export * as PartyWheyAppBskyFeedGetAuthorFeedPartial from './types/party/whey/app/bsky/feed/getAuthorFeedPartial.js'
68-export * as PartyWheyAppBskyFeedGetLikesPartial from './types/party/whey/app/bsky/feed/getLikesPartial.js'
69-export * as PartyWheyAppBskyFeedGetListFeedPartial from './types/party/whey/app/bsky/feed/getListFeedPartial.js'
70-export * as PartyWheyAppBskyFeedGetPostThreadPartial from './types/party/whey/app/bsky/feed/getPostThreadPartial.js'
71-export * as PartyWheyAppBskyFeedGetQuotesPartial from './types/party/whey/app/bsky/feed/getQuotesPartial.js'
72-export * as PartyWheyAppBskyFeedGetRepostedByPartial from './types/party/whey/app/bsky/feed/getRepostedByPartial.js'
7374export const APP_BSKY_FEED = {
75 DefsRequestLess: 'app.bsky.feed.defs#requestLess',
···5 XrpcClient,
6 type FetchHandler,
7 type FetchHandlerOptions,
8+} from 'npm:@atproto/xrpc'
9+import { schemas } from './lexicons.ts'
10+import { CID } from 'npm:multiformats/cid'
11+import { type OmitKey, type Un$Typed } from './util.ts'
12+import * as AppBskyActorDefs from './types/app/bsky/actor/defs.ts'
13+import * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile.ts'
14+import * as AppBskyActorGetProfiles from './types/app/bsky/actor/getProfiles.ts'
15+import * as AppBskyEmbedDefs from './types/app/bsky/embed/defs.ts'
16+import * as AppBskyEmbedExternal from './types/app/bsky/embed/external.ts'
17+import * as AppBskyEmbedImages from './types/app/bsky/embed/images.ts'
18+import * as AppBskyEmbedRecord from './types/app/bsky/embed/record.ts'
19+import * as AppBskyEmbedRecordWithMedia from './types/app/bsky/embed/recordWithMedia.ts'
20+import * as AppBskyEmbedVideo from './types/app/bsky/embed/video.ts'
21+import * as AppBskyFeedDefs from './types/app/bsky/feed/defs.ts'
22+import * as AppBskyFeedGetActorFeeds from './types/app/bsky/feed/getActorFeeds.ts'
23+import * as AppBskyFeedGetFeedGenerator from './types/app/bsky/feed/getFeedGenerator.ts'
24+import * as AppBskyFeedGetFeedGenerators from './types/app/bsky/feed/getFeedGenerators.ts'
25+import * as AppBskyFeedGetPosts from './types/app/bsky/feed/getPosts.ts'
26+import * as AppBskyFeedPostgate from './types/app/bsky/feed/postgate.ts'
27+import * as AppBskyFeedThreadgate from './types/app/bsky/feed/threadgate.ts'
28+import * as AppBskyGraphDefs from './types/app/bsky/graph/defs.ts'
29+import * as AppBskyNotificationDefs from './types/app/bsky/notification/defs.ts'
30+import * as AppBskyRichtextFacet from './types/app/bsky/richtext/facet.ts'
31+import * as ComAtprotoLabelDefs from './types/com/atproto/label/defs.ts'
32+import * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef.ts'
33+import * as PartyWheyAppBskyActorDefs from './types/party/whey/app/bsky/actor/defs.ts'
34+import * as PartyWheyAppBskyFeedDefs from './types/party/whey/app/bsky/feed/defs.ts'
35+import * as PartyWheyAppBskyFeedGetActorLikesPartial from './types/party/whey/app/bsky/feed/getActorLikesPartial.ts'
36+import * as PartyWheyAppBskyFeedGetAuthorFeedPartial from './types/party/whey/app/bsky/feed/getAuthorFeedPartial.ts'
37+import * as PartyWheyAppBskyFeedGetLikesPartial from './types/party/whey/app/bsky/feed/getLikesPartial.ts'
38+import * as PartyWheyAppBskyFeedGetListFeedPartial from './types/party/whey/app/bsky/feed/getListFeedPartial.ts'
39+import * as PartyWheyAppBskyFeedGetPostThreadPartial from './types/party/whey/app/bsky/feed/getPostThreadPartial.ts'
40+import * as PartyWheyAppBskyFeedGetQuotesPartial from './types/party/whey/app/bsky/feed/getQuotesPartial.ts'
41+import * as PartyWheyAppBskyFeedGetRepostedByPartial from './types/party/whey/app/bsky/feed/getRepostedByPartial.ts'
4243+export * as AppBskyActorDefs from './types/app/bsky/actor/defs.ts'
44+export * as AppBskyActorGetProfile from './types/app/bsky/actor/getProfile.ts'
45+export * as AppBskyActorGetProfiles from './types/app/bsky/actor/getProfiles.ts'
46+export * as AppBskyEmbedDefs from './types/app/bsky/embed/defs.ts'
47+export * as AppBskyEmbedExternal from './types/app/bsky/embed/external.ts'
48+export * as AppBskyEmbedImages from './types/app/bsky/embed/images.ts'
49+export * as AppBskyEmbedRecord from './types/app/bsky/embed/record.ts'
50+export * as AppBskyEmbedRecordWithMedia from './types/app/bsky/embed/recordWithMedia.ts'
51+export * as AppBskyEmbedVideo from './types/app/bsky/embed/video.ts'
52+export * as AppBskyFeedDefs from './types/app/bsky/feed/defs.ts'
53+export * as AppBskyFeedGetActorFeeds from './types/app/bsky/feed/getActorFeeds.ts'
54+export * as AppBskyFeedGetFeedGenerator from './types/app/bsky/feed/getFeedGenerator.ts'
55+export * as AppBskyFeedGetFeedGenerators from './types/app/bsky/feed/getFeedGenerators.ts'
56+export * as AppBskyFeedGetPosts from './types/app/bsky/feed/getPosts.ts'
57+export * as AppBskyFeedPostgate from './types/app/bsky/feed/postgate.ts'
58+export * as AppBskyFeedThreadgate from './types/app/bsky/feed/threadgate.ts'
59+export * as AppBskyGraphDefs from './types/app/bsky/graph/defs.ts'
60+export * as AppBskyNotificationDefs from './types/app/bsky/notification/defs.ts'
61+export * as AppBskyRichtextFacet from './types/app/bsky/richtext/facet.ts'
62+export * as ComAtprotoLabelDefs from './types/com/atproto/label/defs.ts'
63+export * as ComAtprotoRepoStrongRef from './types/com/atproto/repo/strongRef.ts'
64+export * as PartyWheyAppBskyActorDefs from './types/party/whey/app/bsky/actor/defs.ts'
65+export * as PartyWheyAppBskyFeedDefs from './types/party/whey/app/bsky/feed/defs.ts'
66+export * as PartyWheyAppBskyFeedGetActorLikesPartial from './types/party/whey/app/bsky/feed/getActorLikesPartial.ts'
67+export * as PartyWheyAppBskyFeedGetAuthorFeedPartial from './types/party/whey/app/bsky/feed/getAuthorFeedPartial.ts'
68+export * as PartyWheyAppBskyFeedGetLikesPartial from './types/party/whey/app/bsky/feed/getLikesPartial.ts'
69+export * as PartyWheyAppBskyFeedGetListFeedPartial from './types/party/whey/app/bsky/feed/getListFeedPartial.ts'
70+export * as PartyWheyAppBskyFeedGetPostThreadPartial from './types/party/whey/app/bsky/feed/getPostThreadPartial.ts'
71+export * as PartyWheyAppBskyFeedGetQuotesPartial from './types/party/whey/app/bsky/feed/getQuotesPartial.ts'
72+export * as PartyWheyAppBskyFeedGetRepostedByPartial from './types/party/whey/app/bsky/feed/getRepostedByPartial.ts'
7374export const APP_BSKY_FEED = {
75 DefsRequestLess: 'app.bsky.feed.defs#requestLess',
+2-2
indexclient/lexicons.ts
···6 Lexicons,
7 ValidationError,
8 type ValidationResult,
9-} from '@atproto/lexicon'
10-import { type $Typed, is$typed, maybe$typed } from './util.js'
1112export const schemaDict = {
13 AppBskyActorDefs: {
···6 Lexicons,
7 ValidationError,
8 type ValidationResult,
9+} from 'npm:@atproto/lexicon'
10+import { type $Typed, is$typed, maybe$typed } from './util.ts'
1112export const schemaDict = {
13 AppBskyActorDefs: {
+11-11
indexclient/types/app/bsky/actor/defs.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
12-import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.js'
13-import type * as AppBskyGraphDefs from '../graph/defs.js'
14-import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js'
15-import type * as AppBskyNotificationDefs from '../notification/defs.js'
16-import type * as AppBskyFeedThreadgate from '../feed/threadgate.js'
17-import type * as AppBskyFeedPostgate from '../feed/postgate.js'
18-import type * as AppBskyEmbedExternal from '../embed/external.js'
1920const is$typed = _is$typed,
21 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
12+import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.ts'
13+import type * as AppBskyGraphDefs from '../graph/defs.ts'
14+import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.ts'
15+import type * as AppBskyNotificationDefs from '../notification/defs.ts'
16+import type * as AppBskyFeedThreadgate from '../feed/threadgate.ts'
17+import type * as AppBskyFeedPostgate from '../feed/postgate.ts'
18+import type * as AppBskyEmbedExternal from '../embed/external.ts'
1920const is$typed = _is$typed,
21 validate = _validate
+6-6
indexclient/types/app/bsky/actor/getProfile.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../util'
13-import type * as AppBskyActorDefs from './defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../util.ts'
13+import type * as AppBskyActorDefs from './defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
+6-6
indexclient/types/app/bsky/actor/getProfiles.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../util'
13-import type * as AppBskyActorDefs from './defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../util.ts'
13+import type * as AppBskyActorDefs from './defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
+4-4
indexclient/types/app/bsky/embed/defs.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
+4-4
indexclient/types/app/bsky/embed/external.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
+5-5
indexclient/types/app/bsky/embed/images.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
12-import type * as AppBskyEmbedDefs from './defs.js'
1314const is$typed = _is$typed,
15 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
12+import type * as AppBskyEmbedDefs from './defs.ts'
1314const is$typed = _is$typed,
15 validate = _validate
+14-14
indexclient/types/app/bsky/embed/record.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
12-import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js'
13-import type * as AppBskyFeedDefs from '../feed/defs.js'
14-import type * as AppBskyGraphDefs from '../graph/defs.js'
15-import type * as AppBskyLabelerDefs from '../labeler/defs.js'
16-import type * as AppBskyActorDefs from '../actor/defs.js'
17-import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.js'
18-import type * as AppBskyEmbedImages from './images.js'
19-import type * as AppBskyEmbedVideo from './video.js'
20-import type * as AppBskyEmbedExternal from './external.js'
21-import type * as AppBskyEmbedRecordWithMedia from './recordWithMedia.js'
2223const is$typed = _is$typed,
24 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
12+import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.ts'
13+import type * as AppBskyFeedDefs from '../feed/defs.ts'
14+import type * as AppBskyGraphDefs from '../graph/defs.ts'
15+import type * as AppBskyLabelerDefs from '../labeler/defs.ts'
16+import type * as AppBskyActorDefs from '../actor/defs.ts'
17+import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.ts'
18+import type * as AppBskyEmbedImages from './images.ts'
19+import type * as AppBskyEmbedVideo from './video.ts'
20+import type * as AppBskyEmbedExternal from './external.ts'
21+import type * as AppBskyEmbedRecordWithMedia from './recordWithMedia.ts'
2223const is$typed = _is$typed,
24 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
12-import type * as AppBskyEmbedRecord from './record.js'
13-import type * as AppBskyEmbedImages from './images.js'
14-import type * as AppBskyEmbedVideo from './video.js'
15-import type * as AppBskyEmbedExternal from './external.js'
1617const is$typed = _is$typed,
18 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
12+import type * as AppBskyEmbedRecord from './record.ts'
13+import type * as AppBskyEmbedImages from './images.ts'
14+import type * as AppBskyEmbedVideo from './video.ts'
15+import type * as AppBskyEmbedExternal from './external.ts'
1617const is$typed = _is$typed,
18 validate = _validate
+5-5
indexclient/types/app/bsky/embed/video.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
12-import type * as AppBskyEmbedDefs from './defs.js'
1314const is$typed = _is$typed,
15 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
12+import type * as AppBskyEmbedDefs from './defs.ts'
1314const is$typed = _is$typed,
15 validate = _validate
+13-13
indexclient/types/app/bsky/feed/defs.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
12-import type * as AppBskyActorDefs from '../actor/defs.js'
13-import type * as AppBskyEmbedImages from '../embed/images.js'
14-import type * as AppBskyEmbedVideo from '../embed/video.js'
15-import type * as AppBskyEmbedExternal from '../embed/external.js'
16-import type * as AppBskyEmbedRecord from '../embed/record.js'
17-import type * as AppBskyEmbedRecordWithMedia from '../embed/recordWithMedia.js'
18-import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.js'
19-import type * as AppBskyRichtextFacet from '../richtext/facet.js'
20-import type * as AppBskyGraphDefs from '../graph/defs.js'
2122const is$typed = _is$typed,
23 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
12+import type * as AppBskyActorDefs from '../actor/defs.ts'
13+import type * as AppBskyEmbedImages from '../embed/images.ts'
14+import type * as AppBskyEmbedVideo from '../embed/video.ts'
15+import type * as AppBskyEmbedExternal from '../embed/external.ts'
16+import type * as AppBskyEmbedRecord from '../embed/record.ts'
17+import type * as AppBskyEmbedRecordWithMedia from '../embed/recordWithMedia.ts'
18+import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.ts'
19+import type * as AppBskyRichtextFacet from '../richtext/facet.ts'
20+import type * as AppBskyGraphDefs from '../graph/defs.ts'
2122const is$typed = _is$typed,
23 validate = _validate
+6-6
indexclient/types/app/bsky/feed/getActorFeeds.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../util'
13-import type * as AppBskyFeedDefs from './defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../util.ts'
13+import type * as AppBskyFeedDefs from './defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../util'
13-import type * as AppBskyFeedDefs from './defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../util.ts'
13+import type * as AppBskyFeedDefs from './defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../util'
13-import type * as AppBskyFeedDefs from './defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../util.ts'
13+import type * as AppBskyFeedDefs from './defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
+6-6
indexclient/types/app/bsky/feed/getPosts.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../util'
13-import type * as AppBskyFeedDefs from './defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../util.ts'
13+import type * as AppBskyFeedDefs from './defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
+4-4
indexclient/types/app/bsky/feed/postgate.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
+4-4
indexclient/types/app/bsky/feed/threadgate.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
+8-8
indexclient/types/app/bsky/graph/defs.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
12-import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.js'
13-import type * as AppBskyActorDefs from '../actor/defs.js'
14-import type * as AppBskyRichtextFacet from '../richtext/facet.js'
15-import type * as AppBskyFeedDefs from '../feed/defs.js'
1617const is$typed = _is$typed,
18 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
12+import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs.ts'
13+import type * as AppBskyActorDefs from '../actor/defs.ts'
14+import type * as AppBskyRichtextFacet from '../richtext/facet.ts'
15+import type * as AppBskyFeedDefs from '../feed/defs.ts'
1617const is$typed = _is$typed,
18 validate = _validate
+4-4
indexclient/types/app/bsky/notification/defs.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
+4-4
indexclient/types/app/bsky/richtext/facet.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
+4-4
indexclient/types/com/atproto/label/defs.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
+4-4
indexclient/types/com/atproto/repo/strongRef.ts
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../util'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../util.ts'
1213const is$typed = _is$typed,
14 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5-import { CID } from 'multiformats/cid'
6-import { validate as _validate } from '../../../../../../lexicons'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11-} from '../../../../../../util'
12-import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.js'
13-import type * as PartyWheyAppBskyActorDefs from '../actor/defs.js'
14-import type * as AppBskyActorDefs from '../../../../../app/bsky/actor/defs.js'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
5+import { CID } from 'npm:multiformats/cid'
6+import { validate as _validate } from '../../../../../../lexicons.ts'
7import {
8 type $Typed,
9 is$typed as _is$typed,
10 type OmitKey,
11+} from '../../../../../../util.ts'
12+import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.ts'
13+import type * as PartyWheyAppBskyActorDefs from '../actor/defs.ts'
14+import type * as AppBskyActorDefs from '../../../../../app/bsky/actor/defs.ts'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../../../util'
13-import type * as PartyWheyAppBskyFeedDefs from './defs.js'
14-import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.js'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../../../util.ts'
13+import type * as PartyWheyAppBskyFeedDefs from './defs.ts'
14+import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.ts'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../../../util'
13-import type * as PartyWheyAppBskyFeedDefs from './defs.js'
14-import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.js'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../../../util.ts'
13+import type * as PartyWheyAppBskyFeedDefs from './defs.ts'
14+import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.ts'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../../../util'
13-import type * as PartyWheyAppBskyActorDefs from '../actor/defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../../../util.ts'
13+import type * as PartyWheyAppBskyActorDefs from '../actor/defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../../../util'
13-import type * as PartyWheyAppBskyFeedDefs from './defs.js'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../../../util.ts'
13+import type * as PartyWheyAppBskyFeedDefs from './defs.ts'
1415const is$typed = _is$typed,
16 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../../../util'
13-import type * as PartyWheyAppBskyFeedDefs from './defs.js'
14-import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.js'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../../../util.ts'
13+import type * as PartyWheyAppBskyFeedDefs from './defs.ts'
14+import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.ts'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../../../util'
13-import type * as PartyWheyAppBskyFeedDefs from './defs.js'
14-import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.js'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../../../util.ts'
13+import type * as PartyWheyAppBskyFeedDefs from './defs.ts'
14+import type * as AppBskyFeedDefs from '../../../../../app/bsky/feed/defs.ts'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4-import { HeadersMap, XRPCError } from '@atproto/xrpc'
5-import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6-import { CID } from 'multiformats/cid'
7-import { validate as _validate } from '../../../../../../lexicons'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12-} from '../../../../../../util'
13-import type * as PartyWheyAppBskyActorDefs from '../actor/defs.js'
14-import type * as AppBskyActorDefs from '../../../../../app/bsky/actor/defs.js'
1516const is$typed = _is$typed,
17 validate = _validate
···1/**
2 * GENERATED CODE - DO NOT MODIFY
3 */
4+import { HeadersMap, XRPCError } from 'npm:@atproto/xrpc'
5+import { type ValidationResult, BlobRef } from 'npm:@atproto/lexicon'
6+import { CID } from 'npm:multiformats/cid'
7+import { validate as _validate } from '../../../../../../lexicons.ts'
8import {
9 type $Typed,
10 is$typed as _is$typed,
11 type OmitKey,
12+} from '../../../../../../util.ts'
13+import type * as PartyWheyAppBskyActorDefs from '../actor/defs.ts'
14+import type * as AppBskyActorDefs from '../../../../../app/bsky/actor/defs.ts'
1516const is$typed = _is$typed,
17 validate = _validate
+1-1
indexclient/util.ts
···2 * GENERATED CODE - DO NOT MODIFY
3 */
45-import { type ValidationResult } from '@atproto/lexicon'
67export type OmitKey<T, K extends keyof T> = {
8 [K2 in keyof T as K2 extends K ? never : K2]: T[K2]
···2 * GENERATED CODE - DO NOT MODIFY
3 */
45+import { type ValidationResult } from 'npm:@atproto/lexicon'
67export type OmitKey<T, K extends keyof T> = {
8 [K2 in keyof T as K2 extends K ? never : K2]: T[K2]
+9
indexserver.ts
···000000000
···1+export async function indexServerHandler(req: Request): Promise<Response> {
2+ const url = new URL(req.url);
3+4+ if (url.pathname === "/ping") {
5+ return new Response("pong", { status: 200 });
6+ }
7+8+ return new Response("Not Found", { status: 404 });
9+}
···1+import { Database } from "jsr:@db/sqlite@0.11";
2+3+export function setupSystemDb(db: Database) {
4+ const createTableINE = "CREATE TABLE IF NOT EXISTS";
5+ const createIndexINE = "CREATE INDEX IF NOT EXISTS";
6+7+ db.exec(`
8+ -- Master list of all users known to the system
9+ ${createTableINE} users (
10+ did TEXT PRIMARY KEY NOT NULL,
11+ role TEXT,
12+ registrationdate TEXT,
13+ onboardingstatus TEXT
14+ );
15+16+ -- Cache of profiles for *other* users, prevents storing this in every user's DB
17+ ${createTableINE} remoteprofileview (
18+ did TEXT PRIMARY KEY NOT NULL,
19+ handle TEXT,
20+ displayname TEXT,
21+ description TEXT,
22+ avatar TEXT,
23+ banner TEXT
24+ );
25+26+ -- Central DID document cache and handle resolution
27+ ${createTableINE} did (
28+ did TEXT PRIMARY KEY NOT NULL,
29+ method TEXT,
30+ string TEXT,
31+ doc TEXT,
32+ pds TEXT,
33+ handle TEXT
34+ );
35+ ${createIndexINE} idx_did_handle ON did(handle);
36+37+ -- A global index for relationships between any two pieces of content
38+ ${createTableINE} backlink_skeleton (
39+ id INTEGER PRIMARY KEY AUTOINCREMENT,
40+ srcuri TEXT,
41+ srcdid TEXT,
42+ srcfield TEXT,
43+ srccol TEXT,
44+ suburi TEXT,
45+ subdid TEXT,
46+ subcol TEXT
47+ );
48+ ${createIndexINE} idx_backlink_subdid_mod ON backlink_skeleton(subdid, srcdid);
49+ ${createIndexINE} idx_backlink_suburi_mod ON backlink_skeleton(suburi, srcdid);
50+ ${createIndexINE} idx_backlink_subdid_filter_mod ON backlink_skeleton(subdid, srccol, srcdid);
51+ ${createIndexINE} idx_backlink_suburi_filter_mod ON backlink_skeleton(suburi, srccol, srcdid);
52+ `);
53+}
···1+import { Database } from "jsr:@db/sqlite@0.11";
2+3+export function setupUserDb(db: Database) {
4+5+ const baseColumns = `
6+ uri TEXT PRIMARY KEY NOT NULL,
7+ did TEXT NOT NULL,
8+ cid TEXT,
9+ rev TEXT,
10+ createdat INTEGER,
11+ indexedat INTEGER NOT NULL,
12+ json TEXT
13+ `;
14+15+ const innerArrayID = "id INTEGER PRIMARY KEY AUTOINCREMENT";
16+ const createTableINE = "CREATE TABLE IF NOT EXISTS";
17+ const createIndexINE = "CREATE INDEX IF NOT EXISTS";
18+19+ db.exec(`
20+ -- User's own personal preferences
21+ ${createTableINE} prefs (
22+ did TEXT PRIMARY KEY NOT NULL,
23+ json TEXT
24+ );
25+ ${createIndexINE} idx_prefs_did ON prefs(did);
26+27+ -- The user's own profile record
28+ ${createTableINE} app_bsky_actor_profile (
29+ ${baseColumns},
30+ displayname TEXT,
31+ description TEXT,
32+ avatarcid TEXT,
33+ avatarmime TEXT,
34+ bannercid TEXT,
35+ bannermime TEXT
36+ );
37+ ${createIndexINE} idx_actor_profile_did ON app_bsky_actor_profile(did);
38+39+ -- All posts created by the user
40+ ${createTableINE} app_bsky_feed_post (
41+ ${baseColumns},
42+ text TEXT,
43+ replyroot TEXT,
44+ replyparent TEXT,
45+ quote TEXT,
46+ imagecount INTEGER,
47+ image1cid TEXT,
48+ image1mime TEXT,
49+ image1aspect TEXT,
50+ image2cid TEXT,
51+ image2mime TEXT,
52+ image2aspect TEXT,
53+ image3cid TEXT,
54+ image3mime TEXT,
55+ image3aspect TEXT,
56+ image4cid TEXT,
57+ image4mime TEXT,
58+ image4aspect TEXT,
59+ videocount INTEGER,
60+ videocid TEXT,
61+ videomime TEXT,
62+ videoaspect TEXT
63+ );
64+ ${createIndexINE} idx_post_author_timeline ON app_bsky_feed_post(did, createdat DESC);
65+ ${createIndexINE} idx_post_global_timeline ON app_bsky_feed_post(indexedat DESC);
66+ ${createIndexINE} idx_post_replyroot ON app_bsky_feed_post(replyroot);
67+ ${createIndexINE} idx_post_replyparent ON app_bsky_feed_post(replyparent);
68+ ${createIndexINE} idx_post_quote ON app_bsky_feed_post(quote);
69+70+ -- Data related to the user's posts
71+ ${createTableINE} app_bsky_feed_post_langs ( ${innerArrayID}, post TEXT NOT NULL, lang TEXT NOT NULL );
72+ ${createIndexINE} idx_post_langs_lang ON app_bsky_feed_post_langs(lang);
73+ ${createIndexINE} idx_post_langs_post ON app_bsky_feed_post_langs(post);
74+75+ ${createTableINE} app_bsky_feed_post_hashtags ( ${innerArrayID}, post TEXT NOT NULL, hashtag TEXT NOT NULL );
76+ ${createIndexINE} idx_post_hashtags_hashtag ON app_bsky_feed_post_hashtags(hashtag);
77+ ${createIndexINE} idx_post_hashtags_post ON app_bsky_feed_post_hashtags(post);
78+79+ ${createTableINE} app_bsky_feed_post_mentions ( ${innerArrayID}, post TEXT NOT NULL, mention TEXT NOT NULL );
80+ ${createIndexINE} idx_post_mentions_mention ON app_bsky_feed_post_mentions(mention);
81+ ${createIndexINE} idx_post_mentions_post ON app_bsky_feed_post_mentions(post);
82+83+ -- All likes created by the user
84+ ${createTableINE} app_bsky_feed_like ( ${baseColumns}, subject TEXT NOT NULL, subjectcid TEXT );
85+ ${createIndexINE} idx_like_author_timeline ON app_bsky_feed_like(did, createdat DESC);
86+ ${createIndexINE} idx_like_subject ON app_bsky_feed_like(subject);
87+88+ -- All reposts created by the user
89+ ${createTableINE} app_bsky_feed_repost ( ${baseColumns}, subject TEXT NOT NULL, subjectcid TEXT );
90+ ${createIndexINE} idx_repost_author_timeline ON app_bsky_feed_repost(did, createdat DESC);
91+ ${createIndexINE} idx_repost_subject ON app_bsky_feed_repost(subject);
92+93+ -- All follows created by the user
94+ ${createTableINE} app_bsky_graph_follow ( ${baseColumns}, subject TEXT NOT NULL );
95+ ${createIndexINE} idx_follow_author_timeline ON app_bsky_graph_follow(did, createdat DESC);
96+ ${createIndexINE} idx_follow_subject_timeline ON app_bsky_graph_follow(subject, createdat DESC);
97+98+ -- All blocks created by the user
99+ ${createTableINE} app_bsky_graph_block ( ${baseColumns}, subject TEXT NOT NULL );
100+ ${createIndexINE} idx_block_author ON app_bsky_graph_block(did);
101+ ${createIndexINE} idx_block_subject ON app_bsky_graph_block(subject);
102+103+ -- All lists created by the user
104+ ${createTableINE} app_bsky_graph_list ( ${baseColumns}, name TEXT, description TEXT, purpose TEXT, avatarcid TEXT, avatarmime TEXT );
105+ ${createIndexINE} idx_list_author ON app_bsky_graph_list(did);
106+ ${createIndexINE} idx_list_purpose ON app_bsky_graph_list(purpose);
107+108+ -- All list items created by the user
109+ ${createTableINE} app_bsky_graph_listitem ( ${baseColumns}, list TEXT NOT NULL, subject TEXT NOT NULL );
110+ ${createIndexINE} idx_listitem_list ON app_bsky_graph_listitem(list);
111+ ${createIndexINE} idx_listitem_subject ON app_bsky_graph_listitem(subject);
112+ ${createIndexINE} idx_listitem_author ON app_bsky_graph_listitem(did);
113+114+ -- All feed generators created by the user
115+ ${createTableINE} app_bsky_feed_generator ( ${baseColumns}, displayname TEXT, description TEXT, avatarcid TEXT, avatarmime TEXT );
116+ ${createIndexINE} idx_feed_generator_author ON app_bsky_feed_generator(did);
117+118+ -- All threadgates created by the user
119+ ${createTableINE} app_bsky_feed_threadgate ( ${baseColumns}, post TEXT NOT NULL );
120+ ${createIndexINE} idx_threadgate_post ON app_bsky_feed_threadgate(post);
121+ ${createIndexINE} idx_threadgate_author ON app_bsky_feed_threadgate(did);
122+123+ ${createTableINE} app_bsky_feed_threadgate_hiddenreplies ( ${innerArrayID}, threadgate TEXT NOT NULL, reply TEXT NOT NULL );
124+ ${createIndexINE} idx_threadgate_hiddenreplies_gate ON app_bsky_feed_threadgate_hiddenreplies(threadgate);
125+126+ -- All list blocks created by the user
127+ ${createTableINE} app_bsky_graph_listblock ( ${baseColumns}, subject TEXT NOT NULL );
128+ ${createIndexINE} idx_listblock_subject ON app_bsky_graph_listblock(subject);
129+ ${createIndexINE} idx_listblock_author ON app_bsky_graph_listblock(did);
130+131+ -- User's notification settings declaration
132+ ${createTableINE} app_bsky_notification_declaration ( ${baseColumns}, allowSubscriptions TEXT );
133+ ${createIndexINE} idx_notification_declaration_author ON app_bsky_notification_declaration(did);
134+ `);
135+}
+7-7
utils/identity.ts
···12import { DidResolver, HandleResolver } from "npm:@atproto/identity";
3-import { db } from "../main.ts";
4type DidMethod = "web" | "plc";
5type DidDoc = {
6 "@context"?: unknown;
···35}
3637function getDidFromHandle(handle: string): { did: string } | null {
38- const row = db.prepare("SELECT did FROM did WHERE handle = ?").get(handle);
39 if (!row) return null;
4041 try {
···65function getDidDoc(
66 did: string
67): { method: "web" | "plc"; doc: DidDoc } | null {
68- const row = db.prepare("SELECT method, doc FROM did WHERE did = ?").get(did);
69 if (!row) return null;
7071 try {
···126function getPDSAndHandleFromDid(
127 did: string
128): { pds: string; handle?: string } | null {
129- const row = db.prepare("SELECT pds, handle FROM did WHERE did = ?").get(did);
130131 if (!row) return null;
132 return {
···144 const { did } = await resolveDidFromHandle(handle);
145 const { diddoc, didmethod } = await resolveDidDoc(did);
146147- db.prepare(
148 "INSERT OR REPLACE INTO did (did, handle, doc, method) VALUES (?, ?, ?, ?)"
149 ).run(did, handle, JSON.stringify(diddoc), didmethod);
150···162 try {
163 const { diddoc, didmethod } = await resolveDidDoc(did);
164165- db.prepare(
166 "INSERT OR REPLACE INTO did (did, doc, method) VALUES (?, ?, ?)"
167 ).run(did, JSON.stringify(diddoc), didmethod);
168···215 if (aka) handle = aka.slice("at://".length);
216 }
217218- db.prepare(
219 "INSERT OR REPLACE INTO did (did, pds, handle) VALUES (?, ?, ?)"
220 ).run(did, serviceEndpoint, handle ?? null);
221
···12import { DidResolver, HandleResolver } from "npm:@atproto/identity";
3+import { systemDB } from "../main.ts";
4type DidMethod = "web" | "plc";
5type DidDoc = {
6 "@context"?: unknown;
···35}
3637function getDidFromHandle(handle: string): { did: string } | null {
38+ const row = systemDB.prepare("SELECT did FROM did WHERE handle = ?").get(handle);
39 if (!row) return null;
4041 try {
···65function getDidDoc(
66 did: string
67): { method: "web" | "plc"; doc: DidDoc } | null {
68+ const row = systemDB.prepare("SELECT method, doc FROM did WHERE did = ?").get(did);
69 if (!row) return null;
7071 try {
···126function getPDSAndHandleFromDid(
127 did: string
128): { pds: string; handle?: string } | null {
129+ const row = systemDB.prepare("SELECT pds, handle FROM did WHERE did = ?").get(did);
130131 if (!row) return null;
132 return {
···144 const { did } = await resolveDidFromHandle(handle);
145 const { diddoc, didmethod } = await resolveDidDoc(did);
146147+ systemDB.prepare(
148 "INSERT OR REPLACE INTO did (did, handle, doc, method) VALUES (?, ?, ?, ?)"
149 ).run(did, handle, JSON.stringify(diddoc), didmethod);
150···162 try {
163 const { diddoc, didmethod } = await resolveDidDoc(did);
164165+ systemDB.prepare(
166 "INSERT OR REPLACE INTO did (did, doc, method) VALUES (?, ?, ?)"
167 ).run(did, JSON.stringify(diddoc), didmethod);
168···215 if (aka) handle = aka.slice("at://".length);
216 }
217218+ systemDB.prepare(
219 "INSERT OR REPLACE INTO did (did, pds, handle) VALUES (?, ?, ?)"
220 ).run(did, serviceEndpoint, handle ?? null);
221
utils/indexserver.ts
This is a binary file and will not be displayed.
+13
utils/indexservertypes.ts
···0000000000000
···1+export * as AppBskyActorGetProfile from '../indexserver/types/app/bsky/actor/getProfile.ts'
2+export * as AppBskyActorGetProfiles from '../indexserver/types/app/bsky/actor/getProfiles.ts'
3+export * as AppBskyFeedGetActorFeeds from '../indexserver/types/app/bsky/feed/getActorFeeds.ts'
4+export * as AppBskyFeedGetFeedGenerator from '../indexserver/types/app/bsky/feed/getFeedGenerator.ts'
5+export * as AppBskyFeedGetFeedGenerators from '../indexserver/types/app/bsky/feed/getFeedGenerators.ts'
6+export * as AppBskyFeedGetPosts from '../indexserver/types/app/bsky/feed/getPosts.ts'
7+export * as PartyWheyAppBskyFeedGetActorLikesPartial from '../indexserver/types/party/whey/app/bsky/feed/getActorLikesPartial.ts'
8+export * as PartyWheyAppBskyFeedGetAuthorFeedPartial from '../indexserver/types/party/whey/app/bsky/feed/getAuthorFeedPartial.ts'
9+export * as PartyWheyAppBskyFeedGetLikesPartial from '../indexserver/types/party/whey/app/bsky/feed/getLikesPartial.ts'
10+export * as PartyWheyAppBskyFeedGetListFeedPartial from '../indexserver/types/party/whey/app/bsky/feed/getListFeedPartial.ts'
11+export * as PartyWheyAppBskyFeedGetPostThreadPartial from '../indexserver/types/party/whey/app/bsky/feed/getPostThreadPartial.ts'
12+export * as PartyWheyAppBskyFeedGetQuotesPartial from '../indexserver/types/party/whey/app/bsky/feed/getQuotesPartial.ts'
13+export * as PartyWheyAppBskyFeedGetRepostedByPartial from '../indexserver/types/party/whey/app/bsky/feed/getRepostedByPartial.ts'