@atproto/api 0.0.4 → 0.0.5

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 (105) hide show
  1. package/dist/client/lexicons.d.ts +0 -3
  2. package/dist/client/types/app/bsky/actor/getProfile.d.ts +3 -0
  3. package/dist/client/types/app/bsky/actor/getSuggestions.d.ts +5 -0
  4. package/dist/client/types/app/bsky/actor/profile.d.ts +3 -0
  5. package/dist/client/types/app/bsky/actor/ref.d.ts +7 -0
  6. package/dist/client/types/app/bsky/actor/search.d.ts +3 -0
  7. package/dist/client/types/app/bsky/actor/searchTypeahead.d.ts +3 -0
  8. package/dist/client/types/app/bsky/embed/external.d.ts +9 -0
  9. package/dist/client/types/app/bsky/embed/images.d.ts +9 -0
  10. package/dist/client/types/app/bsky/feed/feedViewPost.d.ts +9 -0
  11. package/dist/client/types/app/bsky/feed/getPostThread.d.ts +5 -0
  12. package/dist/client/types/app/bsky/feed/getRepostedBy.d.ts +3 -0
  13. package/dist/client/types/app/bsky/feed/getVotes.d.ts +3 -0
  14. package/dist/client/types/app/bsky/feed/post.d.ts +13 -1
  15. package/dist/client/types/app/bsky/feed/repost.d.ts +3 -0
  16. package/dist/client/types/app/bsky/feed/trend.d.ts +3 -0
  17. package/dist/client/types/app/bsky/feed/vote.d.ts +3 -0
  18. package/dist/client/types/app/bsky/graph/assertion.d.ts +3 -0
  19. package/dist/client/types/app/bsky/graph/confirmation.d.ts +3 -0
  20. package/dist/client/types/app/bsky/graph/follow.d.ts +3 -0
  21. package/dist/client/types/app/bsky/graph/getAssertions.d.ts +5 -0
  22. package/dist/client/types/app/bsky/graph/getFollowers.d.ts +3 -0
  23. package/dist/client/types/app/bsky/graph/getFollows.d.ts +3 -0
  24. package/dist/client/types/app/bsky/graph/getMembers.d.ts +3 -0
  25. package/dist/client/types/app/bsky/graph/getMemberships.d.ts +3 -0
  26. package/dist/client/types/app/bsky/graph/getMutes.d.ts +3 -0
  27. package/dist/client/types/app/bsky/notification/list.d.ts +3 -0
  28. package/dist/client/types/app/bsky/system/declRef.d.ts +3 -0
  29. package/dist/client/types/app/bsky/system/declaration.d.ts +3 -0
  30. package/dist/client/types/com/atproto/repo/batchWrite.d.ts +7 -0
  31. package/dist/client/types/com/atproto/repo/listRecords.d.ts +3 -0
  32. package/dist/client/types/com/atproto/repo/strongRef.d.ts +3 -0
  33. package/dist/client/types/com/atproto/server/getAccountsConfig.d.ts +3 -0
  34. package/dist/client/util.d.ts +2 -0
  35. package/dist/index.js +517 -21
  36. package/dist/index.js.map +4 -4
  37. package/package.json +1 -1
  38. package/src/client/lexicons.ts +0 -3
  39. package/src/client/types/app/bsky/actor/createScene.ts +3 -0
  40. package/src/client/types/app/bsky/actor/getProfile.ts +15 -0
  41. package/src/client/types/app/bsky/actor/getSuggestions.ts +27 -0
  42. package/src/client/types/app/bsky/actor/profile.ts +17 -0
  43. package/src/client/types/app/bsky/actor/ref.ts +37 -0
  44. package/src/client/types/app/bsky/actor/search.ts +13 -0
  45. package/src/client/types/app/bsky/actor/searchTypeahead.ts +15 -0
  46. package/src/client/types/app/bsky/actor/updateProfile.ts +3 -0
  47. package/src/client/types/app/bsky/embed/external.ts +53 -0
  48. package/src/client/types/app/bsky/embed/images.ts +51 -0
  49. package/src/client/types/app/bsky/feed/feedViewPost.ts +52 -0
  50. package/src/client/types/app/bsky/feed/getAuthorFeed.ts +3 -0
  51. package/src/client/types/app/bsky/feed/getPostThread.ts +27 -0
  52. package/src/client/types/app/bsky/feed/getRepostedBy.ts +15 -0
  53. package/src/client/types/app/bsky/feed/getTimeline.ts +3 -0
  54. package/src/client/types/app/bsky/feed/getVotes.ts +13 -0
  55. package/src/client/types/app/bsky/feed/post.ts +69 -1
  56. package/src/client/types/app/bsky/feed/repost.ts +16 -0
  57. package/src/client/types/app/bsky/feed/setVote.ts +3 -0
  58. package/src/client/types/app/bsky/feed/trend.ts +16 -0
  59. package/src/client/types/app/bsky/feed/vote.ts +15 -0
  60. package/src/client/types/app/bsky/graph/assertCreator.ts +4 -0
  61. package/src/client/types/app/bsky/graph/assertMember.ts +4 -0
  62. package/src/client/types/app/bsky/graph/assertion.ts +16 -0
  63. package/src/client/types/app/bsky/graph/confirmation.ts +16 -0
  64. package/src/client/types/app/bsky/graph/follow.ts +16 -0
  65. package/src/client/types/app/bsky/graph/getAssertions.ts +27 -0
  66. package/src/client/types/app/bsky/graph/getFollowers.ts +15 -0
  67. package/src/client/types/app/bsky/graph/getFollows.ts +15 -0
  68. package/src/client/types/app/bsky/graph/getMembers.ts +15 -0
  69. package/src/client/types/app/bsky/graph/getMemberships.ts +15 -0
  70. package/src/client/types/app/bsky/graph/getMutes.ts +15 -0
  71. package/src/client/types/app/bsky/graph/mute.ts +3 -0
  72. package/src/client/types/app/bsky/graph/unmute.ts +3 -0
  73. package/src/client/types/app/bsky/notification/getCount.ts +3 -0
  74. package/src/client/types/app/bsky/notification/list.ts +15 -0
  75. package/src/client/types/app/bsky/notification/updateSeen.ts +3 -0
  76. package/src/client/types/app/bsky/system/actorScene.ts +4 -0
  77. package/src/client/types/app/bsky/system/actorUser.ts +4 -0
  78. package/src/client/types/app/bsky/system/declRef.ts +17 -0
  79. package/src/client/types/app/bsky/system/declaration.ts +17 -0
  80. package/src/client/types/com/atproto/account/create.ts +3 -0
  81. package/src/client/types/com/atproto/account/createInviteCode.ts +3 -0
  82. package/src/client/types/com/atproto/account/delete.ts +3 -0
  83. package/src/client/types/com/atproto/account/get.ts +3 -0
  84. package/src/client/types/com/atproto/account/requestPasswordReset.ts +3 -0
  85. package/src/client/types/com/atproto/account/resetPassword.ts +3 -0
  86. package/src/client/types/com/atproto/blob/upload.ts +3 -0
  87. package/src/client/types/com/atproto/handle/resolve.ts +3 -0
  88. package/src/client/types/com/atproto/repo/batchWrite.ts +39 -0
  89. package/src/client/types/com/atproto/repo/createRecord.ts +3 -0
  90. package/src/client/types/com/atproto/repo/deleteRecord.ts +3 -0
  91. package/src/client/types/com/atproto/repo/describe.ts +3 -0
  92. package/src/client/types/com/atproto/repo/getRecord.ts +3 -0
  93. package/src/client/types/com/atproto/repo/listRecords.ts +15 -0
  94. package/src/client/types/com/atproto/repo/putRecord.ts +3 -0
  95. package/src/client/types/com/atproto/repo/strongRef.ts +17 -0
  96. package/src/client/types/com/atproto/server/getAccountsConfig.ts +15 -0
  97. package/src/client/types/com/atproto/session/create.ts +3 -0
  98. package/src/client/types/com/atproto/session/delete.ts +3 -0
  99. package/src/client/types/com/atproto/session/get.ts +3 -0
  100. package/src/client/types/com/atproto/session/refresh.ts +3 -0
  101. package/src/client/types/com/atproto/sync/getRepo.ts +3 -0
  102. package/src/client/types/com/atproto/sync/getRoot.ts +3 -0
  103. package/src/client/types/com/atproto/sync/updateRepo.ts +3 -0
  104. package/src/client/util.ts +13 -0
  105. package/tsconfig.build.tsbuildinfo +1 -1
package/dist/index.js CHANGED
@@ -3122,6 +3122,18 @@ var XRPCError = class extends Error {
3122
3122
  }
3123
3123
  }
3124
3124
  };
3125
+ var XRPCInvalidResponseError = class extends XRPCError {
3126
+ constructor(lexiconNsid, validationError, responseBody) {
3127
+ super(
3128
+ 2 /* InvalidResponse */,
3129
+ ResponseTypeStrings[2 /* InvalidResponse */],
3130
+ `The server gave an invalid response and may be out of date.`
3131
+ );
3132
+ this.lexiconNsid = lexiconNsid;
3133
+ this.validationError = validationError;
3134
+ this.responseBody = responseBody;
3135
+ }
3136
+ };
3125
3137
 
3126
3138
  // ../nsid/src/index.ts
3127
3139
  var SEGMENT_RE = /^[a-zA-Z]([a-zA-Z0-9-])*$/;
@@ -3355,7 +3367,7 @@ var lexiconDoc = mod.object({
3355
3367
  }
3356
3368
  });
3357
3369
  function isObj(obj) {
3358
- return !!obj && typeof obj === "object";
3370
+ return obj !== null && typeof obj === "object";
3359
3371
  }
3360
3372
  function hasProp(data, prop) {
3361
3373
  return prop in data;
@@ -3932,6 +3944,20 @@ var Lexicons = class {
3932
3944
  }
3933
3945
  return def;
3934
3946
  }
3947
+ validate(lexUri, value) {
3948
+ lexUri = toLexUri(lexUri);
3949
+ const def = this.getDefOrThrow(lexUri, ["record", "object"]);
3950
+ if (!isObj(value)) {
3951
+ throw new ValidationError(`Value must be an object`);
3952
+ }
3953
+ if (def.type === "record") {
3954
+ return object(this, "Record", def.record, value);
3955
+ } else if (def.type === "object") {
3956
+ return object(this, "Object", def, value);
3957
+ } else {
3958
+ throw new InvalidLexiconError("Definition must be a record or object");
3959
+ }
3960
+ }
3935
3961
  assertValidRecord(lexUri, value) {
3936
3962
  lexUri = toLexUri(lexUri);
3937
3963
  const def = this.getDefOrThrow(lexUri, ["record"]);
@@ -4169,6 +4195,15 @@ var ServiceClient = class {
4169
4195
  );
4170
4196
  const resCode = httpResponseCodeToEnum(res.status);
4171
4197
  if (resCode === 200 /* Success */) {
4198
+ try {
4199
+ this.baseClient.lex.assertValidXrpcOutput(methodNsid, res.body);
4200
+ } catch (e) {
4201
+ if (e instanceof ValidationError) {
4202
+ throw new XRPCInvalidResponseError(methodNsid, e, res.body);
4203
+ } else {
4204
+ throw e;
4205
+ }
4206
+ }
4172
4207
  return new XRPCResponse(res.body, res.headers);
4173
4208
  } else {
4174
4209
  if (res.body && isErrorResponseBody(res.body)) {
@@ -6332,9 +6367,6 @@ var schemaDict = {
6332
6367
  },
6333
6368
  downvote: {
6334
6369
  type: "string"
6335
- },
6336
- muted: {
6337
- type: "boolean"
6338
6370
  }
6339
6371
  }
6340
6372
  }
@@ -7430,13 +7462,47 @@ function toKnownErr8(e) {
7430
7462
  // src/client/types/com/atproto/repo/batchWrite.ts
7431
7463
  var batchWrite_exports = {};
7432
7464
  __export(batchWrite_exports, {
7433
- toKnownErr: () => toKnownErr9
7465
+ isCreate: () => isCreate,
7466
+ isDelete: () => isDelete,
7467
+ isUpdate: () => isUpdate,
7468
+ toKnownErr: () => toKnownErr9,
7469
+ validateCreate: () => validateCreate,
7470
+ validateDelete: () => validateDelete,
7471
+ validateUpdate: () => validateUpdate
7434
7472
  });
7473
+
7474
+ // src/client/util.ts
7475
+ function isObj2(v) {
7476
+ return typeof v === "object" && v !== null;
7477
+ }
7478
+ function hasProp2(data, prop) {
7479
+ return prop in data;
7480
+ }
7481
+
7482
+ // src/client/types/com/atproto/repo/batchWrite.ts
7435
7483
  function toKnownErr9(e) {
7436
7484
  if (e instanceof XRPCError) {
7437
7485
  }
7438
7486
  return e;
7439
7487
  }
7488
+ function isCreate(v) {
7489
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "com.atproto.repo.batchWrite#create";
7490
+ }
7491
+ function validateCreate(v) {
7492
+ return lexicons.validate("com.atproto.repo.batchWrite#create", v);
7493
+ }
7494
+ function isUpdate(v) {
7495
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "com.atproto.repo.batchWrite#update";
7496
+ }
7497
+ function validateUpdate(v) {
7498
+ return lexicons.validate("com.atproto.repo.batchWrite#update", v);
7499
+ }
7500
+ function isDelete(v) {
7501
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "com.atproto.repo.batchWrite#delete";
7502
+ }
7503
+ function validateDelete(v) {
7504
+ return lexicons.validate("com.atproto.repo.batchWrite#delete", v);
7505
+ }
7440
7506
 
7441
7507
  // src/client/types/com/atproto/repo/createRecord.ts
7442
7508
  var createRecord_exports = {};
@@ -7485,13 +7551,21 @@ function toKnownErr13(e) {
7485
7551
  // src/client/types/com/atproto/repo/listRecords.ts
7486
7552
  var listRecords_exports = {};
7487
7553
  __export(listRecords_exports, {
7488
- toKnownErr: () => toKnownErr14
7554
+ isRecord: () => isRecord,
7555
+ toKnownErr: () => toKnownErr14,
7556
+ validateRecord: () => validateRecord
7489
7557
  });
7490
7558
  function toKnownErr14(e) {
7491
7559
  if (e instanceof XRPCError) {
7492
7560
  }
7493
7561
  return e;
7494
7562
  }
7563
+ function isRecord(v) {
7564
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "com.atproto.repo.listRecords#record";
7565
+ }
7566
+ function validateRecord(v) {
7567
+ return lexicons.validate("com.atproto.repo.listRecords#record", v);
7568
+ }
7495
7569
 
7496
7570
  // src/client/types/com/atproto/repo/putRecord.ts
7497
7571
  var putRecord_exports = {};
@@ -7507,13 +7581,21 @@ function toKnownErr15(e) {
7507
7581
  // src/client/types/com/atproto/server/getAccountsConfig.ts
7508
7582
  var getAccountsConfig_exports = {};
7509
7583
  __export(getAccountsConfig_exports, {
7510
- toKnownErr: () => toKnownErr16
7584
+ isLinks: () => isLinks,
7585
+ toKnownErr: () => toKnownErr16,
7586
+ validateLinks: () => validateLinks
7511
7587
  });
7512
7588
  function toKnownErr16(e) {
7513
7589
  if (e instanceof XRPCError) {
7514
7590
  }
7515
7591
  return e;
7516
7592
  }
7593
+ function isLinks(v) {
7594
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "com.atproto.server.getAccountsConfig#links";
7595
+ }
7596
+ function validateLinks(v) {
7597
+ return lexicons.validate("com.atproto.server.getAccountsConfig#links", v);
7598
+ }
7517
7599
 
7518
7600
  // src/client/types/com/atproto/session/create.ts
7519
7601
  var create_exports2 = {};
@@ -7622,46 +7704,86 @@ function toKnownErr24(e) {
7622
7704
  // src/client/types/app/bsky/actor/getProfile.ts
7623
7705
  var getProfile_exports = {};
7624
7706
  __export(getProfile_exports, {
7625
- toKnownErr: () => toKnownErr25
7707
+ isMyState: () => isMyState,
7708
+ toKnownErr: () => toKnownErr25,
7709
+ validateMyState: () => validateMyState
7626
7710
  });
7627
7711
  function toKnownErr25(e) {
7628
7712
  if (e instanceof XRPCError) {
7629
7713
  }
7630
7714
  return e;
7631
7715
  }
7716
+ function isMyState(v) {
7717
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.actor.getProfile#myState";
7718
+ }
7719
+ function validateMyState(v) {
7720
+ return lexicons.validate("app.bsky.actor.getProfile#myState", v);
7721
+ }
7632
7722
 
7633
7723
  // src/client/types/app/bsky/actor/getSuggestions.ts
7634
7724
  var getSuggestions_exports = {};
7635
7725
  __export(getSuggestions_exports, {
7636
- toKnownErr: () => toKnownErr26
7726
+ isActor: () => isActor,
7727
+ isMyState: () => isMyState2,
7728
+ toKnownErr: () => toKnownErr26,
7729
+ validateActor: () => validateActor,
7730
+ validateMyState: () => validateMyState2
7637
7731
  });
7638
7732
  function toKnownErr26(e) {
7639
7733
  if (e instanceof XRPCError) {
7640
7734
  }
7641
7735
  return e;
7642
7736
  }
7737
+ function isActor(v) {
7738
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.actor.getSuggestions#actor";
7739
+ }
7740
+ function validateActor(v) {
7741
+ return lexicons.validate("app.bsky.actor.getSuggestions#actor", v);
7742
+ }
7743
+ function isMyState2(v) {
7744
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.actor.getSuggestions#myState";
7745
+ }
7746
+ function validateMyState2(v) {
7747
+ return lexicons.validate("app.bsky.actor.getSuggestions#myState", v);
7748
+ }
7643
7749
 
7644
7750
  // src/client/types/app/bsky/actor/search.ts
7645
7751
  var search_exports = {};
7646
7752
  __export(search_exports, {
7647
- toKnownErr: () => toKnownErr27
7753
+ isUser: () => isUser,
7754
+ toKnownErr: () => toKnownErr27,
7755
+ validateUser: () => validateUser
7648
7756
  });
7649
7757
  function toKnownErr27(e) {
7650
7758
  if (e instanceof XRPCError) {
7651
7759
  }
7652
7760
  return e;
7653
7761
  }
7762
+ function isUser(v) {
7763
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.actor.search#user";
7764
+ }
7765
+ function validateUser(v) {
7766
+ return lexicons.validate("app.bsky.actor.search#user", v);
7767
+ }
7654
7768
 
7655
7769
  // src/client/types/app/bsky/actor/searchTypeahead.ts
7656
7770
  var searchTypeahead_exports = {};
7657
7771
  __export(searchTypeahead_exports, {
7658
- toKnownErr: () => toKnownErr28
7772
+ isUser: () => isUser2,
7773
+ toKnownErr: () => toKnownErr28,
7774
+ validateUser: () => validateUser2
7659
7775
  });
7660
7776
  function toKnownErr28(e) {
7661
7777
  if (e instanceof XRPCError) {
7662
7778
  }
7663
7779
  return e;
7664
7780
  }
7781
+ function isUser2(v) {
7782
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.actor.searchTypeahead#user";
7783
+ }
7784
+ function validateUser2(v) {
7785
+ return lexicons.validate("app.bsky.actor.searchTypeahead#user", v);
7786
+ }
7665
7787
 
7666
7788
  // src/client/types/app/bsky/actor/updateProfile.ts
7667
7789
  var updateProfile_exports = {};
@@ -7721,7 +7843,11 @@ function toKnownErr30(e) {
7721
7843
  var getPostThread_exports = {};
7722
7844
  __export(getPostThread_exports, {
7723
7845
  NotFoundError: () => NotFoundError,
7724
- toKnownErr: () => toKnownErr31
7846
+ isNotFoundPost: () => isNotFoundPost,
7847
+ isThreadViewPost: () => isThreadViewPost,
7848
+ toKnownErr: () => toKnownErr31,
7849
+ validateNotFoundPost: () => validateNotFoundPost,
7850
+ validateThreadViewPost: () => validateThreadViewPost
7725
7851
  });
7726
7852
  var NotFoundError = class extends XRPCError {
7727
7853
  constructor(src) {
@@ -7735,17 +7861,37 @@ function toKnownErr31(e) {
7735
7861
  }
7736
7862
  return e;
7737
7863
  }
7864
+ function isThreadViewPost(v) {
7865
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.getPostThread#threadViewPost";
7866
+ }
7867
+ function validateThreadViewPost(v) {
7868
+ return lexicons.validate("app.bsky.feed.getPostThread#threadViewPost", v);
7869
+ }
7870
+ function isNotFoundPost(v) {
7871
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.getPostThread#notFoundPost";
7872
+ }
7873
+ function validateNotFoundPost(v) {
7874
+ return lexicons.validate("app.bsky.feed.getPostThread#notFoundPost", v);
7875
+ }
7738
7876
 
7739
7877
  // src/client/types/app/bsky/feed/getRepostedBy.ts
7740
7878
  var getRepostedBy_exports = {};
7741
7879
  __export(getRepostedBy_exports, {
7742
- toKnownErr: () => toKnownErr32
7880
+ isRepostedBy: () => isRepostedBy,
7881
+ toKnownErr: () => toKnownErr32,
7882
+ validateRepostedBy: () => validateRepostedBy
7743
7883
  });
7744
7884
  function toKnownErr32(e) {
7745
7885
  if (e instanceof XRPCError) {
7746
7886
  }
7747
7887
  return e;
7748
7888
  }
7889
+ function isRepostedBy(v) {
7890
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.getRepostedBy#repostedBy";
7891
+ }
7892
+ function validateRepostedBy(v) {
7893
+ return lexicons.validate("app.bsky.feed.getRepostedBy#repostedBy", v);
7894
+ }
7749
7895
 
7750
7896
  // src/client/types/app/bsky/feed/getTimeline.ts
7751
7897
  var getTimeline_exports = {};
@@ -7761,13 +7907,21 @@ function toKnownErr33(e) {
7761
7907
  // src/client/types/app/bsky/feed/getVotes.ts
7762
7908
  var getVotes_exports = {};
7763
7909
  __export(getVotes_exports, {
7764
- toKnownErr: () => toKnownErr34
7910
+ isVote: () => isVote,
7911
+ toKnownErr: () => toKnownErr34,
7912
+ validateVote: () => validateVote
7765
7913
  });
7766
7914
  function toKnownErr34(e) {
7767
7915
  if (e instanceof XRPCError) {
7768
7916
  }
7769
7917
  return e;
7770
7918
  }
7919
+ function isVote(v) {
7920
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.getVotes#vote";
7921
+ }
7922
+ function validateVote(v) {
7923
+ return lexicons.validate("app.bsky.feed.getVotes#vote", v);
7924
+ }
7771
7925
 
7772
7926
  // src/client/types/app/bsky/feed/setVote.ts
7773
7927
  var setVote_exports = {};
@@ -7783,68 +7937,124 @@ function toKnownErr35(e) {
7783
7937
  // src/client/types/app/bsky/graph/getAssertions.ts
7784
7938
  var getAssertions_exports = {};
7785
7939
  __export(getAssertions_exports, {
7786
- toKnownErr: () => toKnownErr36
7940
+ isAssertion: () => isAssertion,
7941
+ isConfirmation: () => isConfirmation,
7942
+ toKnownErr: () => toKnownErr36,
7943
+ validateAssertion: () => validateAssertion,
7944
+ validateConfirmation: () => validateConfirmation
7787
7945
  });
7788
7946
  function toKnownErr36(e) {
7789
7947
  if (e instanceof XRPCError) {
7790
7948
  }
7791
7949
  return e;
7792
7950
  }
7951
+ function isAssertion(v) {
7952
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.graph.getAssertions#assertion";
7953
+ }
7954
+ function validateAssertion(v) {
7955
+ return lexicons.validate("app.bsky.graph.getAssertions#assertion", v);
7956
+ }
7957
+ function isConfirmation(v) {
7958
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.graph.getAssertions#confirmation";
7959
+ }
7960
+ function validateConfirmation(v) {
7961
+ return lexicons.validate("app.bsky.graph.getAssertions#confirmation", v);
7962
+ }
7793
7963
 
7794
7964
  // src/client/types/app/bsky/graph/getFollowers.ts
7795
7965
  var getFollowers_exports = {};
7796
7966
  __export(getFollowers_exports, {
7797
- toKnownErr: () => toKnownErr37
7967
+ isFollower: () => isFollower,
7968
+ toKnownErr: () => toKnownErr37,
7969
+ validateFollower: () => validateFollower
7798
7970
  });
7799
7971
  function toKnownErr37(e) {
7800
7972
  if (e instanceof XRPCError) {
7801
7973
  }
7802
7974
  return e;
7803
7975
  }
7976
+ function isFollower(v) {
7977
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.graph.getFollowers#follower";
7978
+ }
7979
+ function validateFollower(v) {
7980
+ return lexicons.validate("app.bsky.graph.getFollowers#follower", v);
7981
+ }
7804
7982
 
7805
7983
  // src/client/types/app/bsky/graph/getFollows.ts
7806
7984
  var getFollows_exports = {};
7807
7985
  __export(getFollows_exports, {
7808
- toKnownErr: () => toKnownErr38
7986
+ isFollow: () => isFollow,
7987
+ toKnownErr: () => toKnownErr38,
7988
+ validateFollow: () => validateFollow
7809
7989
  });
7810
7990
  function toKnownErr38(e) {
7811
7991
  if (e instanceof XRPCError) {
7812
7992
  }
7813
7993
  return e;
7814
7994
  }
7995
+ function isFollow(v) {
7996
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.graph.getFollows#follow";
7997
+ }
7998
+ function validateFollow(v) {
7999
+ return lexicons.validate("app.bsky.graph.getFollows#follow", v);
8000
+ }
7815
8001
 
7816
8002
  // src/client/types/app/bsky/graph/getMembers.ts
7817
8003
  var getMembers_exports = {};
7818
8004
  __export(getMembers_exports, {
7819
- toKnownErr: () => toKnownErr39
8005
+ isMember: () => isMember,
8006
+ toKnownErr: () => toKnownErr39,
8007
+ validateMember: () => validateMember
7820
8008
  });
7821
8009
  function toKnownErr39(e) {
7822
8010
  if (e instanceof XRPCError) {
7823
8011
  }
7824
8012
  return e;
7825
8013
  }
8014
+ function isMember(v) {
8015
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.graph.getMembers#member";
8016
+ }
8017
+ function validateMember(v) {
8018
+ return lexicons.validate("app.bsky.graph.getMembers#member", v);
8019
+ }
7826
8020
 
7827
8021
  // src/client/types/app/bsky/graph/getMemberships.ts
7828
8022
  var getMemberships_exports = {};
7829
8023
  __export(getMemberships_exports, {
7830
- toKnownErr: () => toKnownErr40
8024
+ isMembership: () => isMembership,
8025
+ toKnownErr: () => toKnownErr40,
8026
+ validateMembership: () => validateMembership
7831
8027
  });
7832
8028
  function toKnownErr40(e) {
7833
8029
  if (e instanceof XRPCError) {
7834
8030
  }
7835
8031
  return e;
7836
8032
  }
8033
+ function isMembership(v) {
8034
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.graph.getMemberships#membership";
8035
+ }
8036
+ function validateMembership(v) {
8037
+ return lexicons.validate("app.bsky.graph.getMemberships#membership", v);
8038
+ }
7837
8039
 
7838
8040
  // src/client/types/app/bsky/graph/getMutes.ts
7839
8041
  var getMutes_exports = {};
7840
8042
  __export(getMutes_exports, {
7841
- toKnownErr: () => toKnownErr41
8043
+ isMute: () => isMute,
8044
+ toKnownErr: () => toKnownErr41,
8045
+ validateMute: () => validateMute
7842
8046
  });
7843
8047
  function toKnownErr41(e) {
7844
8048
  if (e instanceof XRPCError) {
7845
8049
  }
7846
8050
  return e;
7847
8051
  }
8052
+ function isMute(v) {
8053
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.graph.getMutes#mute";
8054
+ }
8055
+ function validateMute(v) {
8056
+ return lexicons.validate("app.bsky.graph.getMutes#mute", v);
8057
+ }
7848
8058
 
7849
8059
  // src/client/types/app/bsky/graph/mute.ts
7850
8060
  var mute_exports = {};
@@ -7882,13 +8092,21 @@ function toKnownErr44(e) {
7882
8092
  // src/client/types/app/bsky/notification/list.ts
7883
8093
  var list_exports = {};
7884
8094
  __export(list_exports, {
7885
- toKnownErr: () => toKnownErr45
8095
+ isNotification: () => isNotification,
8096
+ toKnownErr: () => toKnownErr45,
8097
+ validateNotification: () => validateNotification
7886
8098
  });
7887
8099
  function toKnownErr45(e) {
7888
8100
  if (e instanceof XRPCError) {
7889
8101
  }
7890
8102
  return e;
7891
8103
  }
8104
+ function isNotification(v) {
8105
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.notification.list#notification";
8106
+ }
8107
+ function validateNotification(v) {
8108
+ return lexicons.validate("app.bsky.notification.list#notification", v);
8109
+ }
7892
8110
 
7893
8111
  // src/client/types/app/bsky/notification/updateSeen.ts
7894
8112
  var updateSeen_exports = {};
@@ -7903,33 +8121,261 @@ function toKnownErr46(e) {
7903
8121
 
7904
8122
  // src/client/types/com/atproto/repo/strongRef.ts
7905
8123
  var strongRef_exports = {};
8124
+ __export(strongRef_exports, {
8125
+ isMain: () => isMain,
8126
+ validateMain: () => validateMain
8127
+ });
8128
+ function isMain(v) {
8129
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "com.atproto.repo.strongRef#main" || v.$type === "com.atproto.repo.strongRef");
8130
+ }
8131
+ function validateMain(v) {
8132
+ return lexicons.validate("com.atproto.repo.strongRef#main", v);
8133
+ }
7906
8134
 
7907
8135
  // src/client/types/app/bsky/actor/profile.ts
7908
8136
  var profile_exports = {};
8137
+ __export(profile_exports, {
8138
+ isRecord: () => isRecord2,
8139
+ validateRecord: () => validateRecord2
8140
+ });
8141
+ function isRecord2(v) {
8142
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.actor.profile#main" || v.$type === "app.bsky.actor.profile");
8143
+ }
8144
+ function validateRecord2(v) {
8145
+ return lexicons.validate("app.bsky.actor.profile#main", v);
8146
+ }
7909
8147
 
7910
8148
  // src/client/types/app/bsky/actor/ref.ts
7911
8149
  var ref_exports = {};
8150
+ __export(ref_exports, {
8151
+ isMain: () => isMain2,
8152
+ isViewerState: () => isViewerState,
8153
+ isWithInfo: () => isWithInfo,
8154
+ validateMain: () => validateMain2,
8155
+ validateViewerState: () => validateViewerState,
8156
+ validateWithInfo: () => validateWithInfo
8157
+ });
8158
+ function isMain2(v) {
8159
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.actor.ref#main" || v.$type === "app.bsky.actor.ref");
8160
+ }
8161
+ function validateMain2(v) {
8162
+ return lexicons.validate("app.bsky.actor.ref#main", v);
8163
+ }
8164
+ function isWithInfo(v) {
8165
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.actor.ref#withInfo";
8166
+ }
8167
+ function validateWithInfo(v) {
8168
+ return lexicons.validate("app.bsky.actor.ref#withInfo", v);
8169
+ }
8170
+ function isViewerState(v) {
8171
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.actor.ref#viewerState";
8172
+ }
8173
+ function validateViewerState(v) {
8174
+ return lexicons.validate("app.bsky.actor.ref#viewerState", v);
8175
+ }
7912
8176
 
7913
8177
  // src/client/types/app/bsky/embed/external.ts
7914
8178
  var external_exports = {};
8179
+ __export(external_exports, {
8180
+ isExternal: () => isExternal,
8181
+ isMain: () => isMain3,
8182
+ isPresented: () => isPresented,
8183
+ isPresentedExternal: () => isPresentedExternal,
8184
+ validateExternal: () => validateExternal,
8185
+ validateMain: () => validateMain3,
8186
+ validatePresented: () => validatePresented,
8187
+ validatePresentedExternal: () => validatePresentedExternal
8188
+ });
8189
+ function isMain3(v) {
8190
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.embed.external#main" || v.$type === "app.bsky.embed.external");
8191
+ }
8192
+ function validateMain3(v) {
8193
+ return lexicons.validate("app.bsky.embed.external#main", v);
8194
+ }
8195
+ function isExternal(v) {
8196
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.embed.external#external";
8197
+ }
8198
+ function validateExternal(v) {
8199
+ return lexicons.validate("app.bsky.embed.external#external", v);
8200
+ }
8201
+ function isPresented(v) {
8202
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.embed.external#presented";
8203
+ }
8204
+ function validatePresented(v) {
8205
+ return lexicons.validate("app.bsky.embed.external#presented", v);
8206
+ }
8207
+ function isPresentedExternal(v) {
8208
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.embed.external#presentedExternal";
8209
+ }
8210
+ function validatePresentedExternal(v) {
8211
+ return lexicons.validate("app.bsky.embed.external#presentedExternal", v);
8212
+ }
7915
8213
 
7916
8214
  // src/client/types/app/bsky/embed/images.ts
7917
8215
  var images_exports = {};
8216
+ __export(images_exports, {
8217
+ isImage: () => isImage,
8218
+ isMain: () => isMain4,
8219
+ isPresented: () => isPresented2,
8220
+ isPresentedImage: () => isPresentedImage,
8221
+ validateImage: () => validateImage,
8222
+ validateMain: () => validateMain4,
8223
+ validatePresented: () => validatePresented2,
8224
+ validatePresentedImage: () => validatePresentedImage
8225
+ });
8226
+ function isMain4(v) {
8227
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.embed.images#main" || v.$type === "app.bsky.embed.images");
8228
+ }
8229
+ function validateMain4(v) {
8230
+ return lexicons.validate("app.bsky.embed.images#main", v);
8231
+ }
8232
+ function isImage(v) {
8233
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.embed.images#image";
8234
+ }
8235
+ function validateImage(v) {
8236
+ return lexicons.validate("app.bsky.embed.images#image", v);
8237
+ }
8238
+ function isPresented2(v) {
8239
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.embed.images#presented";
8240
+ }
8241
+ function validatePresented2(v) {
8242
+ return lexicons.validate("app.bsky.embed.images#presented", v);
8243
+ }
8244
+ function isPresentedImage(v) {
8245
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.embed.images#presentedImage";
8246
+ }
8247
+ function validatePresentedImage(v) {
8248
+ return lexicons.validate("app.bsky.embed.images#presentedImage", v);
8249
+ }
7918
8250
 
7919
8251
  // src/client/types/app/bsky/feed/feedViewPost.ts
7920
8252
  var feedViewPost_exports = {};
8253
+ __export(feedViewPost_exports, {
8254
+ isMain: () => isMain5,
8255
+ isReasonRepost: () => isReasonRepost,
8256
+ isReasonTrend: () => isReasonTrend,
8257
+ isReplyRef: () => isReplyRef,
8258
+ validateMain: () => validateMain5,
8259
+ validateReasonRepost: () => validateReasonRepost,
8260
+ validateReasonTrend: () => validateReasonTrend,
8261
+ validateReplyRef: () => validateReplyRef
8262
+ });
8263
+ function isMain5(v) {
8264
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.feed.feedViewPost#main" || v.$type === "app.bsky.feed.feedViewPost");
8265
+ }
8266
+ function validateMain5(v) {
8267
+ return lexicons.validate("app.bsky.feed.feedViewPost#main", v);
8268
+ }
8269
+ function isReplyRef(v) {
8270
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.feedViewPost#replyRef";
8271
+ }
8272
+ function validateReplyRef(v) {
8273
+ return lexicons.validate("app.bsky.feed.feedViewPost#replyRef", v);
8274
+ }
8275
+ function isReasonTrend(v) {
8276
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.feedViewPost#reasonTrend";
8277
+ }
8278
+ function validateReasonTrend(v) {
8279
+ return lexicons.validate("app.bsky.feed.feedViewPost#reasonTrend", v);
8280
+ }
8281
+ function isReasonRepost(v) {
8282
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.feedViewPost#reasonRepost";
8283
+ }
8284
+ function validateReasonRepost(v) {
8285
+ return lexicons.validate("app.bsky.feed.feedViewPost#reasonRepost", v);
8286
+ }
7921
8287
 
7922
8288
  // src/client/types/app/bsky/feed/post.ts
7923
8289
  var post_exports = {};
8290
+ __export(post_exports, {
8291
+ isEntity: () => isEntity,
8292
+ isRecord: () => isRecord3,
8293
+ isReplyRef: () => isReplyRef2,
8294
+ isTextSlice: () => isTextSlice,
8295
+ isView: () => isView,
8296
+ isViewerState: () => isViewerState2,
8297
+ validateEntity: () => validateEntity,
8298
+ validateRecord: () => validateRecord3,
8299
+ validateReplyRef: () => validateReplyRef2,
8300
+ validateTextSlice: () => validateTextSlice,
8301
+ validateView: () => validateView,
8302
+ validateViewerState: () => validateViewerState2
8303
+ });
8304
+ function isRecord3(v) {
8305
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.feed.post#main" || v.$type === "app.bsky.feed.post");
8306
+ }
8307
+ function validateRecord3(v) {
8308
+ return lexicons.validate("app.bsky.feed.post#main", v);
8309
+ }
8310
+ function isReplyRef2(v) {
8311
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.post#replyRef";
8312
+ }
8313
+ function validateReplyRef2(v) {
8314
+ return lexicons.validate("app.bsky.feed.post#replyRef", v);
8315
+ }
8316
+ function isEntity(v) {
8317
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.post#entity";
8318
+ }
8319
+ function validateEntity(v) {
8320
+ return lexicons.validate("app.bsky.feed.post#entity", v);
8321
+ }
8322
+ function isTextSlice(v) {
8323
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.post#textSlice";
8324
+ }
8325
+ function validateTextSlice(v) {
8326
+ return lexicons.validate("app.bsky.feed.post#textSlice", v);
8327
+ }
8328
+ function isView(v) {
8329
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.post#view";
8330
+ }
8331
+ function validateView(v) {
8332
+ return lexicons.validate("app.bsky.feed.post#view", v);
8333
+ }
8334
+ function isViewerState2(v) {
8335
+ return isObj2(v) && hasProp2(v, "$type") && v.$type === "app.bsky.feed.post#viewerState";
8336
+ }
8337
+ function validateViewerState2(v) {
8338
+ return lexicons.validate("app.bsky.feed.post#viewerState", v);
8339
+ }
7924
8340
 
7925
8341
  // src/client/types/app/bsky/feed/repost.ts
7926
8342
  var repost_exports = {};
8343
+ __export(repost_exports, {
8344
+ isRecord: () => isRecord4,
8345
+ validateRecord: () => validateRecord4
8346
+ });
8347
+ function isRecord4(v) {
8348
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.feed.repost#main" || v.$type === "app.bsky.feed.repost");
8349
+ }
8350
+ function validateRecord4(v) {
8351
+ return lexicons.validate("app.bsky.feed.repost#main", v);
8352
+ }
7927
8353
 
7928
8354
  // src/client/types/app/bsky/feed/trend.ts
7929
8355
  var trend_exports = {};
8356
+ __export(trend_exports, {
8357
+ isRecord: () => isRecord5,
8358
+ validateRecord: () => validateRecord5
8359
+ });
8360
+ function isRecord5(v) {
8361
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.feed.trend#main" || v.$type === "app.bsky.feed.trend");
8362
+ }
8363
+ function validateRecord5(v) {
8364
+ return lexicons.validate("app.bsky.feed.trend#main", v);
8365
+ }
7930
8366
 
7931
8367
  // src/client/types/app/bsky/feed/vote.ts
7932
8368
  var vote_exports = {};
8369
+ __export(vote_exports, {
8370
+ isRecord: () => isRecord6,
8371
+ validateRecord: () => validateRecord6
8372
+ });
8373
+ function isRecord6(v) {
8374
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.feed.vote#main" || v.$type === "app.bsky.feed.vote");
8375
+ }
8376
+ function validateRecord6(v) {
8377
+ return lexicons.validate("app.bsky.feed.vote#main", v);
8378
+ }
7933
8379
 
7934
8380
  // src/client/types/app/bsky/graph/assertCreator.ts
7935
8381
  var assertCreator_exports = {};
@@ -7947,12 +8393,42 @@ var MAIN2 = "app.bsky.graph.assertMember#main";
7947
8393
 
7948
8394
  // src/client/types/app/bsky/graph/assertion.ts
7949
8395
  var assertion_exports = {};
8396
+ __export(assertion_exports, {
8397
+ isRecord: () => isRecord7,
8398
+ validateRecord: () => validateRecord7
8399
+ });
8400
+ function isRecord7(v) {
8401
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.graph.assertion#main" || v.$type === "app.bsky.graph.assertion");
8402
+ }
8403
+ function validateRecord7(v) {
8404
+ return lexicons.validate("app.bsky.graph.assertion#main", v);
8405
+ }
7950
8406
 
7951
8407
  // src/client/types/app/bsky/graph/confirmation.ts
7952
8408
  var confirmation_exports = {};
8409
+ __export(confirmation_exports, {
8410
+ isRecord: () => isRecord8,
8411
+ validateRecord: () => validateRecord8
8412
+ });
8413
+ function isRecord8(v) {
8414
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.graph.confirmation#main" || v.$type === "app.bsky.graph.confirmation");
8415
+ }
8416
+ function validateRecord8(v) {
8417
+ return lexicons.validate("app.bsky.graph.confirmation#main", v);
8418
+ }
7953
8419
 
7954
8420
  // src/client/types/app/bsky/graph/follow.ts
7955
8421
  var follow_exports = {};
8422
+ __export(follow_exports, {
8423
+ isRecord: () => isRecord9,
8424
+ validateRecord: () => validateRecord9
8425
+ });
8426
+ function isRecord9(v) {
8427
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.graph.follow#main" || v.$type === "app.bsky.graph.follow");
8428
+ }
8429
+ function validateRecord9(v) {
8430
+ return lexicons.validate("app.bsky.graph.follow#main", v);
8431
+ }
7956
8432
 
7957
8433
  // src/client/types/app/bsky/system/actorScene.ts
7958
8434
  var actorScene_exports = {};
@@ -7970,9 +8446,29 @@ var MAIN4 = "app.bsky.system.actorUser#main";
7970
8446
 
7971
8447
  // src/client/types/app/bsky/system/declRef.ts
7972
8448
  var declRef_exports = {};
8449
+ __export(declRef_exports, {
8450
+ isMain: () => isMain6,
8451
+ validateMain: () => validateMain6
8452
+ });
8453
+ function isMain6(v) {
8454
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.system.declRef#main" || v.$type === "app.bsky.system.declRef");
8455
+ }
8456
+ function validateMain6(v) {
8457
+ return lexicons.validate("app.bsky.system.declRef#main", v);
8458
+ }
7973
8459
 
7974
8460
  // src/client/types/app/bsky/system/declaration.ts
7975
8461
  var declaration_exports = {};
8462
+ __export(declaration_exports, {
8463
+ isRecord: () => isRecord10,
8464
+ validateRecord: () => validateRecord10
8465
+ });
8466
+ function isRecord10(v) {
8467
+ return isObj2(v) && hasProp2(v, "$type") && (v.$type === "app.bsky.system.declaration#main" || v.$type === "app.bsky.system.declaration");
8468
+ }
8469
+ function validateRecord10(v) {
8470
+ return lexicons.validate("app.bsky.system.declaration#main", v);
8471
+ }
7976
8472
 
7977
8473
  // src/client/index.ts
7978
8474
  var APP_BSKY_GRAPH = {