@atproto/api 0.18.4 → 0.18.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +4 -0
  4. package/dist/agent.js.map +1 -1
  5. package/dist/client/index.d.ts +30 -0
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +95 -8
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/client/lexicons.d.ts +812 -2
  10. package/dist/client/lexicons.d.ts.map +1 -1
  11. package/dist/client/lexicons.js +429 -0
  12. package/dist/client/lexicons.js.map +1 -1
  13. package/dist/client/types/app/bsky/actor/defs.d.ts +13 -1
  14. package/dist/client/types/app/bsky/actor/defs.d.ts.map +1 -1
  15. package/dist/client/types/app/bsky/actor/defs.js +9 -0
  16. package/dist/client/types/app/bsky/actor/defs.js.map +1 -1
  17. package/dist/client/types/app/bsky/contact/defs.d.ts +34 -0
  18. package/dist/client/types/app/bsky/contact/defs.d.ts.map +1 -0
  19. package/dist/client/types/app/bsky/contact/defs.js +34 -0
  20. package/dist/client/types/app/bsky/contact/defs.js.map +1 -0
  21. package/dist/client/types/app/bsky/contact/dismissMatch.d.ts +27 -0
  22. package/dist/client/types/app/bsky/contact/dismissMatch.d.ts.map +1 -0
  23. package/dist/client/types/app/bsky/contact/dismissMatch.js +26 -0
  24. package/dist/client/types/app/bsky/contact/dismissMatch.js.map +1 -0
  25. package/dist/client/types/app/bsky/contact/getMatches.d.ts +28 -0
  26. package/dist/client/types/app/bsky/contact/getMatches.d.ts.map +1 -0
  27. package/dist/client/types/app/bsky/contact/getMatches.js +26 -0
  28. package/dist/client/types/app/bsky/contact/getMatches.js.map +1 -0
  29. package/dist/client/types/app/bsky/contact/getSyncStatus.d.ts +24 -0
  30. package/dist/client/types/app/bsky/contact/getSyncStatus.d.ts.map +1 -0
  31. package/dist/client/types/app/bsky/contact/getSyncStatus.js +26 -0
  32. package/dist/client/types/app/bsky/contact/getSyncStatus.js.map +1 -0
  33. package/dist/client/types/app/bsky/contact/importContacts.d.ts +32 -0
  34. package/dist/client/types/app/bsky/contact/importContacts.d.ts.map +1 -0
  35. package/dist/client/types/app/bsky/contact/importContacts.js +26 -0
  36. package/dist/client/types/app/bsky/contact/importContacts.js.map +1 -0
  37. package/dist/client/types/app/bsky/contact/removeData.d.ts +25 -0
  38. package/dist/client/types/app/bsky/contact/removeData.d.ts.map +1 -0
  39. package/dist/client/types/app/bsky/contact/removeData.js +26 -0
  40. package/dist/client/types/app/bsky/contact/removeData.js.map +1 -0
  41. package/dist/client/types/app/bsky/contact/sendNotification.d.ts +26 -0
  42. package/dist/client/types/app/bsky/contact/sendNotification.d.ts.map +1 -0
  43. package/dist/client/types/app/bsky/contact/sendNotification.js +11 -0
  44. package/dist/client/types/app/bsky/contact/sendNotification.js.map +1 -0
  45. package/dist/client/types/app/bsky/contact/startPhoneVerification.d.ts +27 -0
  46. package/dist/client/types/app/bsky/contact/startPhoneVerification.d.ts.map +1 -0
  47. package/dist/client/types/app/bsky/contact/startPhoneVerification.js +26 -0
  48. package/dist/client/types/app/bsky/contact/startPhoneVerification.js.map +1 -0
  49. package/dist/client/types/app/bsky/contact/verifyPhone.d.ts +31 -0
  50. package/dist/client/types/app/bsky/contact/verifyPhone.d.ts.map +1 -0
  51. package/dist/client/types/app/bsky/contact/verifyPhone.js +26 -0
  52. package/dist/client/types/app/bsky/contact/verifyPhone.js.map +1 -0
  53. package/dist/client/types/app/bsky/graph/defs.d.ts +8 -0
  54. package/dist/client/types/app/bsky/graph/defs.d.ts.map +1 -1
  55. package/dist/client/types/app/bsky/graph/defs.js.map +1 -1
  56. package/dist/predicate.d.ts +1 -0
  57. package/dist/predicate.d.ts.map +1 -1
  58. package/dist/predicate.js +2 -1
  59. package/dist/predicate.js.map +1 -1
  60. package/dist/types.d.ts +6 -0
  61. package/dist/types.d.ts.map +1 -1
  62. package/dist/types.js.map +1 -1
  63. package/package.json +5 -5
  64. package/src/agent.ts +3 -0
  65. package/src/client/index.ts +117 -0
  66. package/src/client/lexicons.ts +456 -0
  67. package/src/client/types/app/bsky/actor/defs.ts +22 -0
  68. package/src/client/types/app/bsky/contact/defs.ts +71 -0
  69. package/src/client/types/app/bsky/contact/dismissMatch.ts +52 -0
  70. package/src/client/types/app/bsky/contact/getMatches.ts +53 -0
  71. package/src/client/types/app/bsky/contact/getSyncStatus.ts +49 -0
  72. package/src/client/types/app/bsky/contact/importContacts.ts +58 -0
  73. package/src/client/types/app/bsky/contact/removeData.ts +49 -0
  74. package/src/client/types/app/bsky/contact/sendNotification.ts +44 -0
  75. package/src/client/types/app/bsky/contact/startPhoneVerification.ts +52 -0
  76. package/src/client/types/app/bsky/contact/verifyPhone.ts +57 -0
  77. package/src/client/types/app/bsky/graph/defs.ts +8 -0
  78. package/src/predicate.ts +3 -0
  79. package/src/types.ts +6 -0
  80. package/tests/atp-agent.test.ts +82 -1
  81. package/tsconfig.build.tsbuildinfo +1 -1
@@ -0,0 +1,71 @@
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'
7
+ import {
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
+
14
+ const is$typed = _is$typed,
15
+ validate = _validate
16
+ const id = 'app.bsky.contact.defs'
17
+
18
+ /** Associates a profile with the positional index of the contact import input in the call to `app.bsky.contact.importContacts`, so clients can know which phone caused a particular match. */
19
+ export interface MatchAndContactIndex {
20
+ $type?: 'app.bsky.contact.defs#matchAndContactIndex'
21
+ match: AppBskyActorDefs.ProfileView
22
+ /** The index of this match in the import contact input. */
23
+ contactIndex: number
24
+ }
25
+
26
+ const hashMatchAndContactIndex = 'matchAndContactIndex'
27
+
28
+ export function isMatchAndContactIndex<V>(v: V) {
29
+ return is$typed(v, id, hashMatchAndContactIndex)
30
+ }
31
+
32
+ export function validateMatchAndContactIndex<V>(v: V) {
33
+ return validate<MatchAndContactIndex & V>(v, id, hashMatchAndContactIndex)
34
+ }
35
+
36
+ export interface SyncStatus {
37
+ $type?: 'app.bsky.contact.defs#syncStatus'
38
+ /** Last date when contacts where imported. */
39
+ syncedAt: string
40
+ /** Number of existing contact matches resulting of the user imports and of their imported contacts having imported the user. Matches stop being counted when the user either follows the matched contact or dismisses the match. */
41
+ matchesCount: number
42
+ }
43
+
44
+ const hashSyncStatus = 'syncStatus'
45
+
46
+ export function isSyncStatus<V>(v: V) {
47
+ return is$typed(v, id, hashSyncStatus)
48
+ }
49
+
50
+ export function validateSyncStatus<V>(v: V) {
51
+ return validate<SyncStatus & V>(v, id, hashSyncStatus)
52
+ }
53
+
54
+ /** A stash object to be sent via bsync representing a notification to be created. */
55
+ export interface Notification {
56
+ $type?: 'app.bsky.contact.defs#notification'
57
+ /** The DID of who this notification comes from. */
58
+ from: string
59
+ /** The DID of who this notification should go to. */
60
+ to: string
61
+ }
62
+
63
+ const hashNotification = 'notification'
64
+
65
+ export function isNotification<V>(v: V) {
66
+ return is$typed(v, id, hashNotification)
67
+ }
68
+
69
+ export function validateNotification<V>(v: V) {
70
+ return validate<Notification & V>(v, id, hashNotification)
71
+ }
@@ -0,0 +1,52 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+
14
+ const is$typed = _is$typed,
15
+ validate = _validate
16
+ const id = 'app.bsky.contact.dismissMatch'
17
+
18
+ export type QueryParams = {}
19
+
20
+ export interface InputSchema {
21
+ /** The subject's DID to dismiss the match with. */
22
+ subject: string
23
+ }
24
+
25
+ export interface OutputSchema {}
26
+
27
+ export interface CallOptions {
28
+ signal?: AbortSignal
29
+ headers?: HeadersMap
30
+ qp?: QueryParams
31
+ encoding?: 'application/json'
32
+ }
33
+
34
+ export interface Response {
35
+ success: boolean
36
+ headers: HeadersMap
37
+ data: OutputSchema
38
+ }
39
+
40
+ export class TODOError extends XRPCError {
41
+ constructor(src: XRPCError) {
42
+ super(src.status, src.error, src.message, src.headers, { cause: src })
43
+ }
44
+ }
45
+
46
+ export function toKnownErr(e: any) {
47
+ if (e instanceof XRPCError) {
48
+ if (e.error === 'TODO') return new TODOError(e)
49
+ }
50
+
51
+ return e
52
+ }
@@ -0,0 +1,53 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+ import type * as AppBskyActorDefs from '../actor/defs.js'
14
+
15
+ const is$typed = _is$typed,
16
+ validate = _validate
17
+ const id = 'app.bsky.contact.getMatches'
18
+
19
+ export type QueryParams = {
20
+ limit?: number
21
+ cursor?: string
22
+ }
23
+ export type InputSchema = undefined
24
+
25
+ export interface OutputSchema {
26
+ cursor?: string
27
+ matches: AppBskyActorDefs.ProfileView[]
28
+ }
29
+
30
+ export interface CallOptions {
31
+ signal?: AbortSignal
32
+ headers?: HeadersMap
33
+ }
34
+
35
+ export interface Response {
36
+ success: boolean
37
+ headers: HeadersMap
38
+ data: OutputSchema
39
+ }
40
+
41
+ export class TODOError extends XRPCError {
42
+ constructor(src: XRPCError) {
43
+ super(src.status, src.error, src.message, src.headers, { cause: src })
44
+ }
45
+ }
46
+
47
+ export function toKnownErr(e: any) {
48
+ if (e instanceof XRPCError) {
49
+ if (e.error === 'TODO') return new TODOError(e)
50
+ }
51
+
52
+ return e
53
+ }
@@ -0,0 +1,49 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+ import type * as AppBskyContactDefs from './defs.js'
14
+
15
+ const is$typed = _is$typed,
16
+ validate = _validate
17
+ const id = 'app.bsky.contact.getSyncStatus'
18
+
19
+ export type QueryParams = {}
20
+ export type InputSchema = undefined
21
+
22
+ export interface OutputSchema {
23
+ syncStatus?: AppBskyContactDefs.SyncStatus
24
+ }
25
+
26
+ export interface CallOptions {
27
+ signal?: AbortSignal
28
+ headers?: HeadersMap
29
+ }
30
+
31
+ export interface Response {
32
+ success: boolean
33
+ headers: HeadersMap
34
+ data: OutputSchema
35
+ }
36
+
37
+ export class TODOError extends XRPCError {
38
+ constructor(src: XRPCError) {
39
+ super(src.status, src.error, src.message, src.headers, { cause: src })
40
+ }
41
+ }
42
+
43
+ export function toKnownErr(e: any) {
44
+ if (e instanceof XRPCError) {
45
+ if (e.error === 'TODO') return new TODOError(e)
46
+ }
47
+
48
+ return e
49
+ }
@@ -0,0 +1,58 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+ import type * as AppBskyContactDefs from './defs.js'
14
+
15
+ const is$typed = _is$typed,
16
+ validate = _validate
17
+ const id = 'app.bsky.contact.importContacts'
18
+
19
+ export type QueryParams = {}
20
+
21
+ export interface InputSchema {
22
+ /** JWT to authenticate the call. Use the JWT received as a response to the call to `app.bsky.contact.verifyPhone`. */
23
+ token: string
24
+ /** List of phone numbers in global E.164 format (e.g., '+12125550123'). Phone numbers that cannot be normalized into a valid phone number will be discarded. Should not repeat the 'phone' input used in `app.bsky.contact.verifyPhone`. */
25
+ contacts: string[]
26
+ }
27
+
28
+ export interface OutputSchema {
29
+ /** The users that matched during import and their indexes on the input contacts, so the client can correlate with its local list. */
30
+ matchesAndContactIndexes: AppBskyContactDefs.MatchAndContactIndex[]
31
+ }
32
+
33
+ export interface CallOptions {
34
+ signal?: AbortSignal
35
+ headers?: HeadersMap
36
+ qp?: QueryParams
37
+ encoding?: 'application/json'
38
+ }
39
+
40
+ export interface Response {
41
+ success: boolean
42
+ headers: HeadersMap
43
+ data: OutputSchema
44
+ }
45
+
46
+ export class TODOError extends XRPCError {
47
+ constructor(src: XRPCError) {
48
+ super(src.status, src.error, src.message, src.headers, { cause: src })
49
+ }
50
+ }
51
+
52
+ export function toKnownErr(e: any) {
53
+ if (e instanceof XRPCError) {
54
+ if (e.error === 'TODO') return new TODOError(e)
55
+ }
56
+
57
+ return e
58
+ }
@@ -0,0 +1,49 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+
14
+ const is$typed = _is$typed,
15
+ validate = _validate
16
+ const id = 'app.bsky.contact.removeData'
17
+
18
+ export type QueryParams = {}
19
+
20
+ export interface InputSchema {}
21
+
22
+ export interface OutputSchema {}
23
+
24
+ export interface CallOptions {
25
+ signal?: AbortSignal
26
+ headers?: HeadersMap
27
+ qp?: QueryParams
28
+ encoding?: 'application/json'
29
+ }
30
+
31
+ export interface Response {
32
+ success: boolean
33
+ headers: HeadersMap
34
+ data: OutputSchema
35
+ }
36
+
37
+ export class TODOError extends XRPCError {
38
+ constructor(src: XRPCError) {
39
+ super(src.status, src.error, src.message, src.headers, { cause: src })
40
+ }
41
+ }
42
+
43
+ export function toKnownErr(e: any) {
44
+ if (e instanceof XRPCError) {
45
+ if (e.error === 'TODO') return new TODOError(e)
46
+ }
47
+
48
+ return e
49
+ }
@@ -0,0 +1,44 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+
14
+ const is$typed = _is$typed,
15
+ validate = _validate
16
+ const id = 'app.bsky.contact.sendNotification'
17
+
18
+ export type QueryParams = {}
19
+
20
+ export interface InputSchema {
21
+ /** The DID of who this notification comes from. */
22
+ from: string
23
+ /** The DID of who this notification should go to. */
24
+ to: string
25
+ }
26
+
27
+ export interface OutputSchema {}
28
+
29
+ export interface CallOptions {
30
+ signal?: AbortSignal
31
+ headers?: HeadersMap
32
+ qp?: QueryParams
33
+ encoding?: 'application/json'
34
+ }
35
+
36
+ export interface Response {
37
+ success: boolean
38
+ headers: HeadersMap
39
+ data: OutputSchema
40
+ }
41
+
42
+ export function toKnownErr(e: any) {
43
+ return e
44
+ }
@@ -0,0 +1,52 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+
14
+ const is$typed = _is$typed,
15
+ validate = _validate
16
+ const id = 'app.bsky.contact.startPhoneVerification'
17
+
18
+ export type QueryParams = {}
19
+
20
+ export interface InputSchema {
21
+ /** The phone number to receive the code via SMS. */
22
+ phone: string
23
+ }
24
+
25
+ export interface OutputSchema {}
26
+
27
+ export interface CallOptions {
28
+ signal?: AbortSignal
29
+ headers?: HeadersMap
30
+ qp?: QueryParams
31
+ encoding?: 'application/json'
32
+ }
33
+
34
+ export interface Response {
35
+ success: boolean
36
+ headers: HeadersMap
37
+ data: OutputSchema
38
+ }
39
+
40
+ export class TODOError extends XRPCError {
41
+ constructor(src: XRPCError) {
42
+ super(src.status, src.error, src.message, src.headers, { cause: src })
43
+ }
44
+ }
45
+
46
+ export function toKnownErr(e: any) {
47
+ if (e instanceof XRPCError) {
48
+ if (e.error === 'TODO') return new TODOError(e)
49
+ }
50
+
51
+ return e
52
+ }
@@ -0,0 +1,57 @@
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'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+
14
+ const is$typed = _is$typed,
15
+ validate = _validate
16
+ const id = 'app.bsky.contact.verifyPhone'
17
+
18
+ export type QueryParams = {}
19
+
20
+ export interface InputSchema {
21
+ /** The phone number to verify. Should be the same as the one passed to `app.bsky.contact.startPhoneVerification`. */
22
+ phone: string
23
+ /** The code received via SMS as a result of the call to `app.bsky.contact.startPhoneVerification`. */
24
+ code: string
25
+ }
26
+
27
+ export interface OutputSchema {
28
+ /** JWT to be used in a call to `app.bsky.contact.importContacts`. It is only valid for a single call. */
29
+ token: string
30
+ }
31
+
32
+ export interface CallOptions {
33
+ signal?: AbortSignal
34
+ headers?: HeadersMap
35
+ qp?: QueryParams
36
+ encoding?: 'application/json'
37
+ }
38
+
39
+ export interface Response {
40
+ success: boolean
41
+ headers: HeadersMap
42
+ data: OutputSchema
43
+ }
44
+
45
+ export class TODOError extends XRPCError {
46
+ constructor(src: XRPCError) {
47
+ super(src.status, src.error, src.message, src.headers, { cause: src })
48
+ }
49
+ }
50
+
51
+ export function toKnownErr(e: any) {
52
+ if (e instanceof XRPCError) {
53
+ if (e.error === 'TODO') return new TODOError(e)
54
+ }
55
+
56
+ return e
57
+ }
@@ -185,6 +185,14 @@ export interface Relationship {
185
185
  following?: string
186
186
  /** if the actor is followed by this DID, contains the AT-URI of the follow record */
187
187
  followedBy?: string
188
+ /** if the actor blocks this DID, this is the AT-URI of the block record */
189
+ blocking?: string
190
+ /** if the actor is blocked by this DID, contains the AT-URI of the block record */
191
+ blockedBy?: string
192
+ /** if the actor blocks this DID via a block list, this is the AT-URI of the listblock record */
193
+ blockingByList?: string
194
+ /** if the actor is blocked by this DID via a block list, contains the AT-URI of the listblock record */
195
+ blockedByList?: string
188
196
  }
189
197
 
190
198
  const hashRelationship = 'relationship'
package/src/predicate.ts CHANGED
@@ -29,6 +29,9 @@ export const isValidMutedWordsPref = asPredicate(
29
29
  export const isValidPersonalDetailsPref = asPredicate(
30
30
  AppBskyActorDefs.validatePersonalDetailsPref,
31
31
  )
32
+ export const isValidDeclaredAgePref = asPredicate(
33
+ AppBskyActorDefs.validateDeclaredAgePref,
34
+ )
32
35
  export const isValidPostInteractionSettingsPref = asPredicate(
33
36
  AppBskyActorDefs.validatePostInteractionSettingsPref,
34
37
  )
package/src/types.ts CHANGED
@@ -144,6 +144,12 @@ export interface BskyPreferences {
144
144
  threadViewPrefs: BskyThreadViewPreference
145
145
  moderationPrefs: ModerationPrefs
146
146
  birthDate: Date | undefined
147
+ /**
148
+ * Read-only preference containing value(s) inferred from the user's declared
149
+ * birthdate. Absence of this preference object in the response indicates
150
+ * that the user has not made a declaration.
151
+ */
152
+ declaredAge?: AppBskyActorDefs.DeclaredAgePref
147
153
  interests: BskyInterestsPreference
148
154
  bskyAppState: {
149
155
  queuedNudges: string[]